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.ovpn2) Сканирование портов с помощью 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 можно получить доступ к базе данных без каких-то особых знаний.
Воспроизведение уязвимости:

Рекомендации по устранению:
Посмотрите на сайте owasp как это происходит и как это можно предотвратить.
Видео выполнения