При проведении тестов на проникновение мы часто встречаемся с пренебрежением и халатным отношением к сайту компании. Для многих руководителей сайт является галочкой в репутационном портфолио. По мнению руководства и системных администраторов, сайт не приносит дохода и его взлом не несет больших репутационных рисков для компании, что является фатальной ошибкой. Самым ценным активом для любой компании является доступ во внутреннюю (локальную) сеть, в которой хранится вся ИТ инфраструктура предприятия.
Цель статьи - развеять миф о необязательности проверки сайта компании на уязвимости и показать, как взлом заброшенного сайта может дать билет злоумышленнику в локальную сеть.
Чем крупнее компания, тем больше у нее компьютерная локальная сеть и тем сложнее управлять ею. С целью облегчения работы по управлению системные администраторы настраивают корпоративную сеть на основе распространенного решения Active Directory (служба активного каталога). Это решение, действительно, упрощает управление ЛВС, но при этом несет в себе большие риски. Ключевым понятием в Active Directory является домен и контроллер домена.
1. Получение доступа к админке Bitrix
В качестве имени домена локальной сети, как правило, используется уже зарегистрированный домен сайта, почты и т.п. Возьмем для примера доменное имя target.ru. Зачастую в директории клиентского сайта доступна папка .git (рис. 1), которая отвечает за контроль версий исходного кода.
![Рис 1. Директория .git на сайте target.ru Рис 1. Директория .git на сайте target.ru](https://webcf.waybackmachine.org/web/20220305120747/https://habrastorage.org/getpro/habr/upload_files/717/ebf/3e6/717ebf3e611dc1848abf64d373d567be.png)
Наличие папки .git позволяет восстановить исходный код всего проекта, к примеру, с помощью инструмента GitDumper (рис 2).
![Рис 2. Исходный код проекта target.ru Рис 2. Исходный код проекта target.ru](https://webcf.waybackmachine.org/web/20220305120747/https://habrastorage.org/getpro/habr/upload_files/cb6/d5f/f4b/cb6d5ff4bfdb08b0c3787d2acfb0802d.png)
В файлах проекта может находиться всё, что угодно: от скрытых файлов конфигураций до случайно оставленных резервных копий баз данных. Именно с резервной копией бд мы и столкнулись (рис 3).
![Рис 3. Резервная копия базы данных хранит хеши паролей для подключения Рис 3. Резервная копия базы данных хранит хеши паролей для подключения](https://webcf.waybackmachine.org/web/20220305120747/https://habrastorage.org/getpro/habr/upload_files/a3e/4ec/af7/a3e4ecaf7e84f3096cfee9463882ab8c.png)
Далее хеши паролей необходимо сбрутить. Например, через hashcat. С помощью найденных ранее имени пользователя и пароля был получен доступ к панели администратора Bitrix с максимальными правами (рис 4).
![Рис 4. Панель администратора Bitrix Рис 4. Панель администратора Bitrix](https://webcf.waybackmachine.org/web/20220305120747/https://habrastorage.org/getpro/habr/upload_files/9b8/88c/fa8/9b888cfa83fac5a804af2ba868b28242.png)
2. Исполнение команд на сервере
Встроенный функционал Bitrix позволяет внедрять пользовательский PHP код, который может привести к получению удаленного доступа к веб серверу (рис 5) и заливки web-shell (оболочки для выполнения команд).
![Рис 5. Чтение /etc/passwd на сервере через функционал Bitrix Рис 5. Чтение /etc/passwd на сервере через функционал Bitrix](https://webcf.waybackmachine.org/web/20220305120747/https://habrastorage.org/getpro/habr/upload_files/3be/1a3/f3c/3be1a3f3cc89f15c5b9e40aeb6db7d4a.png)
3. Описание функционала AD, WPAD и autodiscover
Проверить наличие утечки можно проанализировав логи веб сервера. Если в файлах журнала имеются запросы следующего вида: /wpad.dat, /autodiscover.xml, /autodiscover/autodiscover.xml (рис 6.), то с большой долей вероятности у вас имеется уязвимость "утечка домена"- пользователи из внутренней сети пытаются получить файлы конфигураций из внешней.
![Рис 6. GET запросы на получение файла конфигураций wpad.dat
Рис 6. GET запросы на получение файла конфигураций wpad.dat](https://webcf.waybackmachine.org/web/20220305120747/https://habrastorage.org/getpro/habr/upload_files/f97/c24/80b/f97c2480bd16ce30e2086485885d690a.png)
Служба активного каталога обладает довольно широким функционалом по созданию групповых политик, управлению доступом и предоставлению доступа к различным сервисам. Контроллер домена в службе активного каталога представляет из себя 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](https://webcf.waybackmachine.org/web/20220305120747/https://habrastorage.org/getpro/habr/upload_files/7c5/f57/96b/7c5f5796b228493e0d2258b268d89b60.png)
![Рис 8. Перехват корпоративной почты Exchange Рис 8. Перехват корпоративной почты Exchange](https://webcf.waybackmachine.org/web/20220305120747/https://habrastorage.org/getpro/habr/upload_files/afe/bbc/bb0/afebbcbb0ad11f329d19a9c4726bce40.jpg)
Далее, контроллируя весь трафик, существует возможность подмены исполняемых файлов (exe) и офисных документов (docx) на зловредные с содержанием исполняемого кода с целью заражения корпоративной сети предприятия.
5. Итоги и рекомендации
Халатность разработчиков и системных администраторов target.ru привела к компрометации корпоративной переписки. Настоящий злоумышленник заразил бы корпоративную сеть вредоносным ПО с дальнешейшим извлечением финансовой выгоды.
Легко сказать, что разработчики и администраторы обязаны защищать те или иные корпоративные ресурсы. Однако у этих специалистов совершенно другие функциональные обязанности и компетенции. Системный администратор - не специалист по информационной безопасности. Та же история с разработчиками.
Информационная безопасность - это комплекс мер, это процесс, это культура.
![Когда пытаешься закрыться от утечки домена, но делаешь это неправильно Когда пытаешься закрыться от утечки домена, но делаешь это неправильно](https://webcf.waybackmachine.org/web/20220305120747/https://habrastorage.org/getpro/habr/upload_files/3e2/386/785/3e23867854c25eda345151231b5837bf.gif)
Так что же можно было сделать для предотвращения этой утечки?
Обязательно регулярно проводить внешние и внутренние пентесты. Тестирование на проникновение является необходимой мерой для предотвращения утечек;
Автонастройка системного прокси через WPAD используется по-умолчанию в WIN10. Необходимо отключать этот функционал, если он не нужен;
Необходимо запретить клиентам внутренней сети ходить на внешние ресурсы. Меньше прав - меньше проблем;
Необходимо контролировать целостность корпоративных ресурсов, а также наблюдать за логами доступа;
Необходимо настроить DHCP/DNS так, чтобы домен target.ru определялся, как ресурс во внутренней сети, а не во внешней.