Boiler CTF


Исполнитель: Тестирование выполнено Кравцовым Николаем, начинающим специалистом по информационной безопасности в 21:33 *(хорошая комната, но для меня годится как для разминки. однако новичкам я бы посоветовал)*

Область тестирования и использованные службы.

IP/домен Порт Сервис Сервис целевого сервера
localhost 5901 WinKexServer -
localhost - Nmap Port Scanner -
localhost - DirBuster Directory Scanner -
localhost - Obsidian Notes -
localhost - hashcat hash cracker -
10.10.77.106 80 httpd Web Server +
10.10.77.106 21 FTPd +
10.10.77.106 55007 SSH +

Использованные файлы:

  • log.txt - файл с данными пользователя для подключения ssh.
  • backup.sh - файл с данными другого пользователя.
  • .secret - флаг.
  • root.txt - флаг.

    Порядок действий

1) Запуск openvpn для доступа; kex для того, чтобы сделать linux удобнее

  • kex --win && sudo openvpn lab_Kolya080808.ovpn

    2) Сканирование портов с помощью nmap.

  • Результаты:

PORT      STATE SERVICE VERSION
21/tcp    open  ftp     vsftpd 3.0.3
| ftp-syst:
|   STAT:
| FTP server status:
|      Connected to ::ffff:10.9.3.5
|      Logged in as ftp
|      TYPE: ASCII
|      No session bandwidth limit
|      Session timeout in seconds is 300
|      Control connection is plain text
|      Data connections will be plain text
|      At session startup, client count was 3
|      vsFTPd 3.0.3 - secure, fast, stable
|_End of status
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
80/tcp    open  http    Apache httpd 2.4.18 ((Ubuntu))
|_http-title: Apache2 Ubuntu Default Page: It works
| http-robots.txt: 1 disallowed entry
|_/
|_http-server-header: Apache/2.4.18 (Ubuntu)
10000/tcp open  http    MiniServ 1.930 (Webmin httpd)
|_http-title: Site doesn't have a title (text/html; Charset=iso-8859-1).
Service Info: OS: Unix

3) Запуск Gobuster для поиска директорий.

  • Результаты:
┌──(kolya080808㉿Nikolapc)-[~]
└─$ gobuster dir -w directory-list-2.3-medium.txt -u http://10.10.77.106/joomla/ -b 404
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url:                     http://10.10.77.106/joomla/
[+] 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
===============================================================
/images               (Status: 301) [Size: 320] [--> http://10.10.77.106/joomla/images/]
/templates            (Status: 301) [Size: 323] [--> http://10.10.77.106/joomla/templates/]
/media                (Status: 301) [Size: 319] [--> http://10.10.77.106/joomla/media/]
/modules              (Status: 301) [Size: 321] [--> http://10.10.77.106/joomla/modules/]
/tests                (Status: 301) [Size: 319] [--> http://10.10.77.106/joomla/tests/]
/bin                  (Status: 301) [Size: 317] [--> http://10.10.77.106/joomla/bin/]
/plugins              (Status: 301) [Size: 321] [--> http://10.10.77.106/joomla/plugins/]
/includes             (Status: 301) [Size: 322] [--> http://10.10.77.106/joomla/includes/]
/language             (Status: 301) [Size: 322] [--> http://10.10.77.106/joomla/language/]
/components           (Status: 301) [Size: 324] [--> http://10.10.77.106/joomla/components/]
/cache                (Status: 301) [Size: 319] [--> http://10.10.77.106/joomla/cache/]
/libraries            (Status: 301) [Size: 323] [--> http://10.10.77.106/joomla/libraries/]
/installation         (Status: 301) [Size: 326] [--> http://10.10.77.106/joomla/installation/]
/build                (Status: 301) [Size: 319] [--> http://10.10.77.106/joomla/build/]
/tmp                  (Status: 301) [Size: 317] [--> http://10.10.77.106/joomla/tmp/]
/layouts              (Status: 301) [Size: 321] [--> http://10.10.77.106/joomla/layouts/]
/administrator        (Status: 301) [Size: 327] [--> http://10.10.77.106/joomla/administrator/]
/cli                  (Status: 301) [Size: 317] [--> http://10.10.77.106/joomla/cli/]
/_files               (Status: 301) [Size: 320] [--> http://10.10.77.106/joomla/_files/]
Progress: 220560 / 220561 (100.00%)
===============================================================
Finished
===============================================================         

4) Сначала я просто отгадал один из ответов.

  • Результат:

    5) Затем мы заходим в ftp и обнаруживаем вот это:

  • Результат:

    6) Я его загрузил и ничего интересного не нашел, нас просто потроллили:

  • Результат:

7) Потом я посмотрел на сайт (а точнее на директорию /joomla):

  • Результат:

8) Так как gobuster ничего интересного нам не нашел, я попробовал по аналогии с /_files зайти на /_test и там я нашел RCE:

  • Результат:

    9) Найдя пароль, я попытался зайти по указанному порты по ssh, но тщетно:

  • Результат:

    10) Поэтому я попытался в других местах ввести данные, но в итоге я попал в тупик:

  • Результат:

11) Поэтому я еще раз провел сканирование портов с 49824 порта по 57000 и нашел то что нужно:

  • Результат:
PORT      STATE SERVICE VERSION
55007/tcp open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.8 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
|   2048 e3:ab:e1:39:2d:95:eb:13:55:16:d6:ce:8d:f9:11:e5 (RSA)
|   256 ae:de:f2:bb:b7:8a:00:70:20:74:56:76:25:c0:df:38 (ECDSA)
|_  256 25:25:83:f2:a7:75:8a:a0:46:b2:12:70:04:68:5c:cb (ED25519)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
  • И снова результат:

    12) Получив доступ к SSH, я посмотрел на файлы и нашел интересный, содержащий имя пользователя и пароль другого юзера в системе:

  • Результат:

    13) Ну мы меняем пользователя и читаем .secret:

  • Результат:

    14) Смотрим как мы можем повысить привеллегии:

  • Результат:

    15) Повышаем привеллегии с помощью findи читаем root.txt:

  • Результат:

Примечание: Хорошая комната, можно сказать даже для разогрева. Советую пройти ее новичкам! Спасибо TryHackMe за комнату!

Найденные уязвимости

Information Disclosure

PoC:

(пункт 8)

CVSSv3 Score: 7.9 (Critical)

Описание:

В данном случае information disclosure связана с неправильно настроенными правами к странице с RCE.

Воспроизведение уязвимости:

Соответствует PoC.

Рекомендации по устранению:

  • Ограничьте доступ к данной странице.
  • Создайте систему пользователей и сделайте так, чтобы только администраторы получали к этой странице доступ.
  • Исправьте RCE.

    Remote code execution

PoC:

(пункт 8)

CVSSv3 Score: 10.0 (Critical)

Описание:

RCE представляет собой неправильно написанный код страницы, который в свою очередь при определенных действиях дает доступ к shell при помощи браузера.

Воспроизведение уязвимости:

Соответствует PoC.

Рекомендации по устранению:

  • Посмотрите на данном сайте как его можно исправить.
  • Так же стоит глянуть сайт OWASP для его исправления.

    Видео выполнения

  • Оригинал:

  • YouTube

Загрузки

Download files archive