Путь к совершенству через пентест
Пентесты в информационной безопасности — как поход в спортзал: они помогают понять, на что способна система, но многие их игнорируют.
Привет, Хабр! Меня зовут Андрей Кузнецов, и я специалист по продвижению продукта в «АйТи Бастион». Перед выходом нашего нового решения «Синоникс» на рынок, мы решили подвергнуть его симуляции действий злоумышленников. В этой статье расскажу, как мы прошли такую проверку и что для себя вынесли из неё.
А что там ломать?
Для начала объясню, как работает наше решение. Synonix на латыни — это вымерший вид волка, а мы с нашими айти-волками придумали систему контроля информационного обмена. Комплекс позволяет организовать автоматизированную однонаправленную или двунаправленную передачу данных и файлов между узлами, в том числе из несвязанных сетей, скрывая информацию об их окружении.
Принцип работы строится на взаимодействии ядра системы и двух нод — А и В. Узел А отправляет данные, узел В принимает их, а ядро контролирует процесс. «Синониксом» обычно управляют два независимых специалиста, каждый из которых отвечает только за свою сеть. У администратора есть возможность внести изменения только в конфигурацию узлов, а прямой доступ к ядру у него отсутствует. Управление ядром скрыто под пломбами, при этом сетевые пространства интерфейсов изначально не пересекаются.
LAN — подключение узлов A и B к соответствующим сетям, в том числе не связанным между собой
MGMT — настройка узла «Синоникса» по протоколу SSH
CON — настройка устройства через RS232
Interlink - внутреннее взаимодействие между узлами и ядром
Пример команд управления
Тестирование на проникновение проект очень ответственный, и доверить его мы решили команде Axxtel, которая успела сломать не один продукт. Прогноз у нас был реалистичный — все понимали, что какие-то уязвимости точно всплывут. Идеальных продуктов не бывает, а если на этапе тестирования вы ничего не обнаружили — значит пора искать более профессиональных тестировщиков.
Начинается веселье — ход пентеста
В нашей лаборатории мы выпили успокоительного перед началом пентеста установили ПК «Синоникс», который связал открытую и изолированную сети. Целью для red team было обойти защиту и получить доступ к машине, стоящей за системой информационного обмена.
Чтобы ускорить процесс, мы заранее предоставили IP-адрес цели. Это избавило атакующих от необходимости изучать инфраструктуру имитируемой организации, и они смогли сразу сосредоточиться на выявлении уязвимостей системы.
Кто за что отвечал?
В команде хакеров было три направления. Ребята работали параллельно. Так мы запентестили решение быстрее, да ещё и получили три пула статистики вместо одного.
— Один инженер занимался разведкой и анализом инфраструктуры.
— Второй проводил реверс-инжиниринг прошивки устройства.
— Третий сосредоточился на эксплуатации сетевых уязвимостей и перехвате данных.
Этап 1: Доступ только к LAN-порту ПК «Синоникс»
Давайте представим, что заказчику подбросили весёлую «малиновую» самоделку и получили доступ в сеть, где находится LAN-порт «Синоникса». Такой сценарий мы и обозначили коллегам, дали им ключи VPN, а сами пошли за попкорном.
«Сначала мы применили метод скрытого сканирования для сбора информации о взаимодействии продукта с внешними и внутренними сетями. Благодаря минимальной активности пакетов nmap, нам удалось избежать обнаружения и не спровоцировать срабатывание систем защиты от атак.
Сетевые протоколы передачи данных анализировали через Wireshark. Одной из задач было исследовать возможности перехвата и подмены трафика. Для этого мы внедрились в сеть, оставляя минимальные следы, и использовали технику атак через промежуточные узлы (middlebox attacks), чтобы обойти защитные механизмы и заставить систему рассматривать нас как доверенный узел. Достигнуть цели таким путём у нас не получилось, и мы начали искать другие сценарии» — рассказывает руководитель направления информационной безопасности в AxxtelМаксим Прокопов.
Этап 2: Предоставлен доступ к порту управления
Если уж и играть в пентесты — то all in, подумали мы. Тем более, что ситуация, когда хакер может управлять «Синониксом», допустима. Нужно всего лишь внедриться в компанию, захватить в серверную провод RS-232 и знать пароль админа «Синонкса». Ну, а поскольку это банальнейшая бытовая ситуация — мы дали пентестерам данные учётной записи syn-operator.
Учётка не самая привилегированная, но с её помощью можно настраивать правила передачи пакетов. Здесь мы в итоге и нашли баг. Оказалось, что фактически, пользователь syn-operator может менять пароли любым другим учётным записям и таким образом получить неограниченные права в системе.
Этап 3: Доступ к администрированию узла A
Второй этап плавно перетёк в третий, ведь, получив доступ к syn-super, можно влиять на узлы. Изначальный план команды красных состоял в том, чтобы через полученный доступ к Узлу А проникнуть в ядро системы и изменить его конфигурацию, что могло бы позволить контролировать весь проходящий через систему трафик. Однако «Синоникс» устроен таким образом, что ядро не принимает управляющих сигналов от узлов, и повлиять на систему таком образом не получилось. Но, как и в любом пентесте, был момент, который остался в памяти. Согласно руководству администратора ПК «Синоникс», после установки комплекса, ноды задаются жёстко и не подлежат смене. Красная команда обнаружила, что скрипты, позволяющие переконфигурировать текущий узел на любую роль, не удаляются после настройки системы. Расшифровать данные, проходящие через систему таким образом, конечно, не получилось, но устройство стало полностью нерабочим после таких манипуляций.
Что дальше?
Этот пентест был первым, но точно не последним. Мы планируем проводить такие проверки регулярно с выходом новых версий системы. Это поможет нам ещё лучше защищать данные наших заказчиков. Хотя идеальных решений в мире ИБ не существует, тестирование подтвердило, что наша команда движется в правильном направлении. Уязвимости мы оперативно устранили ещё в процессе работы, а защита «Синоникса» доказала свою надёжность в самых сложных сценариях. Если у вас есть какие-то интересные кейсы анализа защищённости, или кто-то может порекомендовать другие заходы и поделиться опытом — буду рад обсудить в комментариях. А покапредлагаю вам поучаствовать в голосовалке (ответам от не ИБ-специалистов будем особенно рады).