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

Pickle Rick


Основная задача - обход фильтров ограничивающих ввод определенных команд в консоли.
Описание задания можно найти на TryHackme

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

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

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

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

Изучаем главную страницу web приложения, находим в комментариях username Проводим разведку с 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``

Находим robots.txt с нествойственным содержимым - которое является паролем для ранее найденной учетки.
Находим login.php.

Изучение приложения

Логинимся используя найденные логин/пароль.

Исследуем portal.php - в одной из вкладок находим возможность запускать команды, однако понимаем, что часть из них блокируется (cat, head, more, tail, nano, vim, vi). С помощью sudo -l понимаем, что через sudo можем запускать все.

Находим первый ключ в текущей директории.
В директории /root находим очередной ингредиент.
В директри /home/rick находим последний ингредиент.

Прочие заметки:

  • Через find / -name "*.txt" 2> /dev/null теоретически можно найти остальные флаги.
  • Можно было поднять reverse shell для более удобной работы с машиной.
  • Используя nikto можно было-бы найти login.php без использования перебора каталогов
  • Через grep -R . можно получить содержимое всех файлов в текущей директории. Их удобно просматривать через просмотр кода страницы.