Содержание статьи
warning
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /
:
10.10.11.143 paper.htb
И запускаем сканирование портов.
Справка: сканирование портов
Сканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа.
Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта.
#!/bin/bashports=$(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.0, 80 и 443 — веб‑сервер Apache 2.4.37. Обычно в SSL-сертификате можно подсмотреть новые доменные имена в поле commonName
, но не в этот раз.

Точка входа
При пентесте веб‑сервисов лучше всего работать в Burp. Полезно, к примеру, что в Burp History можно будет просмотреть всю цепочку пользовательских запросов и ответов сервера. Так, в HTTP-заголовке X-Backend-Server
находим еще один домен — office.
.

Тоже добавляем его в /
.
10.10.11.143 paper.htb office.paper
И на этом домене находим новый сайт.

И снова Burp History нам помогает — по страницам, к которым обращается наш клиент, мы определяем, что на машине установлен WordPress.

Точка опоры
WordPress
На сайте несколько статей с комментариями, которые мы можем прочитать. И один из комментирующих указывает, что в черновиках лежат какие‑то секретные данные.

Поскольку мы столкнулись с WordPress, можем воспользоваться специальными утилитами для работы с ней. В первую очередь нам понадобится WPScan — сканер, который автоматически ищет уязвимости в WordPress и установленных плагинах.
Передадим сканеру следующие параметры:
-
--url
— URL; -
-e
— поиск установленных плагинов;ap -
--plugins-detection
— способ определения плагина. Aggressive — грубое сканирование перебором; -
-t
— количество потоков; -
--api-token
— полученный с официального сайта API-ключ.
wpscan --url http://office.paper -e ap --plugins-detection aggressive -t 256 --api-token [...KEY...]

И мы находим уязвимость, которая позволяет читать приватные посты. По предоставленной утилитой ссылке мы получим инструкцию, как эксплуатировать уязвимость.

Переходим к странице /
, и нам становится доступным скрытый пост.

Находим ссылку на еще один домен. Добавим его в /
и просмотрим в браузере.
10.10.11.143 paper.htb office.paper chat.office.paper

Так мы получаем доступ к панели регистрации в Rocket.Chat!
Rocket.Chat
Rocket.Chat — это полностью настраиваемый мессенджер на JavaScript c открытым исходным кодом. Так как мы получили доступ к странице регистрации, то создадим себе аккаунт и авторизуемся.

Но мы получаем пустой мессенджер, поэтому идея узнать приватные данные из переписок сразу отпала. Однако спустя минуту приходит сообщение от бота!

Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее