Internal
Исполнитель:
Тестирование выполнено Кравцовым Николаем, начинающим специалистом по информационной безопасности в 19:46 *(комната мне понравилась, но показалась явно не на хард)*
Область тестирования и использованные службы.
| IP/домен | Порт | Сервис | Сервис целевого сервера |
|---|---|---|---|
| localhost | 5901 | WinKexServer | - |
| localhost | - | Nmap Port Scanner | - |
| localhost | - | Gobuster Directory Scanner | - |
| localhost | - | Obsidian Notes | - |
| localhost | 1234 | Reverse Shell listener | - |
| 10.10.47.117 | 8080 | Apache2 Web Server | + |
| 10.10.47.117 | 8000 | Jenkins Internal Web Server | + |
Использованные файлы:
- user.txt - флаг.
- root.txt - флаг.
- linpeas - скрипт для повышения привилегий на линукс.
- php reverse shell - реверс шелл от pentest monkey.
- CVE-2024-23897.py - LFI для Jenkins.
Порядок действий
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 6e:fa:ef:be:f6:5f:98:b9:59:7b:f7:8e:b9:c5:62:1e (RSA)
| 256 ed:64:ed:33:e5:c9:30:58:ba:23:04:0d:14:eb:30:e9 (ECDSA)
|_ 256 b0:7f:7f:7b:52:62:62:2a:60:d4:3d:36:fa:89:ee:ff (ED25519)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
|_http-title: Apache2 Ubuntu Default Page: It works
|_http-server-header: Apache/2.4.29 (Ubuntu)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
3) Запуск Gobuster для поиска директорий.
- Результаты:
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url: http://internal.thm/
[+] 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
===============================================================
/blog (Status: 301) [Size: 311] [--> http://internal.thm/blog/]
/wordpress (Status: 301) [Size: 316] [--> http://internal.thm/wordpress/]
/javascript (Status: 301) [Size: 317] [--> http://internal.thm/javascript/]
/phpmyadmin (Status: 301) [Size: 317] [--> http://internal.thm/phpmyadmin/]
Progress: 57547 / 220561 (26.09%)^C
[!] Keyboard interrupt detected, terminating.
Progress: 57603 / 220561 (26.12%)
===============================================================
Finished
===============================================================
4) И так, gobuster нашел две интересные директории. С помощью /wordpress я использовал wpscan, и вот что он мне выдал:
Результат:
(с помощью нее мы будем получать reverse shell)
(с помощью этих данных мы войдем в админку)5) Заходим и получаем reverse shell:
Результат:

6) Дальше я использовал linpeas, долго копался в директориях, но в итоге нашел в директории /opt интересную фигню:
Результат:

7) Заходим по нужным данным по ssh, читаем флаг и видим еще один интересный файл:
Результат:

8) Он говорит нам про какой-то сайт внутри сети. Так что мы настраиваем туннель и смотрим на него:
Результат:

9) Ну я погуглил что можно сделать и нашел CVE-2024-23897, однако мне не помогло. Поэтому надо было просто тупо брутфорсить пароль. Т. к. у меня это заняло чуть ли не час и главное пароль не нашелся, я посмотрел его в райтапе (сорян). Заходим:
[!Tip] Если вам интересно, то вот такая команда будет правильнее всего:
hydra -l admin -P /usr/share/seclists/Passwords/xato-1mil-10000.txt -f -e ntp -v -s 8000 -t 4 -w 16 -b /path/to/payload.ffuf
Ну или что-то похожее :)
Результат:

10) Затем мы получаем reverse shell с джавой (извините, мои навыки джавы оставляют желать лучшего):
Результат:
перед этим обязательно ставим netcat listener (в моем случае на порт 1234)11) Получая reverse shell мы по аналогии смотрим директорию /opt и о чудо:
Результат:

12) Заходим на окно с пользователем ssh aubreanna и меняем его на root. Потом читаем флаг:
Результат:

Примечание:
Прикольная комната, но я бы ее не оценивал на хард.
Спасибо TryHackMe за комнату!
Найденные уязвимости
Brute Force
PoC:
(пункт 4)
и (пункт 9)
CVSSv3 Score: 8.8 (HIGH)
Описание:
В данном случае данная атака связана с простыми паролями.
Воспроизведение уязвимости:
wpscan --url http://internal.thm/wordpress -U admin -P rockyou.txt
Рекомендации по устранению:
Обновите пароли на более сложные.
Видео выполнения
Оригинал:
- YouTube