
От reconnaissance к первому foothold
В первой части нашего разбора мы обнаружили забытый поддомен старой версии CMS, который остался в DNS записях компании. На этом этапе пентеста начинается самое интересное — переход от пассивного сбора информации к активной эксплуатации найденных уязвимостей.
Забытый домен old-crm.company.ru был развернут три года назад и официально выведен из эксплуатации. Однако никто не удалил его из системы управления конфигурациями, DNS и, что критично, из системы резервного копирования. Это создало идеальную комбинацию для атаки.
Анализ обнаруженного хоста
Первое сканирование Nmap выявило открытые порты 80 и 443, где работал старый Apache с CMS Drupal 7.32 — версия с множеством известных уязвимостей. Но это не главное. На том же сервере находился MySQL на порту 3306, доступный из интернета без аутентификации.
В базе данных хранились:
- Хешированные пароли администраторов (md5 без salt)
- Токены API интеграции с главным корпоративным сервером
- Учетные данные для подключения к хранилищу документов
- Email-адреса всех пользователей компании с их ролями
Если бы защита ограничивалась только этим сервером, компромет был бы локальным. Но разработчики допустили классическую ошибку: использовали одни и те же учетные данные для доступа к базе данных в нескольких системах.
Цепь привилегий: от CMS к корпоративной сети
Взломав базу данных CMS, мы получили доступ к токену API, который интегрировал старую систему с корпоративным хранилищем документов. Этот токен не требовал ротации и активно использовался другими сервисами в инфраструктуре.
Lateral movement через API
С помощью полученного токена мы смогли получить доступ к REST API главного сервера, выполняющего роль центрального узла для управления проектами. В API обнаружилась уязвимость IDOR (Insecure Direct Object References), позволившая нам:
- Просмотреть проекты всех отделов компании
- Скачать служебную документацию, включая диаграммы инфраструктуры
- Получить список всех внутренних IP-адресов и портов
- Найти credentials, случайно залитые в Git репозиторий проекта
Именно в репозитории нашлась учетная запись сервисного пользователя для доступа к VPN. Пароль был простой и одинаковым на всех сервисных аккаунтах компании.
Внутри VPN: кроличья нора углубляется
Получив доступ в корпоративную VPN через сервисный аккаунт, мы оказались внутри защищенной сети. Здесь начинается настоящий Black Box пентест — мы больше не работаем с чёрным экраном интернета, а исследуем внутреннюю архитектуру компании.
Мониторинг сетевого трафика
Первым делом было установлено, что в корпоративной сети работает множество сервисов без шифрования. Перехватив трафик одного чата-мессенджера (протокол не был зашифрован), мы получили живые пароли администраторов, обсуждающих проблемы с сервисом в реальном времени.
Один из администраторов упомянул IP и порт физической консоли сервера хранилища баз данных. Самое интересное: этот сервер управлялся через веб-интерфейс на локальном порту 8080 с дефолтными credentials admin/admin.
Критическая находка
В хранилище баз данных нашлись резервные копии всех корпоративных сервисов, включая систему управления персоналом, CRM, системы бухгалтерии и даже системы управления доступом. Более того — в метаданных резервных копий содержалась полная информация о структуре данных, индексах и учетных записях для восстановления.
От инфраструктуры к полной компрометации
Имея доступ к резервным копиям, мы восстановили копию базы данных системы управления персоналом на отдельном сервере, к которому получили доступ.
Социальная инженерия на финальном этапе
Из базы персонала мы выгрузили полный список сотрудников, их должности, электронную почту и номера телефонов. Затем отправили email от имени HR-отдела на несколько ключевых аккаунтов с просьбой подтвердить данные. Фишинговая ссылка привела на поддельный портал, где администраторы добровольно ввели свои учетные данные.
С учетными данными реального администратора системы доступа компания была полностью компрометирована. Мы получили:
- Админ-доступ к системе управления доступом (физические замки, турникеты)
- Контроль над VPN и брандмауэром компании
- Доступ к резервным копиям критических систем
- Возможность создавать новые учетные записи с повышенными привилегиями
Практический чеклист защиты
На этапе инвентаризации активов:
- Регулярный аудит всех доменов и поддоменов компании
- Удаление DNS записей выведенных из обслуживания систем
- Документирование жизненного цикла каждого сервера
На уровне приложений и API:
- Реализация proper RBAC без IDOR уязвимостей
- Ротация API токенов каждые 30 дней
- Запрет на хардкод credentials в коде и конфигах
- Использование secrets management решений
На уровне инфраструктуры:
- Запрет на открытые порты баз данных в интернет
- Шифрование всего трафика внутри и между сетями
- Сегментация сети с использованием VLAN и микросегментации
- Изоляция резервных копий от рабочей инфраструктуры
Заключение
История этого пентеста демонстрирует классическую цепочку ошибок: забытый актив, слабая аутентификация, отсутствие сегментации и социальная инженерия. Ни одна из найденных уязвимостей не была нулевым днем — все это стандартные проблемы, которые решаются правильной архитектурой и регулярными аудитами.
Компромет произошел не из-за одного супер-сложного взлома, а из-за множества небольших ошибок, каждая из которых казалась некритичной. Это главный урок для IT-безопасности: защита строится слоями, и забытый поддомен может стать шлюзом в корпоративную сеть.
morfix.ru