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.ovpn

    2) Сканирование портов с помощью 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

Загрузки

Download files archive