Содержание статьи
Об инфраструктуре мы ничего не знали — на руках была лишь маска домена *.. Дополнительной преградой стал WAF, который коллеги незадолго до этого внедрили и решили проверить на прочность в боевых условиях.
Мы тестировали инфраструктуру ретейл‑компании с развитой экосистемой сервисов для продавцов. В дополнение к привычным задачам нужно было проникнуть во внутреннюю сеть и скомпрометировать домен — нам предстояло реализовать несколько отдельных сценариев недопустимых событий. В частности, требовалось получить контроль над системами бухгалтерии, резервного копирования, антивирусной защиты и виртуализации, а также доступ к корпоративному приложению, которое еще находилось в разработке, и связанным с ним сервисам личных кабинетов продавцов.
Мы тестировали систему по модели черного ящика: выступали в роли внешнего нарушителя, атакующего через интернет. У нас не было ни учетных записей, ни заранее выданных доступов, ни сведений об устройстве инфраструктуры. При этом WAF работал в активном режиме и наши адреса в исключения не добавляли.
По нашей оценке, пентест оказался средним по сложности, хотя по ходу работы нашлось несколько неожиданных решений, которые помогли развить атаку. Много времени заняли рутинные операции, которые приходилось выполнять через прокси. Но больше всего помогло понимание бизнес‑процессов компании: благодаря ему мы находили перспективные направления атаки и выбирали следующие шаги.
ИНН вместо пароля

После стандартного активного рекона и пассивного сбора vhost, поддоменов и прочего мы столкнулись с блокировками WAF. Поэтому решили перейти к более детальному анализу вручную.
При ручном анализе мы подробно изучили бизнес‑процессы и нашли информацию о том, как формируют пароли для корпоративных учетных записей. Эта информация содержалась в одной из презентаций для новых «консультантов», выложенной в открытый доступ на облачном диске.


Затем мы нашли корпоративные адреса электронной почты всех сотрудников организации в их карточках.

В презентации сказано, что пароль совпадает с ИНН, поэтому мы просто загуглили его. Из‑за специфики бизнеса все продавцы были зарегистрированы как ИП, а их ИНН можно найти в открытом реестре.

Затем мы использовали почтовый логин и ИНН в качестве пароля, успешно вошли в почтовые ящики и подтвердили компрометацию учетных записей.

Точно так же мы вошли еще в 3–4 почтовых ящика, чтобы расширить охват и изучить роли и права конкретных сотрудников в ИТ‑инфраструктуре.
info
В современных системах часто встречается SSO со множеством связанных сервисов. Наша идея была в том, чтобы получить любую легитимную учетку, а затем посмотреть, к каким веб‑приложениям она дает доступ через SSO. Сейчас многие вайбкодят, так что шанс наткнуться на небезопасный веб довольно высок. Но, независимо от качества кода, мы хотели с помощью SSO попасть в закрытые разделы приложений, чтобы расширить поверхность атаки.
Затем мы нашли один из dev-стендов за SSO-авторизацией и успешно вошли с помощью связки «OSINT mindset + ИНН‑пароль». После этого принялись изучать возможности веб‑ресурса.
Мы нашли несколько похожих dev-стендов на разных доменах и иногда использовали другие ресурсы для дальнейшего продвижения. Но обо всем по порядку.
От LINQ до SYSTEM

При анализе этого веб‑ресурса нашлась конечная точка (ее FQDN изменен):
https://development.domain.com/endpoint.aspx?pageName=DataSources.Item

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