CTF Collection Vol. 2


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

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

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

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

  • sqlmap.py- тулза для быстрого анализа SQL баз данных с помощью sql injection.

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

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

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

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

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

22/tcp open  ssh     OpenSSH 5.9p1 Debian 5ubuntu1.10 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
|   1024 1b:c2:b6:2d:fb:32:cc:11:68:61:ab:31:5b:45:5c:f4 (DSA)
|   2048 8d:88:65:9d:31:ff:b4:62:f9:28:f2:7d:42:07:89:58 (RSA)
|_  256 40:2e:b0:ed:2a:5a:9d:83:6a:6e:59:31:db:09:4c:cb (ECDSA)
80/tcp open  http    Apache httpd 2.2.22 ((Ubuntu))
| http-robots.txt: 1 disallowed entry
|_/VlNCcElFSWdTQ0JKSUVZZ1dTQm5JR1VnYVNCQ0lGUWdTU0JFSUVrZ1p5QldJR2tnUWlCNklFa2dSaUJuSUdjZ1RTQjVJRUlnVHlCSklFY2dkeUJuSUZjZ1V5QkJJSG9nU1NCRklHOGdaeUJpSUVNZ1FpQnJJRWtnUlNCWklHY2dUeUJUSUVJZ2NDQkpJRVlnYXlCbklGY2dReUJDSUU4Z1NTQkhJSGNnUFElM0QlM0Q=
|_http-server-header: Apache/2.2.22 (Ubuntu)
|_http-title: 360 No Scope!
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

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

  • Результаты:
┌──(kolya080808㉿Nikolapc)-[~]
└─$ dirsearch -w directory-list-2.3-medium.txt -u http://10.10.131.134
/usr/lib/python3/dist-packages/dirsearch/dirsearch.py:23: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  from pkg_resources import DistributionNotFound, VersionConflict

  _|. _ _  _  _  _ _|_    v0.4.3
 (_||| _) (/_(_|| (_| )

Extensions: php, aspx, jsp, html, js | HTTP method: GET | Threads: 25 | Wordlist size: 220545

Output File: /home/kolya080808/reports/http_10.10.131.134/_24-12-04_21-18-41.txt

Target: http://10.10.131.134/

[21:18:41] Starting:
[21:18:43] 301 -  245B  - /login  ->  http://10.10.131.134/login/
[21:18:47] 200 -   38KB - /button
[21:18:48] 200 -   61KB - /cat
[21:18:48] 200 -  689B  - /small
[21:18:49] 200 -  248KB - /static
[21:18:52] 200 -  341B  - /robots
[21:19:03] 200 -    4MB - /who
[21:19:16] 200 -   19KB - /iphone
[21:19:53] 301 -  244B  - /game1  ->  http://10.10.131.134/game1/
[21:19:56] 200 -   25KB - /egg
[21:20:29] 200 -    1MB - /dinner
[21:21:03] 200 -  194KB - /ty
CTRL+C detected: Pausing threads, please wait...
[q]uit / [c]ontinue: q
[s]ave / [q]uit without saving: q

Canceled by the user                                      

4) Во-первых, из nmap, мы сразу нашли подсказку.

  • Результат: однако сейчас нам это не надо.

    5) Далее я начал анализировать страницы, и из сразу из robots.txt мы нашли флаг:

  • Результат:

    6) И сейчас нам понадобится та подсказка:

  • Действия: F12

  • Результат:

7) Потом смотрим на страницу /login:

  • Результат:

8) ДИСКЛЕЙМЕР

Tip: Здесь очень много флагов, поэтому я не буду объявлять о них, просто писать walkthrough дальше.

9) Теперь самое интересное и длительное. Time Based Sql.

  • Действия:
  • Результат: мы получили флаг и имя пользователя с паролем.

    10) Ломаем хэш:

  • Результат:

    11) Получаем флаг:

  • Результат:

    12) Теперь нас просят посмотреть в Header:

  • Результат:

    13) Теперь куки. Это самое интересное, работа с burp:

  • Результат: Изначально куки был равен 0. Мы меняем на 1:

    14) Теперь нам в подсказке сказали какую-то фигню. Но мы знаем, что это user-agent! Смотрим:

  • Действия: Меняем выделенное на то что в подсказке:

  • Результат:

    15) Теперь нам говорят о редиректе. Я посмотрел все возможные страницы, и нашел такую:

  • Результат:

    16) На следующей же странице после редиректа мы получаем флаг для Easter 13:

  • Результат:

    17) Теперь я нашел страницу /free_sub. Из подсказки мы узнаем, что надо использовать Referer: tryhackme.com:

  • Результат:

    18) Теперь нам говорят temper the html. Смотрим:

  • Результат:

    19) Теперь нам говорят fake js file. Смотрим даваскрипт файлы сайта:

  • Результат: Запускаем функцию:

    20) Теперь нам говорят embed image code. Ну мы просто его получаем и в CyberChef декодируем:

  • Результат:

    21) Так, потом что-то непонятное: "Try guest the alphabet and the hash code". Заходим на /game1 и пытаемся подобрать:

  • Результат:

    22) Потом логичным решением будет проверить, есть ли /game2:

  • Результат: Нажимаем кнопки одновременно:

    23) В этом случае надо просто тупо декодировать:

  • Результат:

    24) Так, а сейчас надо разобраться что значит "Request header. Format is egg:Yes":

  • 25) Сейчас надо перейти на страницу /small:

  • Результат:

    26) Ну и последнее, нам подсказывают напоследок, что надо сделать:

  • Результат:

Примечание: Эта комната прикольная, для развлечения прям кайф, искать пасхалки. В общем, советую ее пройти новичкам! На самом деле вынюхивать всю возможную информацию на сайте - тоже исскуство!

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

SQL Injection

PoC:

(пункт 9)

CVSSv3 Score: 7.9 (Critical)

Описание:

В данном случае sql injection связана со входом. На странице /login можно получить доступ к базе данных без каких-то особых знаний.

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

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


Загрузки

Download files archive