Утечка домена. Как мы получили доступ к корпоративной переписке через оставленный .git и wpad.dat

в 6:30, , рубрики: active directory, bitrix, domain, Git, pentest, wpad, Администрирование доменных имен, информационная безопасность, системное администрирование, утечка

При  проведении тестов на проникновение мы часто встречаемся с пренебрежением и халатным отношением к сайту компании. Для многих руководителей сайт является галочкой в репутационом портфолио. По мнению руководства и системных администраторов, сайт не приносит дохода и его взлом не несет больших репутационных рисков для компании, что является фатальной ошибкой. Самым ценным активом для любой компании является доступ во внутреннюю (локальную) сеть, в которой хранится вся ИТ инфраструктура предприятия.

Цель статьи - развеять миф о необязательности проверки сайта компании на уязвимости и показать, как взлом заброшенного сайта может дать билет злоумышленнику в локальную сеть.

Чем крупнее компания, тем больше у нее компьютерная локальная сеть и тем сложнее управлять ею. С целью облегчения работы по управлению  системные администраторы настраивают корпоративную сеть на основе распространенного решения Active Directory (служба активного каталога). Это решение, действительно, упрощает управление ЛВС, но при этом несет в себе большие риски. Ключевым понятием в Active Directory является домен и контроллер домена.

1. Получение доступа к админке Bitrix

В качестве имени домена локальной сети, как правило, используется уже зарегистрированный домен сайта, почты и т.п. Возьмем для примера доменное имя target.ru. Зачастую в директории клиентского сайта доступна папка .git (рис. 1), которая отвечает за контроль версий исходного кода.

Рис 1. Директория .git на сайте target.ru
Рис 1. Директория .git на сайте target.ru

Наличие папки .git позволяет восстановить исходный код всего проекта, к примеру, с помощью инструмента GitDumper (рис 2).  

Рис 2. Исходный код проекта target.ru
Рис 2. Исходный код проекта target.ru

В файлах проекта может находиться всё, что угодно: от скрытых файлов конфигураций до случайно оставленных резервных копий баз данных. Именно с резервной копией бд мы и столкнулись (рис 3).

Рис 3. Резервная копия базы данных хранит хеши паролей для подключения
Рис 3. Резервная копия базы данных хранит хеши паролей для подключения

Далее хеши паролей необходимо сбрутить. Например, через hashcat. С помощью найденных ранее имени пользователя и пароля был получен доступ к панели администратора Bitrix с максимальными правами (рис 4).

Рис 4. Панель администратора Bitrix
Рис 4. Панель администратора Bitrix

2. Исполнение команд на сервере

Встроенный функционал Bitrix позволяет внедрять пользовательский PHP код, который  может привести к получению удаленного доступа к веб серверу (рис 5) и заливки web-shell (оболочки для выполнения команд).

Рис 5.  Чтение /etc/passwd на сервере через функционал Bitrix
Рис 5. Чтение /etc/passwd на сервере через функционал Bitrix

3. Описание функционала AD, WPAD и autodiscover

Проверить наличие утечки можно проанализировав логи веб сервера. Если в файлах журнала имеются запросы следующего вида: /wpad.dat, /autodiscover.xml, /autodiscover/autodiscover.xml (рис 6.), то с большой долей вероятности у вас имеется уязвимость "утечка домена"- пользователи из внутренней сети пытаются получить файлы конфигураций из внешней.

Рис 6. GET запросы на получение файла конфигураций wpad.dat
Рис 6. GET запросы на получение файла конфигураций wpad.dat

Служба активного каталога обладает довольно широким функционалом по созданию групповых политик, управлению доступом и предоставлению доступа к различным сервисам. Контроллер домена в службе активного каталога представляет из себя DNS и DHCP сервер.

DHCP сервер предоставляет файл конфигураций wpad.dat (автоматическая настройка прокси сервера) и autodiscover (автоматическая настройка почтового сервера). Конечно, возможность использования автоматических настроек используется в системах по-умолчанию. При некорректной настройке доменных записей и фаерволла происходит "утечка домена". Почтовый клиент или браузер посылают запросы в глобальную сеть на домен target.ru по протоколу HTTP(S) с целью получить конфигурационные данные. Этим и может воспользоваться злоумышленник.

4. Перехват трафика через модификацию wpad.dat и использование mitmproxy

Сам по себе файл wpad.dat представляет из себя инструкцию для браузера на языке JavaScript, которая регламентирует доступы к ресурсам через прокси сервер на основании доменного имени или регулярного выражения. Клиентский браузер будет строго следовать полученным настройкам и все запросы полетят через указанный прокси сервер.

Злоумышленник, контроллируя содержимое файла wpad.dat, может установить адрес внешнего mitmproxy сервера для модификации или пассивного прослушивания всего исходящего из корпоративной сети трафика. К пример, перехват данных аутентификации hh.ru (рис 7) или чтение корпоративной почты (рис 8).

Рис 7. Прослушивание трафика до сайта hh.ru. Получение данных аутентификации через поле login
Рис 7. Прослушивание трафика до сайта hh.ru. Получение данных аутентификации через поле login
Рис 8. Перехват корпоративной почты Exchange
Рис 8. Перехват корпоративной почты Exchange

Далее, контроллируя весь трафик, существует возможность подмены исполняемых файлов (exe) и офисных документов (docx) на зловредные с содержанием исполняемого кода с целью заражения корпоративной сети предприятия.

5. Итоги и рекомендации

Халатность разработчиков и системных администраторов target.ru привела к компрометации корпоративной переписки. Настоящий злоумышленник заразил бы корпоративную сеть вредоносным ПО с дальнешейшим извлечением финансовой выгоды.

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

Информационная безопасность - это комплекс мер, это процесс, это культура.

Когда пытаешься закрыться от утечки домена, но делаешь это неправильно
Когда пытаешься закрыться от утечки домена, но делаешь это неправильно

Так что же можно было сделать для предотвращения этой утечки?

  1. Обязательно регулярно проводить внешние и внутренние пентесты. Тестирование на проникновение является необходимой мерой для предотвращения утечек;

  2. Автонастройка системного прокси через WPAD используется по-умолчанию в WIN10. Необходимо отключать этот функционал, если он не нужен;

  3. Необходимо запретить клиентам внутренней сети ходить на внешние ресурсы. Меньше прав - меньше проблем;

  4. Необходимо контролировать целостность корпоративных ресурсов, а также наблюдать за логами доступа;

  5. Необходимо настроить DHCP/DNS так, чтобы домен target.ru определялся, как ресурс во внутренней сети, а не во внешней.

Автор:
lmsecurity

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js