Продукты «Хакера»
-
Ежеквартальный «Хакер» #3
Лучшие статьи квартала на бумаге
2 000 ₽
Заказать журнал -
Годовая подписка на Xakep.ru
Полный доступ к статьям и архиву выпусков
6 000 ₽ в год
Подписаться -
«Пентест WEB» для начинающих
Совместный курс «Хакера» и лаборатории «Хаксет»
7 000 ₽
Купить курс -
Спецвыпуск «Хакера» #4
Лучшие статьи за 2021–2022 годы на бумаге
2 000 ₽
Заказать журнал
Если Node.js запущен с включенным инспектором, локальный отладочный порт может стать короткой дорогой к правам суперпользователя: через протокол DevTools можно выполнить JavaScript прямо в контексте процесса. В статье покажем, как добраться до такого порта после удаленного выполнения кода.
Наша цель — получить права суперпользователя на машине Reactor с учебной площадки Hack The Box. Уровень задания — легкий, операционная система — Linux.
warning
Подключаться к машинам с HTB рекомендуется с применением средств анонимизации и виртуализации. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /etc/hosts:
10.129.82.186 reactor.htb
И запускаем сканирование портов.
Справка: сканирование портов
Сканирование портов — стандартный первый шаг при любой атаке. Оно позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации он выбирает следующий шаг к получению точки входа.
Самый известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи такого скрипта:
#!/bin/bash
ports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '
' ',' | sed s/,$//)
nmap -p$ports -A $1
Он действует в два этапа. На первом выполняется обычное быстрое сканирование, на втором — более тщательное, с использованием встроенных скриптов (опция -A).
Подробнее про работу с Nmap читай в статье «Nmap с самого начала. Осваиваем разведку и сканирование сети».
Результат работы скриптаСканер нашел два открытых порта:
- 22 — служба OpenSSH 9.6p1;
- 3000 — веб‑сервер Next.js.
Справка: брутфорс учеток
Поскольку в начале прохождения у нас нет учетных данных, нет и смысла изучать службы, которые всегда требуют авторизации (например, SSH). Единственное, что мы можем делать здесь, — это перебирать пароли брутфорсом, но у машин с HTB почти всегда есть другое прохождение. В жизни таких вариантов может не быть, к тому же есть шансы подобрать пароль или получить его при помощи социальной инженерии.
Nmap показывает серверный заголовок X-Powered-By: Next.js и служебные заголовки RSC (Next-Router-State-Tree, Next-Router-Prefetch) на порте 3000. Там нас встречает обычная панель мониторинга без авторизации и каких‑либо возможностей.
Главная страница сайтаТочка входа
Первым делом стоит проверить, есть ли для обнаруженного стека готовые эксплоиты.
Справка: поиск готовых эксплоитов
При пентесте лучше всего искать эксплоиты в Google, поскольку этот поисковик заглядывает и в личные блоги, и в самые разные отчеты. Ускорят дело специализированные базы вроде Exploit-DB — там часто можно обнаружить подходящие варианты. Если ты работаешь в специализированной ОС вроде Kali Linux, то эта база у тебя уже есть и для поиска можно использовать утилиту searchsploit.
Чтобы быстро узнать, какие используются технологии и есть ли в них документированные уязвимости, запускаем сканер Nuclei.
nuclei -u http://reactor.htb:3000/
Результат сканирования NucleiПродолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

6 дней назад
10








English (US) ·
Russian (RU) ·