dogcat
Исполнитель:
Тестирование выполнено Кравцовым Николаем, начинающим специалистом по информационной безопасности в 19:19 *(хорошая комната, прямо на пошевелить серым веществом)*
Область тестирования и использованные службы.
| IP/домен | Порт | Сервис | Сервис целевого сервера |
|---|---|---|---|
| localhost | 5901 | WinKexServer | - |
| localhost | - | Nmap Port Scanner | - |
| localhost | - | Gobuster Directory Scanner | - |
| localhost | - | Obsidian Notes | - |
| localhost | 1234 | netcat listener | - |
| localhost | 7777 | netcat listener 2 | - |
| 10.10.77.106 | 80 | httpd Web Server | + |
Использованные файлы:
- flag.php - первый флаг
- flag2_QMW7JvaY2LvK.txt - второй флаг
- flag3.txt - третий флаг
- flag4.txt - 4 флаг
- backup.sh - файл, использованный для выхода из контейнера
- /usr/bin/env - файл, использованный для повышения привеллегий.
Порядок действий
1) Запуск openvpn для доступа; kex для того, чтобы сделать linux удобнее
kex --win && sudo openvpn Kolya080808.ovpn2) Сканирование портов с помощью nmap.
Результаты:
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 24:31:19:2a:b1:97:1a:04:4e:2c:36:ac:84:0a:75:87 (RSA)
| 256 21:3d:46:18:93:aa:f9:e7:c9:b5:4c:0f:16:0b:71:e1 (ECDSA)
|_ 256 c1:fb:7d:73:2b:57:4a:8b:dc:d7:6f:49:bb:3b:d0:20 (ED25519)
80/tcp open http Apache httpd 2.4.38 ((Debian))
|_http-title: dogcat
|_http-server-header: Apache/2.4.38 (Debian)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
3) Запуск Gobuster для поиска директорий.
- Результаты:
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url: http://10.10.19.55/
[+] Method: GET
[+] Threads: 10
[+] Wordlist: directory-list-2.3-medium.txt
[+] Negative Status codes: 404
[+] User Agent: gobuster/3.6
[+] Timeout: 10s
===============================================================
Starting gobuster in directory enumeration mode
===============================================================
/cats (Status: 301) [Size: 309] [--> http://10.10.19.55/cats/]
/dogs (Status: 301) [Size: 309] [--> http://10.10.19.55/dogs/]
Progress: 29715 / 220561 (13.47%)^C
[!] Keyboard interrupt detected, terminating.
Progress: 29725 / 220561 (13.48%)
===============================================================
Finished
===============================================================
4) На сайте я нашел чтение файлов (это было сложно, с php я не дружу :( )
Результат:

5) Попробовав получить reverse shell:
Результат:

Вывод: Надо сделать что то другое, или то же самое, но немного по-другому.
6) Я попробовал сделать это через burp, при этом поменяв user agent на определенный php-код:
Результат:

7) Далее я прочитал flag.php:
Результат:

8) Я попробовал посмотреть, что есть в /home, однако ничего нет. Поэтому я повысил привеллегии с помощью env:
Результат:

9) Затем я поискал в ближайших директориях и директориях где обычно находится флаг, и не прогадал:
Результат:

10) Дальше я начал втупую искать упоминание флага, и опять не прогадал:
Результат:

11) Здесь надо попотеть. Скорее всего мы в контейнере, так как посмотрев в директорию, я увидел вот это:
Результат:

12) Так же у меня есть вот такой файл в наличии, что может значить, что через определенный промежуток времени будет создан еще один бекап:
Результат:

13) Тогда мы пытаемся как-то выйти из контейнера, получая еще один reverse shell с помощью того самого backup.sh:
Результат:

14) Ну и читаем последний флаг:
Результат:

Примечание:
Афигенская комната, сделана отлично, надо очень много думать. Довольно простая, но все же стоит пройти!
Советую пройти ее! Спасибо TryHackMe за комнату!
Найденные уязвимости
LFI и RCE
PoC:
(пункт 4)
(пункт 6)
CVSSv3 Score: 7.9 (Critical)
Описание:
В данном случае RCE и LFI связаны с неправильной настройкой запросов в index.php.
Воспроизведение уязвимости:
Соответствует PoC.