Lazy Admin
Основная задача - Поиск и анализ различных файлов на наличие полезной информации.
Эскалация привилегий в Linux.
Описание задания можно найти на TryHackme
Сканирование
Проведение разведки с nmap на предмет наличия открытых портов:
sudo nmap -T4 -p- IP-ADDRESS
#После получения сведений о портах
sudo nmap -sV -sC -O -p 22,80 IP-ADDRESS
Обнаружены открытые порты 22, 80. Получены версии, наименование ПО работающего на открытых портах.
На 80 порту, находим лишь стандартную страницу Apache.
Проводим разведку с 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``
Находим директорию
/content/
. Которая является служебной страницей CMS Sweet Rice.
Изучив страницу выясняем версию. С этими сведениями идём на exploit-db.com для поиска возможных уязвимостей и эксплойтов к ним.
Практически все имеющиеся эксплойты требуют авторизации, а таких сведений пока нет.
Однако, получена информация о том, что в директории /inc/
обычно находится файл с бэкапом mysql.
Еща раз проходимся gobuster но уже по директории /content/
, находим кучу служебных директорий, в числе которых упомянутая /inc/
. Качаем оттуда mysql_backup.sql
файл.
Изучив его, находим информацию похожую на имя пользователя и хэш его пароля. Прогоняем его через hashes.com или через John the ripper предварительно определив тип хэша в hash-id, получаем логин/пароль к CMS.
RCE
Имея логин/пароль, можно воспользоватся одним из ранее найденных эксплойтов. Воспользуемся тем, который загружает произвольные файлы.
Скачиваем его, понимаем как работает, запускаем, получаем shell
Получаем user flag.
Эскалация привилегий.
-
Через
sudo -l
узнаем, что можем запустить скрипт на Perl который, судя по названию, делает бэкап. Однако выясняется, что Lazy Admin в этом файле оставил mkfifo reverse shell, осталось только указать свой адрес:порт и запустить Perl скрипт. -
Получаем root shell. Забираем root флаг в
/root/root.txt