• Сб. Янв 28th, 2023

HTB UpDown. Мы используем состояние гонки при атаке на веб-сервер

HTB UpDown.  Мы используем состояние гонки при атаке на веб-сервер

В этой заметке я подробно покажу, как искать скрытые данные на сайте, а мы углубимся в их источники и получим RCE при использовании Race Condition. Чтобы полностью захватить хост, мы используем ошибку в программе Python и применяем одну из техник GTFOBins.

Наша цель — захватить тренажер UpDown с этого сайта. Взломать коробку. Уровень сложности отмечен как средний.

Предупреждение

К машинам с HTB рекомендуется подключаться только через VPN. Не делайте этого с компьютеров, где есть важные для вас данные, потому что вы окажетесь в общей сети с другими участниками.

разведка

Сканирование портов

Добавьте IP-адрес машины /etc/hosts:

И запус­каем ска­ниро­вание пор­тов.

Справка: сканирование портов

Ска­ниро­вание пор­тов — стан­дар­тный пер­вый шаг при любой ата­ке. Он поз­воля­ет ата­кующе­му узнать, какие служ­бы на хос­те при­нима­ют соеди­нение. На осно­ве этой информа­ции выбира­ется сле­дующий шаг к получе­нию точ­ки вхо­да.

На­ибо­лее извес­тный инс­тру­мент для ска­ниро­вания — это Nmap. Улуч­шить резуль­таты его работы ты можешь при помощи сле­дующе­го скрип­та:

#!/bin/bash

ports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)

nmap -p$ports -A $1

Он работает в два этапа. Первый выполняет обычное быстрое сканирование, второй — более тщательное сканирование с использованием доступных скриптов (опция -A).

Результат скрипта

Мы нашли два открытых порта: 22 — сервис OpenSSH 8.2p1 и 80 — веб-сервер Apache 2.4.41. На веб-сервере нас встречает чекер сайта.

Главная страница сайта updown.htb
Главная страница сайта updown.htb

Главная страница раскрывает нам фактическое поле - siteisup.htb. Поэтому добавляем запись в файл /etc/hosts:

10.10.11.177 updown.htb siteisup.htb

Затем я попытался отправить запрос на свой простой HTTP-сервер, который можно запустить с помощью команды python3 -m http.server 80. В итоге я получил ответ с HTML-страницей в текстовом виде, а в логах своего сервера увидел следующий GET-запрос.

Результат проверки хоста
Результат проверки хоста

Больше ничего интересного на сайте найти не удалось, так что приступим к сканированию.

Справка: Веб-сканирование с помощью ffuf

Одним из первых шагов в тестировании безопасности веб-приложения является полное сканирование для поиска скрытой информации и функций, недоступных обычным посетителям. Для этого можно использовать такие программы, как разведка И DIRB.

Я предпочитаю легкий и очень быстрый слойка. При запуске укажите следующие параметры:

  • -w - Словарь (использую словари из набора секлисты);
  • -t - количество потоков;
  • -u - URL.

Мы начинаем слойка:

ffuf -u 'http://siteisup.htb/FUZZ' -w directory_2.3_medium_lowercase.txt -t 256

Результат сканирования каталога с помощью ffuf
Результат сканирования каталога с помощью ffuf

Находим интересный каталог dev И повторить сканирование уже в нем.

ffuf -u 'http://siteisup.htb/dev/FUZZ' -w files_interesting.txt -t 256

Результат сканирования файлов с помощью ffuf
Результат сканирования файлов с помощью ffuf

И мы находим репозиторий Git, и это явная точка входа.

Входная точка

Теперь нам нужно сделать дамп найденного репозитория, для чего есть набор скриптов Ремонт DWX или специальные средства демпфер щелчка. На этот раз воспользуемся вторым.

git-dumper http://siteisup.htb/dev/ dev

После загрузки репозитория нужно изучить не только исходный код, но и изменения. Для простоты изложения я использую эту программу Нажмитекоторый должен быть открыт из каталога, где находится каталог .git.

Представление репозитория в gitck
Представление репозитория в Gitk

Найдите файл в репозитории admin.php, которого нет на самом сайте, а значит надо найти новый сайт. Для этого используйте ffuf для сканирования поддоменов. При запуске добавьте этот параметр -H — HTTP-заголовок.

ffuf -u http://siteisup.htb/ -t 256 -w subdomains-top1million-110000.txt -H 'Host: FUZZ.siteisup.htb'

Результат сканирования поддоменов с помощью ffuf
Результат сканирования поддоменов с помощью ffuf

Находим поддомен dev И добавляем в папку /etc/hosts.

10.10.11.177 updown.htb siteisup.htb dev.siteisup.htb

Но сайт недоступен.

Ошибка доступа к сайту
Ошибка доступа к сайту

Source

ЧИТАТЬ   Хактивисты сливают программное обеспечение и документацию от Cellebrite и MSAB