Hack The Box. Прохождение Shoppy. NoSQL инъекция и уязвимость в docker
the Matrix
Исследование nmap -sV -sC показало:
port 22: OpenSSH
port 80: ngingx 1.23.1: redirects to http://shoppy.htb

Пропишем ip адрес машинки и shoppy.htb, для отображения, в /etc/hosts.
Vhost через gobuster:
Пока сканируем nmap, используем gobuster, чтоб найти потенциальные субдомены и расширить возможности проникновения.
gobuster vhost -w /home/hell59/SecLists/Discovery/DNS/bitquark-domains-top100000.txt -t 50 -u shoppy.htb
Вручную исследуем веб приложение:
Исследуем вручную исходный код приложения.

Не находим ничего, кроме таймера.
Поиск файлов и директорий:Давайте поищем директории и файлы, может найдём что-то интересное.
wfuzz -c -z file,/hell59/SecLists/Discovery/Web-Content/raft-large-directories.txt --hc 404 "http://shoppy.htb/FUZZ/"Видим, что есть /admin префикс, через который попадаем на /login:

Посмотрев на авторизацию понимаем, что тут MongoDB NoSQL база данных.

Можем войти используя следующую логику NoSQL инъекции:
login: admin'||'1==1password: adminПолучилось!
Про NoSQL инъекции можно почитать тут: https://book.hacktricks.xyz/pentesting-web/nosql-injection .

Введём admin'||'1==1 и получим список пользователей и хэш.

Используем hashcat, чтоб взломать полученный md5 hash:
Используем hashcat, со словарём rockyou.txt и посмотрим на результаты:

Логинимся в субдомен.
Теперь заходим в субдомен mattermost, предварительно добавив его в /etc/hosts ,
http://www.mattermost.shoppy.htb с добытым паролем.

Тут история чата пользователя, и мы обнаружим важную информацию о machine deploy:

Получаем юзер флаг:
С полученными данными логинимся через SSH, находим user.txt flag, делаем cat user.txt.

Sudo -l

Если покопаться в окрестностях и обратить внимание на все файлы в password-manager, то можно выудить и подставить пароль Sample.
Таким образом получаем данные username и password:

Логинимся через SSH как deploy пользователь.
Получаем root flag:
Используем docker уязвимость описанную тут: https://gtfobins.github.io/gtfobins/docker/ .
docker run -v /:/mnt --rm -it alpine chroot /mnt sh
Ура, мы получили root!
Источник
Наши проекты:
- Кибер новости: the Matrix
- Хакинг: /me Hacker
- Кодинг: Minor Code
👁 Пробить человека? Легко через нашего бота: Мистер Пробиватор