dogcat


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

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

IP/домен Порт Сервис Сервис целевого сервера
localhost 5901 WinKexServer -
localhost - Nmap Port Scanner -
localhost - Gobuster Directory Scanner -
localhost - Obsidian Notes -
localhost 1234 netcat listener -
localhost 7777 netcat listener 2 -
10.10.77.106 80 httpd Web Server +

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

  • flag.php - первый флаг
  • flag2_QMW7JvaY2LvK.txt - второй флаг
  • flag3.txt - третий флаг
  • flag4.txt - 4 флаг
  • backup.sh - файл, использованный для выхода из контейнера
  • /usr/bin/env - файл, использованный для повышения привеллегий.

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

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 24:31:19:2a:b1:97:1a:04:4e:2c:36:ac:84:0a:75:87 (RSA)
|   256 21:3d:46:18:93:aa:f9:e7:c9:b5:4c:0f:16:0b:71:e1 (ECDSA)
|_  256 c1:fb:7d:73:2b:57:4a:8b:dc:d7:6f:49:bb:3b:d0:20 (ED25519)
80/tcp open  http    Apache httpd 2.4.38 ((Debian))
|_http-title: dogcat
|_http-server-header: Apache/2.4.38 (Debian)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

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

  • Результаты:
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url:                     http://10.10.19.55/
[+] 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
===============================================================
/cats                 (Status: 301) [Size: 309] [--> http://10.10.19.55/cats/]
/dogs                 (Status: 301) [Size: 309] [--> http://10.10.19.55/dogs/]
Progress: 29715 / 220561 (13.47%)^C
[!] Keyboard interrupt detected, terminating.
Progress: 29725 / 220561 (13.48%)
===============================================================
Finished
===============================================================   

4) На сайте я нашел чтение файлов (это было сложно, с php я не дружу :( )

  • Результат:

    5) Попробовав получить reverse shell:

  • Результат:

  • Вывод: Надо сделать что то другое, или то же самое, но немного по-другому.

    6) Я попробовал сделать это через burp, при этом поменяв user agent на определенный php-код:

  • Результат:

    7) Далее я прочитал flag.php:

  • Результат:

8) Я попробовал посмотреть, что есть в /home, однако ничего нет. Поэтому я повысил привеллегии с помощью env:

  • Результат:

    9) Затем я поискал в ближайших директориях и директориях где обычно находится флаг, и не прогадал:

  • Результат:

    10) Дальше я начал втупую искать упоминание флага, и опять не прогадал:

  • Результат:

11) Здесь надо попотеть. Скорее всего мы в контейнере, так как посмотрев в директорию, я увидел вот это:

  • Результат:

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

  • Результат:

    13) Тогда мы пытаемся как-то выйти из контейнера, получая еще один reverse shell с помощью того самого backup.sh:

  • Результат:

    14) Ну и читаем последний флаг:

  • Результат:

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

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

LFI и RCE

PoC:

(пункт 4) (пункт 6)

CVSSv3 Score: 7.9 (Critical)

Описание:

В данном случае RCE и LFI связаны с неправильной настройкой запросов в index.php.

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

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

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

  • Измените код страницы index.php на сайте.
  • OWASP.

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

  • Оригинал:

  • YouTube

Загрузки

Download files archive