Сегодня мы поделимся опытом проведения внешнего black-box пентеста и разберем рабочую методологию, которая позволяет «уронить» внутреннюю сеть, имея на старте абсолютный минимум информации.
Статью мы разбили на две логические части: в первой я расскажу, как мы ломали внешний периметр, а во второй мой коллега подхватит историю и объяснит, как мы добивали внутреннюю инфраструктуру.
Дисклеймер: Black-box — это формат, когда у пентестера нет вообще ничего: ни списков IP, ни кредов, ни схемы сети. Только имя домена и карт-бланш на действия. Звучит как ограничение, но на практике это огромный плюс: мы смотрим на компанию глазами реального, мотивированного злоумышленника.
Наша цель в этом проекте была предельно конкретной — проверить, можно ли пролезть во внутреннюю инфраструктуру заказчика через публичные веб-приложения. Забегая вперед: можно. Погнали.
1. Разведка: копаем вширьПервый этап любого пентеста - сбор информации о целевом домене. Здесь работает простое правило: чем больше сабдоменов найдено, тем лучше.
Для пассивного сбора информации использовались следующие инструменты:
- sublist3r
- dnsrecon
- VirusTotal
- crt.sh
На выходе получили около 40 уникальных сабдоменов. Поверхность атаки расширилась, появилось пространство для маневра.
Профессиональное наблюдение: не пренебрегайте разными источниками. Если sublist3r и VirusTotal шерстят публичные индексы, то crt.sh лезет в логи прозрачности сертификатов (Certificate Transparency logs). На практике именно crt.sh сливает то, что скрыто от глаз классических сканеров: тестовые стенды, «временные» домены для интеграций и внутренние сервисы, которые кто-то забыл закрыть от внешнего мира.
Анализ логики приложений
Рекон — это не просто выгрузка списков, это понимание логики бизнеса. Нам важно понять: кто целевая аудитория сервиса? Какой упор сделан на UX? Чем разработчики могли пожертвовать ради удобства пользователей?
Мы наткнулись на сабдомен с системой дистанционного обучения. Интерфейс прямо кричал, что им пользуются люди, далекие от ИТ: упрощенный дизайн, гигантские кнопки, режимы для слабовидящих и тонны подсказок. Когда во главе угла стоит максимальная доступность для нетехнологичной аудитории, безопасностью жертвуют в 90% случаев.
Так и вышло. На сайте лежал открытый гостевой доступ, внутри которого обнаружилась классическая IDOR-уязвимость. Из нее мы успешно вытащили не только учетные данные пользователей, но и креды от базы данных.
2. Домен, который открыл всеОднако главным джекпотом стал скромный test-домен.ru. С виду — обычная заглушка, но быстрый анализ показал, что под капотом крутится CMS Joomla.