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 .можно получить содержимое всех файлов в текущей директории. Их удобно просматривать через просмотр кода страницы.