Skynet
Основная задача - поиск скрытых директорий сайта (enumeration). RFI. Эскалация привилегий в Linux.
Описание задания можно найти на TryHackme
Сканирование
Проведение разведки с nmap на предмет наличия открытых портов:
sudo nmap -T4 -p- IP-ADDRESS
#После получения сведений о портах
sudo nmap -sV -sC -O -p 22,80 IP-ADDRESS
Обнаружены открытые порты 22, 80, 110, 139, 143, 445.
Получены версии, наименование ПО работающего на открытых портах
Обращаем внимание на 139/445 порты - на хосте развернут smb, его нужно изучить подробнее:
Находим анонимную шару, пользователя
SKYNET\milesdyson
, шару указанного пользователя (\\IP-ADDRESS\milesdyson
) доступ к которой ограничен.
В анонимной шаре (smbclient //IP-ADDRESS/Anonymous -N
) находим несколько файлов с логами в одном из которых имеется список различных слов похожих на пароли.
Пробуем подключится через ssh пользователем milesdyson
пробуя пароли из списка:
Используется только 8 потоков, потому как если использовать больше, процесс начинает тупить из-за имеющего ограничения количества подключаемых хостов в ssh_config.
Подключится не удалось. Продолжаем разведку и сбор информации для нахождения других векторов атаки.
Изучаем главную страницу web приложения, не находим ничего интересного.
Проводим разведку с gobuster или feroxbuster для получения информации о имеющихся директориях и файлов php
,txt
,js
,cgi
,html
,htm
,sh
:
feroxbuster -u IP-ADDRESS -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -t 64 -x php,txt,js,cgi,html,htm,sh``
gobuster dir -t 64-u IP-ADDRESS -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -x php,txt,js,cgi,html,htm,sh``
Находим директорию
/squirrelmail
. Учитывая, что на машине имелись открытые порты 110 и 139, очевидно, что это почтовый web client. Переходим в него для изучения и работы с ним.
Пробуем авторизироваться через milesdyson
используя пароли из списка.
Это можно было сделать Гидрой, но так как паролей не много - перебрал вручную.
Получив доступ к почте, находим письмо в котором содержится пароль к шаре /milesdyson
. Заходим туда, для поиска полезной информации:
Получаем информацию о том, что имеется скрытая директория, название которой состоит из мешанины символов, поэтому её нельзя было найти через gobuster
. Переходим в этот раздел, изучаем source code и не находим ничего интересного.
Отступление
На этом этапе "пошел не туда". Обратив внимание на версию squirrel mail решил поискать для нее имеющиеся эксплойты на exploit-db.com. Найдя такие, долго разбирался с ними и пытался эксплуатировать. В итоге идея не увенчалась успехом.
RCE
Вернувшись к скрытой директории решил прогнать её через gobuster и нашел административную панель Cuppa CMS. Вернувшись на exploit-db.com, нашел для неё уязвимость типа RFI которую успешно эксплуатировал следующим образом:
- Получил пример использования с exploit-db:
-
Подготовил PHP reverse shell. Использовал от PentestMonkey сгенерированный на revshels.com
Не забывай
Не забывай поменять IP и порт. При замене не забывай про кавычки и прочие служебные символы
-
Через python http.server раздаем подготовленный PHP reverse shell:
запускаем listener: и эксплуатируем RFI уязвимость заставляя web сервер выполнять инструкции нашего скрипта:
Получаем shell, стабилизируем, находим user флаг.
Эскалация привилегий
Выясняем, что имеется уязвимая задача в /etc/crontab
которая запускает tar архив с маской по всем файлам. Эксплуатируем эту уязвимость, получаем root shell, находим root флаг.