Executive Summary
Исполняя обязанности инженера службы поддержки вычислительного центра (ВЦ), мною были выявлены потенциальные угрозы информационной безопасности объекта. Опасения подкреплялись недавней попыткой физического проникновения на территорию центра элементами этнической преступности и угоном автотранспорта.
Для того, чтобы подтвердить или опровергнуть гипотезу о наличии критических уязвимостей, я, будучи экспертом по сетевой безопасности, принял решение провести тестирование на проникновение. Все мероприятия проводились таким образом, чтобы имитировать целенаправленную атаку (APT) злоумышленника на вычислительный центр с целью:
Оценка проводилась в соответствии с рекомендациями, изложенными в NIST SP 800-1151, при этом все действия были согласованы с уполномоченным сотрудником и проводились в контролируемых условиях.
Summary of Results
В результате физической разведки на местности были обнаружены две wi-fi сети с “говорящим” названием. Одна на промышленном объекте, а вторая в зоне жилых домов. На сеть в жилой зоне была проведена атака “Злой двойник”, в результате которой атакующий получил пароль сети. Этот пароль, ожидаемо, подошел ко второй сети на промышленном объекте (credential stuffing).
Сегмент сети с wi-fi доступом был поставлен на прослушку, в результате чего атакующий обнаружил систему мониторинга работы вычислительных узлов (monitor), общую систему мониторинга объекта на базе Grafana (grafana2) и журнал технического обслуживания узлов (journal).
Дальнейший мониторинг трафика выявил 4 рабочих станции Windows и несколько смартфонов. Все три системы мониторинга работают без шифрования, на чистом “http”. Такая архитектура позволила прослушать весь трафик, перехватить учетные данные и провести комбинированную атаку на пользователей - внедрение постороннего кода в браузер, замаскированного под обновление системы мониторинга.
В фальшивое обновление был зашит бэкдор с системой обхода антивирусной защиты. Этот бэкдор предоставил атакующему интерактивный доступ к системе пользователя с правами текущего пользователя. Перехват изображения рабочего стола окончательно прояснил все детали. Атакующий загрузил на машину скрипты для создания скриншотов экрана, а потом и вовсе, запустил прямую трансляцию происходящего на экране сотрудника службы поддержки. Сотрудники использовали клиент терминала Putty, для доступа к вычислительным узлам. Аутентификация осуществлялась по приватному ключу. Атакующий выгрузил ветку системного реестра Windows с настройками Putty, узнал путь к файлу ключа и скопировал его.
Войдя в систему мониторинга, он получил список ip адресов 2636 активных узлов и попробовал войти на несколько случайно выбранных хостов с помощью скопированного ключа - авторизация была успешной. Более того, аккаунт support состоял в группе sudoers и имел возможность выполнять команды от имени root - высшая привилегия в системе. Имея в руках ключ от хостов, атакующий написал скрипт, позволяющий выполнять команды на всех хостах одновременно. Таким образом был получен интерактивный доступ к вычислительному кластеру с правами root.
Позднее, была обнаружена еще одна wi-fi сеть “Wirenboard”, которая, как позже оказалась, имеет отношение в ВЦ. Это был промышленный контроллер на базе Linux с web-интерфейсом, wi-fi адаптером и ethernet портом. На Wi-Fi сеть контроллера не был установлен пароль, а реквизиты доступа linux остались заводскими. В результате был получен root доступ к контроллеру и доступ во внутреннюю сеть ВЦ.
Взломанный контроллер стал удобным плацдармом для дальнейшего исследования сети, так как он находился одновременно в периметре служебной сети ВЦ и имел доступ через отдельную wi-fi сеть. На одной из машин был обнаружен клиент для доступа к маршрутизаторам MikroTik - WinBox, с сохраненным паролем от главного маршрутизатора. Закрепляя доступ к инфраструктуре, атакующий установил бэкдор с обратным коннектом к своему серверу на несколько случайных узлов, а также на микроконтроллер, так как время бесперебойной работы у него было заметно выше чем у вычислительных узлов.
Атака на wi-fi
Для частотной разведки на местности могут быть использованы разные комбинации устройств. В данном случае было бы идеально запустить дрона с Raspberry Pi на борту:
Или проехать на автомобиле с вот такой конфигурацией:
Дрона под рукой у атакующего не было, впрочем как и машины, поэтому он ограничился пешей прогулкой с Raspberry Pi в рюкзаке:
Мощности устройств Alfa хватает с запасом чтобы проводить сканирование удаленных точек и подключаться к ним.
На фото показаны места, наиболее подходящие для проведение атак и подключения к сети. Для атаки на сеть виллы хорошо подходит стоянка напротив, а для подключения к сети ВЦ - дорога, проходящая рядом с промкой.
Атакующий не стал терять время не перебор пароля методом грубой силы и решил применить атаку на пользователя.
Атака состояла из двух этапов:
После успешного получения пароля атака прекращается, пользователи снова подключаются к оригинальной точке доступа.
С момента начала атаки до момента получения пароля прошло не более 40 минут.
Последние три строчки на фото показывают, как пользователь с Android телефона три раза ввел пароль от wi-fi, пробуя менять регистр букв.
Прослушка сети и перехват учетных данных системы мониторинга
После получения доступа к корпоративной сети через wi-fi точку доступа, атакующий провел сканирование сети и прослушивание сегмента. Для этого была проведена атака на отравление ARP-кеша для выбранных узлов. Суть атаки состоит в удаленной подмене ARP-таблицы на хосте, таким образом, чтобы атакуемый хост считал атакующего маршрутизатором. Такой подход называется “Человек посередине” (Man-in-the-middle MiTM).
В результате, весь сетевой трафик жертвы проходит через компьютер атакующего и попадает в мониторинг. Ввиду отсутствия шифрование у протокола http, весь трафик между хостом техподдержки и хостом системы мониторинга свободно просматривается.
На фото перехваченные учетные данные, а также версия операционной системы атакуемой машины. Версия системы будет нужна на дальнейшем этапе.
Подготовка стэйджера
Stager — это крохотный модуль, единственная задача которого заключается в том, чтобы внедриться в небольшую область памяти, а затем «вытащить» более крупные модули или дать возможность атакующему сделать это вручную.
Проще говоря, стейджер обеспечивает первоначальную стадию атаки. Конкретно в этом случае, атакующий преследовал цель получить интерактивную сессию с удаленной командной строкой Windows, не допустив сработки антивирусного ПО и системы обнаружения вторжений (SIEM). В качестве основы для полезной нагрузки, атакующий выбрал Powershell, а в качестве загрузчика (Loader) систему компиляции скриптов автоматизации AutoIt.
На выходе получился exe-файл, который запускает powershell скрипт, который в свою очередь, соединяется с хостом атакующего и предоставляет ему интерактивную сессию powershell. Каждый элемент стэйджера сам по себе является полезным программным обеспечением и отсутствует в базе антивирусных сигнатур. Открытие Powershell соединения происходит через 443 порт, что обеспечивает обход большинства стандартных правил брандмауэров.
На фото исходный код AutoIt скрипта, который будет скомпилирован в ехе-файл и отправлен жертве. Из исходника понятно, что при запуске файла будет выполнено 3 действия: произойдет скачивание и запуск скрипта p.ps1 с машины атакующего и откроется окно с текстом “Update successful!”
Подготовка бэкдора
У стейджера высокий шанс пробива антивирусной защиты, однако интерактивная сессия powershell имеет свои недостатки и неудобства. Атакующий решил загрузить более удобный и классический бэкдор - backconnect shell написанный на языке Go, с возможностью выполнения шеллкодов и запуска meterpreter-сессии.
Исходный код бэкдора был модифицирован и подвергнут компрессии чтобы максимально снизить риск срабатывания антивирусных систем. Более того, протокол связи бэкдора с атакующим хостом шифруется ssl сертификатом, такой метод позволяет обойти средства обнаружения вторжений, обеспечивая маскировку под обычный шифрованный трафик.
Атака на браузер и получение шелла
Для получение интерактивной сессии коммандной строки необходимо обеспечить доставку и запуск стейджера на целевой машине. Для этого атакующий применил атаку “Человек-по-середине” и внедрил посторонний код во все страницы браузера на целевой машине. Таким образом, на первом этапе, был получен контроль над содержимым просматриваемых веб-страниц.
На втором этапе атакующий применил технику социальной инженерии и выдал пользователю уведомление об обновлении системы мониторинга со ссылкой на файл стейджера, замаскированный под обновление.
Успешное внедрение в браузер. Видно версию ОС и тип браузера.
Успешная попытка получения скриншота открытой страницы в браузере.
Отправка фальшивого уведомления об обновлении.
Так выглядит уведомление в окне браузера сотрудника технической поддержки.
Сотрудник скачал и запустил установку обновление. Бутафорское окно о якобы успешной установке обновления.
Сразу после запуска обновления сотрудником службы поддержки, атакующий получил входящие соединение с интерактивной powershell-сессией
Информация о правах в системе. Локальный администратор.
Загрузка бэкдора
После получения первоначальной сессии powershell, атакующий решил загрузить более удобный backdoor, позволяющий расширить инструментарий на взломанной машине. Загрузка файлов организована через автоматизированные скрипты встроенного ftp-клиента и ftp-сервера на хосте атакующего. Дальнейшая работа будет проходить в backdoor-сессии, а первоначальная сессия стейджера станет запасной, на случай если рабочая повиснет или разорвется.
Загрузка скриптов для скриншота и ftp
Атакующий залил скрипт для снятия скриншотов, сделал несколько снимков и загрузил их к себе на хост для анализа.
Скриншоты успешно получены.
Скриншот со взломанной машины. Сотрудник работает с системой мониторинга.
На втором скриншоте видна работа в терминальном клиенте Putty.
Прямая трансляция с экрана
Чтобы было удобнее работать, атакующий, используя возможности бэкдора, запускает прямую трансляции с экрана взломанного компьютера. На трансляции экрана становится понятно, что соединение с хостами происходит без пароля, по ключу.
Эта была основная фича, ради которой пентестер хотел иметь meterpreter на борту бекдора. У hershell он есть, однако, запуск meterpreter-сессии начал палиться Defender'ом буквально со второго запуска. Поэтому от такого решения пришлось отказаться в пользу скрипта для скриншотов и загрузки их на ftp. Мониторинг шел дольше и не так удобно, зато абсолютно безопасно для атаки.
Выгрузка реестра и копирование ключа
Атакующий написал скрипт для экспорта настроек Putty, для того, чтобы узнать где лежит ключ. Скрипт загружается и запускается на хосте. Итоговый файл взломщик копирует к себе на сервер.
Файл ключа скопирован и сконвертирован в формат ssh клиента linux. Атакующий пробует зайти на выборочные хосты - вход успешный.
Скрипт выполнения команд
Для получения централизованного управления всеми хостами, взломщик написал скрипт, позволяющий запускать команду на всех 2600 хостах.
Скрипт маскировки угнанной машины
Для того, чтобы служба поддержки и администраторы ВЦ не смогли отследить аномалии в в работе кластера атакующий решил замаскировать угнанные хосты от системы мониторинга. Для этого он запустил прослушку трафика от случайно выбранного хоста до сервера мониторинга и сохранил в файл дамп трафика. Оказалось, что хосты общаются с сервером так же без шифрования по чистому http, используя json формат.
Каждые 5 секунд хост передает на сервер сообщение со своим ID, статусом загрузки GPU, количеством карт, температурой и прочей телеметрией. Пентестер написал скрипт на python и загрузил в него слепок данных, которые работающий хост посылает на сервер. Тактика напоминает трюк из старых фильмов про ограбления банков, где грабители размещают фотку сейфа прямо перед камерой видеонаблюдения, таким образом охранник видит закрытый сейф на мониторе, а на самом деле это статическая картинка.
В нашем случае, атакующий просто добавил правило в файрволл на маскируемом хосте, которое полностью запрещает исходящий трафик в сторону ip сервера мониторинга и параллельно запустил свой скрипт-обманку на соседнем хосте. Теперь на панели мониторинга угнанный хост отображается как рабочий потому, что данные мониторинг получает поддельные. Используя ранее написанный скрипт для выполнения команд на всех хостах, пентестер может выбрать 100 узлов, запустить на них команду блокировки трафика до сервера мониторинга, параллельно он запустит скрипт-обманку, которая шлет на сервер фальшивую статистику для этих 100 хостов. Хосты угнаны, а у саппорта на экране все ОК.
Анатомия вторжения
Для атаки "Злой двойник" был использован wifiphisher. Изначально я планировал использовать Fluxion, однако, он, на равне с несколькими другими инструментами, упорно не хотел запускать dhcp сервер, и клиенты после коннекта к сети не получали ip адрес.
Это вечные приколы с драйверами, вай-фаем и первичной настройкой Kali.
В таком контексте я не вижу особой ценности Kali, как базового дистрибутива для пентеста. В нем содержится куча инструментов, больше половины из которых, вам никогда не пригодится. Поэтому, я считаю хорошим вариантом обучаться и сертифицироваться на Kali, а для проектной работы иметь любой удобный Вам дистрибутив, в котором находятся именно те инструменты, которые правильно настроены и которыми вы успешно пользуетесь.
Для "Злого двойника" я все же хотел бы иметь либо работающий Fluxion, либо любой другой инструмент, который позволит мне легко делать свои лендинги и сверять введенный ключ с перехваченным ранее хендшейком.
Для прослушки сети и инжекта в http-трафик был использован bettercap. По каким-то странным причинам, в моем Kali не заработал ettercap. Причины такие же необъяснимые как и с dhcp в примере выше. В итоге я нашел альтернативу и очень рад тому. Bettercap - это впечатляющий инструмент для сетевых атак. Его архитектура просто прекрасна. Интерфейс командной строки я бы назвал эталоном. Просто установите и посмотрите о чем я говорю. У автора получился очень крутой, кастомизируемый и автоматизируемый инструмент. Быстрый и с открытым кодом на Golang. С помощью bettercap-модулей sniff, arp spoof и http.proxy я организовал доставку javascript-модуля в браузер атакуемого пользователя.
"Man-in-the-browser"-атака была реализована с помощью фреймворка BeeF. По масштабу крутости, BeeF не уступает bettercap. Под него можно писать скрипты и автоматизировать его работу, это реально фреймворк. В моем случае было достаточно его базовых возможносей.
Отдельно хочу заметить странный подход в реализации api BeeF. Мне необходимо было закинуть файл фейкового обновления на веб-сервер, для того чтобы выдать пользователю уведомление с линком на загрузку. Так вот чтобы в BeeF положить бинарник в каталог встроенного веб-сервера, нужно исполнить странную пляску со скриптами и api-ключем и каким-то чудным образом обратиться к api, для того чтобы бинарник лег в каталог. Это какой-то бред. Ниже опишу как сделать проще.
В качестве носителя для своего стейджера я выбрал AutoIt и зашил в него ванлайнер повершелла. AutoIt был выбран только лишь потому, что это быстрый способ сделать фейк. Я рекомендую делать нормальное оконное приложение в Visual Studio. Текст ванлайнера был взят из WinPayloads. У этого публичного фреймворка удивительным образом сохранилась устойчивость к АВ-запалу для бэкдора. WinPayloads генерит кодированный в base64 psh-ванлайнер, этот ванлайнер лезет на вебсервер WinPayloads по ip и подключает (invoke) большой psh-код бекконнект-бекдора. И уже код бекдора лезет на listener Winpayloads предоставляет шелл. Общение бекдора и листенера организовано через json.
В итоге я просто отковырял часть кода, отвечающего за бекконект из WinPayloads, а сам WinPayloads запускал только ради листенера. Не стал тратить время на выпиливания листенера из этого фреймворка.
Для удобной доставки файлов рекомендую две отличные штуки. Модуль питона --- и ftp сервер ---. Одной командой запускается веб сервер и выставляет наружу содержимое каталога, в котором он был запущен. Таким же образом работает и ftp сервер. ссылка на бинарник с фейковым обновлением была именно на такой веб сервер, я не стал заморачиваться с api BeeF.
Powershell-бэкдор меня не устроил своим диким интерфейсом, я привык к обычному и понятному cmd.exe. Более того, в WinPayloads psh-бэкдоре я обнаружил баг, при выводе листинга директории с кириллицей шелл падал. Поэтому я нашел подходящий бекдор на Go - hershell. Этот бекдор не палился Защитником Windows и давал именно такой шел, который мне нравится, вдобавок, имел на борту возможность исполнять любые шеллкоды и запускать meterpreter-сессию.
Загрузку файлов с шелла я делал через curl, а аплоад файлов с шелла через скрипт для встроенного ftp клиента на мой ftp server.
Для снятия скриншотов я модифицировал скрипт с какого-то сайта для powershell-админов microsoft. Добавил генерацию имени файла и сработку сразу после запуска.
Атака проходила в несколько логически этапов, чтобы не запутаться я подготовил каталог и скрипты запуска для каждого этапа.
Каталог со скриптами атаки:
Запуск http сервера с подготовленными бинарниками и скриптами, всем тем, что нужно будет скачать на взломанный хост:
Запуск ftp сервера, сюда будет загружаться лут:
Запуск WinPayloads чтобы из него запустить listener стейджера:
Запуск сервера для бекдора:
Запуск metasploit для подхвата meterpreter сессии от hershell backdoor:
Скрипт запуска metasploit:
Запуск bettercap для инжекта js-hook BeeF во все страницы на браузере атакуемой машины:
Запуск BeeF:
Заключение
Система безопасности ВЦ имеет ряд уязвимостей, которые привели к полной компрометации критического актива компании.
Эксплуатация найденных брешей злоумышленниками гарантированно окажет негативное влияние на работу ВЦ. Текущие политики в отношении повторного использования паролей и архитектуры сети не являются адекватными ситуации и способствуют компрометации инфраструктуры объекта.
Цели теста на проникновение были сформулированы как:
o Выявление возможности проникновения удаленного злоумышленника в сеть ВЦ.
o Оценка рисков нарушения безопасности для:
Важно отметить, что крах системы безопасности ВЦ вызван недостаточным контролем доступа как на уровне сети, так и на уровне сервисов. Должны быть предприняты соответствующие усилия для внедрения системы оповещения об атаках, которая могла бы вовремя проинформировать о факте проникновения в сеть посторонних лиц.
Рекомендации
Что нужно сделать прямо сейчас
Опираясь на результат тестирования, руководству рекомендуется в срочном порядке сменить названия wi-fi сетей и пароли к ним, а так же выключить контроллер или сменить на нем заводские пароли. Этих действий на первом этапе будет достаточно, чтобы снизить вероятность компрометации с высокой до средней.
Что нужно сделать в ближайшее время
В среднесрочной перспективе рекомендуется перевести все внутренние сервисы c http на https и внедрить на объекте аутентификацию по сертификату. Оборудование MikroTik поддерживает такой тип аутентификации. В рамках перехода на сертификаты, рекомендуется провести инвентаризацию авторизованных устройств по mac-адресам, и настроить маршрутизатор таким образом, чтобы он уведомлял о появлении неопознанного mac-адреса в сети, а также уведомлял о неуспешных попытках авторизации в wi-fi сети.
Что нужно сделать позже и с выделением дополнительных ресурсов
Глубокий анализ результатов тестирования подталкивает к системному решению вопроса безопасности на хостах. Рекомендуется перевести рабочие компьютеры персонала службы технической поддержки на ОС Linux. Комплекс ежедневных задач свободно позволяет это сделать, а риск выполнения вредоносного программного обеспечения сводиться к минимуму.
Рекомендуется внедрить систему оповещения о вторжении в сеть. Наряду с оповещениям от маршрутизатора достаточно будет установить небольшой скрипт на всех узлах. Задача скрипта висеть на порту и ждать подключения. При попытке подключение отправлять оповещение. Таким образом, на первичном этапе взлома, когда злоумышленник будет проводить сканирование портов и идентификацию сервисов, он непременно подключится на порт-ловушку (honeypot). Для агрегации оповещений по безопасности удобно использовать действующий сервер Grafana.
Регулярно проводить тестирования сетевой безопасности. ВЦ постоянно развивается, запускаются новые сервисы, тестируются серверы и иное оборудование. Все эти работы создают риск появления лазеек, как было в случае с контроллером WirenBoard. Необходимо разработать сиcтемный подход к тестированию и проводить его регулярно, дабы выявлять риски на ранних стадиях.
Уровень риска
Общий риск, выявленный для ВЦ в результате теста на проникновение, является Высоким. Тестирование показало прямой путь к компрометации ресурсов для внешнего атакующего. Вероятность успешной целевой атаки на ВЦ крайне велика.
Приложение 1. Этапы атаки по модели Cyber Kill Chain
Приложение 2. Детализация атаки по модели ATT&CK MITRE
Приложение 3. Наличие доступа во внутреннюю сеть через контроллер Wirenboard
Приложение 4. Описание уязвимостей
"Говорящее" название сети wi-fi
Риск: Низкий
Описание: Название wi-fi сети ясно дает понять кому она принадлежит.
Угроза: Злоумышленник легко определит какая сеть принадлежит объекту, это сильно упрощает подготовку к атаке.
Устранение: Изменить название сети на что-то нейтральное.
Одинаковые пароли на wi-fi сети
Риск: Высокий
Описание: Обе wi-fi сети имеют одинаковый пароль.
Угроза: Компрометация одной сети автоматически ведет к компрометации второй. Атака проводилась на сеть в жилой зоне, подразумевая, что техническая осведомленность персонала в доме ниже чем на промышленном объекте.
Устранение: Сменить пароли на wi-fi. Для каждой сети должен быть свой пароль.
Аутентификация по паролю на промышленном объекте
Риск: Высокий
Описание: Сеть на промышленном объекте защищена методом WPA2-PSK.
Угроза: Атака показала, что авторизация по кодовому слову не надежна, атакующий даже не стал подбирать пароль, он заставил пользователей его сообщить.
Устранение: Перейти на аутентификацию пользователей по сертификатам - WPA-Enterprise.
Работа внутренних сервисов на открытом протоколе.
Риск: Высокий
Описание: Данные между клиентом и сервером передаются в открытом виде.
Угроза: Любой пользователь сети может перехватить данные и получить реквизиты доступа, а также посылать поддельную статистику.
Устранение: Настроить работу web-серверов на протокол HTTPS. Открытый HTTP отключить.
Слабая антивирусная защита
Риск: Средний
Описание: Единственным средством антивирусной защиты рабочих станций является встроенный в ОС Windows "Защитник".
Угроза: Это антивирусное ПО низкой категории, лучше чем ничего, но недостаточно хорошо. Атака показала его неэффективность.
Устранение: Установить более качественное коммерческое антивирусное ПО.
Не безопасное хранение ключей доступа
Риск: Высокий
Описание: Ключ храниться в открытом виде. Путь к ключу доступен в системном реестре.
Угроза: Расположение ключа легко узнать и скопировать.
Устранение: Использовать для хранения ключа usb-токены.
Хранение пароля от маршрутизатора в открытом виде
Риск: Высокий
Описание: Пароль от главного маршрутизатора сохранен в программе WinBox. Файл с настройками этой программы не зашифрован и легко экспортируется специальной утилитой.
Угроза: Доступ к маршрутизатору открывает широкие возможности для злоумышленников. Можно создавать разные вариации черного входа, перенаправлять траффик и проводит атаки на недоступные ранее сегменты сети.
Устранение: Не сохранять пароль в WinBox. Ограничить круг лиц, имеющих доступ к авторизации на маршрутизаторе.
Контроллер с заводскими настройками в периметре сети
Риск: Высокий
Описание: Ненастроенный контроллер “Wiren Board” имеет встроенную wi-fi сеть для администрирования. По умолчанию она не имеет пароля. Контроллер подключен к внутренней сети через кабель ethernet. Подключившись к его wi-fi сети, клиент получает доступ во внутреннюю сеть.
Угроза: Неконтролируемый доступ во внутреннюю сеть непременно приведет к компрометации внутренних сервисов
Устранение: Отключить wi-fi сеть.
Риск: Высокий
Описание: Коммутационное оборудование расположено в легкодоступном месте.
Угроза: Неконтролируемый доступ к портам магистральных маршрутизаторов позволит прослушивать весь трафик ВЦ.
Устранение: Опечатать свободные порты. Установить видеокамеру в зоне прямой видимости оборудования. Настроить оповещение на маршрутизаторах при подключении к портам сетевых устройств.
Послесловие для коллег по индустрии
Хочу подчеркнуть моменты в пентесте, которые мне показались важными.
90% времени ушло на возню с обходом АВ. Если бы я был из блека, то этой проблемы у меня вообще бы не было. Так как у подготовленных команд есть свой софт и хороший крипт. Я просто бы прогрузил и не парился. Такое умозаключение подталкивет к мысли, что у профессиональных пентест-команд есть свой софт и свой крипт, и в этом они не отличаются от блека, просто цели разные.
Все публичные генерилки пайлоадов и обходов умирают через месяц-два. Они хороши только тем, что можно смотреть как это все устроено и делать свое комбинированное решение. Количество современных инcтрументов в пентесте просто потрясает, за 10 лет пентест улетел в космос.
Атака на человека всегда результативнее чем атака на машину. Фишинговые методы в топе рейтингов, и вряд ли они уйдут оттуда в ближайшее время. Прочитав книжку Митника, понял что это вечная тема. Только есть некая грань, где хакинг превращается во фрод. Но в итоге все равно все работают на результат.
Пентест занимает кучу времени и должен хорошо оплачиваться, иначе - заниматься им не имеет смысла. В блеке все усилия окупаются лутом. Пришел, вошел, забрал - всё. А в пентесте тебе еще портянку нужно написать и написать её нужно грамотно и по стандартам, потому, что клиент, по факту, платит за портянку. Он вам деньги, а вы ему результат. Результат - это писанина. Вся эта писанина должна выглядеть на тот ценник, который заявлен в договоре, иначе к вам не придут повторно. А если клиент к вам не возвращается, значит ваш продукт - говно.
Исполняя обязанности инженера службы поддержки вычислительного центра (ВЦ), мною были выявлены потенциальные угрозы информационной безопасности объекта. Опасения подкреплялись недавней попыткой физического проникновения на территорию центра элементами этнической преступности и угоном автотранспорта.
Для того, чтобы подтвердить или опровергнуть гипотезу о наличии критических уязвимостей, я, будучи экспертом по сетевой безопасности, принял решение провести тестирование на проникновение. Все мероприятия проводились таким образом, чтобы имитировать целенаправленную атаку (APT) злоумышленника на вычислительный центр с целью:
- Определить, может ли злоумышленник пробить защиту и проникнуть в сеть ВЦ.
- Определить степень угрозы при нарушении безопасности для:
- Вычислительных мощностей центра;
- Внутренней инфраструктуры и доступности информационных систем.
Оценка проводилась в соответствии с рекомендациями, изложенными в NIST SP 800-1151, при этом все действия были согласованы с уполномоченным сотрудником и проводились в контролируемых условиях.
Дисклеймер: Эта статья создана исключительно в ознакомительных целях. Автор не одобряет и не поощряет использование информации в противозаконных целях. Всю ответственность за ваши действия несёте только вы.
Summary of Results
В результате физической разведки на местности были обнаружены две wi-fi сети с “говорящим” названием. Одна на промышленном объекте, а вторая в зоне жилых домов. На сеть в жилой зоне была проведена атака “Злой двойник”, в результате которой атакующий получил пароль сети. Этот пароль, ожидаемо, подошел ко второй сети на промышленном объекте (credential stuffing).
Сегмент сети с wi-fi доступом был поставлен на прослушку, в результате чего атакующий обнаружил систему мониторинга работы вычислительных узлов (monitor), общую систему мониторинга объекта на базе Grafana (grafana2) и журнал технического обслуживания узлов (journal).
Дальнейший мониторинг трафика выявил 4 рабочих станции Windows и несколько смартфонов. Все три системы мониторинга работают без шифрования, на чистом “http”. Такая архитектура позволила прослушать весь трафик, перехватить учетные данные и провести комбинированную атаку на пользователей - внедрение постороннего кода в браузер, замаскированного под обновление системы мониторинга.
В фальшивое обновление был зашит бэкдор с системой обхода антивирусной защиты. Этот бэкдор предоставил атакующему интерактивный доступ к системе пользователя с правами текущего пользователя. Перехват изображения рабочего стола окончательно прояснил все детали. Атакующий загрузил на машину скрипты для создания скриншотов экрана, а потом и вовсе, запустил прямую трансляцию происходящего на экране сотрудника службы поддержки. Сотрудники использовали клиент терминала Putty, для доступа к вычислительным узлам. Аутентификация осуществлялась по приватному ключу. Атакующий выгрузил ветку системного реестра Windows с настройками Putty, узнал путь к файлу ключа и скопировал его.
Войдя в систему мониторинга, он получил список ip адресов 2636 активных узлов и попробовал войти на несколько случайно выбранных хостов с помощью скопированного ключа - авторизация была успешной. Более того, аккаунт support состоял в группе sudoers и имел возможность выполнять команды от имени root - высшая привилегия в системе. Имея в руках ключ от хостов, атакующий написал скрипт, позволяющий выполнять команды на всех хостах одновременно. Таким образом был получен интерактивный доступ к вычислительному кластеру с правами root.
Позднее, была обнаружена еще одна wi-fi сеть “Wirenboard”, которая, как позже оказалась, имеет отношение в ВЦ. Это был промышленный контроллер на базе Linux с web-интерфейсом, wi-fi адаптером и ethernet портом. На Wi-Fi сеть контроллера не был установлен пароль, а реквизиты доступа linux остались заводскими. В результате был получен root доступ к контроллеру и доступ во внутреннюю сеть ВЦ.
Взломанный контроллер стал удобным плацдармом для дальнейшего исследования сети, так как он находился одновременно в периметре служебной сети ВЦ и имел доступ через отдельную wi-fi сеть. На одной из машин был обнаружен клиент для доступа к маршрутизаторам MikroTik - WinBox, с сохраненным паролем от главного маршрутизатора. Закрепляя доступ к инфраструктуре, атакующий установил бэкдор с обратным коннектом к своему серверу на несколько случайных узлов, а также на микроконтроллер, так как время бесперебойной работы у него было заметно выше чем у вычислительных узлов.
Атака на wi-fi
Для частотной разведки на местности могут быть использованы разные комбинации устройств. В данном случае было бы идеально запустить дрона с Raspberry Pi на борту:
Или проехать на автомобиле с вот такой конфигурацией:
Дрона под рукой у атакующего не было, впрочем как и машины, поэтому он ограничился пешей прогулкой с Raspberry Pi в рюкзаке:
Мощности устройств Alfa хватает с запасом чтобы проводить сканирование удаленных точек и подключаться к ним.
На фото показаны места, наиболее подходящие для проведение атак и подключения к сети. Для атаки на сеть виллы хорошо подходит стоянка напротив, а для подключения к сети ВЦ - дорога, проходящая рядом с промкой.
Атакующий не стал терять время не перебор пароля методом грубой силы и решил применить атаку на пользователя.
Атака состояла из двух этапов:
- “Глушение” подлинной точки доступа. Всем подключенным клиентам постоянно рассылались поддельные пакеты деаутентификации, в результате чего они теряли соединение и более не могли подключаться к точке доступа.
- Запуск поддельной точки доступа с таким же названием как у оригинальной, но с отключенным шифрованием и автоматическим перенаправлением на страницу запроса пароля от wi-fi.
После успешного получения пароля атака прекращается, пользователи снова подключаются к оригинальной точке доступа.
С момента начала атаки до момента получения пароля прошло не более 40 минут.
Последние три строчки на фото показывают, как пользователь с Android телефона три раза ввел пароль от wi-fi, пробуя менять регистр букв.
Прослушка сети и перехват учетных данных системы мониторинга
После получения доступа к корпоративной сети через wi-fi точку доступа, атакующий провел сканирование сети и прослушивание сегмента. Для этого была проведена атака на отравление ARP-кеша для выбранных узлов. Суть атаки состоит в удаленной подмене ARP-таблицы на хосте, таким образом, чтобы атакуемый хост считал атакующего маршрутизатором. Такой подход называется “Человек посередине” (Man-in-the-middle MiTM).
В результате, весь сетевой трафик жертвы проходит через компьютер атакующего и попадает в мониторинг. Ввиду отсутствия шифрование у протокола http, весь трафик между хостом техподдержки и хостом системы мониторинга свободно просматривается.
На фото перехваченные учетные данные, а также версия операционной системы атакуемой машины. Версия системы будет нужна на дальнейшем этапе.
Подготовка стэйджера
Stager — это крохотный модуль, единственная задача которого заключается в том, чтобы внедриться в небольшую область памяти, а затем «вытащить» более крупные модули или дать возможность атакующему сделать это вручную.
Проще говоря, стейджер обеспечивает первоначальную стадию атаки. Конкретно в этом случае, атакующий преследовал цель получить интерактивную сессию с удаленной командной строкой Windows, не допустив сработки антивирусного ПО и системы обнаружения вторжений (SIEM). В качестве основы для полезной нагрузки, атакующий выбрал Powershell, а в качестве загрузчика (Loader) систему компиляции скриптов автоматизации AutoIt.
На выходе получился exe-файл, который запускает powershell скрипт, который в свою очередь, соединяется с хостом атакующего и предоставляет ему интерактивную сессию powershell. Каждый элемент стэйджера сам по себе является полезным программным обеспечением и отсутствует в базе антивирусных сигнатур. Открытие Powershell соединения происходит через 443 порт, что обеспечивает обход большинства стандартных правил брандмауэров.
На фото исходный код AutoIt скрипта, который будет скомпилирован в ехе-файл и отправлен жертве. Из исходника понятно, что при запуске файла будет выполнено 3 действия: произойдет скачивание и запуск скрипта p.ps1 с машины атакующего и откроется окно с текстом “Update successful!”
Подготовка бэкдора
У стейджера высокий шанс пробива антивирусной защиты, однако интерактивная сессия powershell имеет свои недостатки и неудобства. Атакующий решил загрузить более удобный и классический бэкдор - backconnect shell написанный на языке Go, с возможностью выполнения шеллкодов и запуска meterpreter-сессии.
Исходный код бэкдора был модифицирован и подвергнут компрессии чтобы максимально снизить риск срабатывания антивирусных систем. Более того, протокол связи бэкдора с атакующим хостом шифруется ssl сертификатом, такой метод позволяет обойти средства обнаружения вторжений, обеспечивая маскировку под обычный шифрованный трафик.
Атака на браузер и получение шелла
Для получение интерактивной сессии коммандной строки необходимо обеспечить доставку и запуск стейджера на целевой машине. Для этого атакующий применил атаку “Человек-по-середине” и внедрил посторонний код во все страницы браузера на целевой машине. Таким образом, на первом этапе, был получен контроль над содержимым просматриваемых веб-страниц.
На втором этапе атакующий применил технику социальной инженерии и выдал пользователю уведомление об обновлении системы мониторинга со ссылкой на файл стейджера, замаскированный под обновление.
Успешное внедрение в браузер. Видно версию ОС и тип браузера.
Успешная попытка получения скриншота открытой страницы в браузере.
Отправка фальшивого уведомления об обновлении.
Так выглядит уведомление в окне браузера сотрудника технической поддержки.
Сотрудник скачал и запустил установку обновление. Бутафорское окно о якобы успешной установке обновления.
Сразу после запуска обновления сотрудником службы поддержки, атакующий получил входящие соединение с интерактивной powershell-сессией
Информация о правах в системе. Локальный администратор.
Загрузка бэкдора
После получения первоначальной сессии powershell, атакующий решил загрузить более удобный backdoor, позволяющий расширить инструментарий на взломанной машине. Загрузка файлов организована через автоматизированные скрипты встроенного ftp-клиента и ftp-сервера на хосте атакующего. Дальнейшая работа будет проходить в backdoor-сессии, а первоначальная сессия стейджера станет запасной, на случай если рабочая повиснет или разорвется.
Загрузка скриптов для скриншота и ftp
Атакующий залил скрипт для снятия скриншотов, сделал несколько снимков и загрузил их к себе на хост для анализа.
Скриншоты успешно получены.
Скриншот со взломанной машины. Сотрудник работает с системой мониторинга.
На втором скриншоте видна работа в терминальном клиенте Putty.
Прямая трансляция с экрана
Чтобы было удобнее работать, атакующий, используя возможности бэкдора, запускает прямую трансляции с экрана взломанного компьютера. На трансляции экрана становится понятно, что соединение с хостами происходит без пароля, по ключу.
Эта была основная фича, ради которой пентестер хотел иметь meterpreter на борту бекдора. У hershell он есть, однако, запуск meterpreter-сессии начал палиться Defender'ом буквально со второго запуска. Поэтому от такого решения пришлось отказаться в пользу скрипта для скриншотов и загрузки их на ftp. Мониторинг шел дольше и не так удобно, зато абсолютно безопасно для атаки.
Выгрузка реестра и копирование ключа
Атакующий написал скрипт для экспорта настроек Putty, для того, чтобы узнать где лежит ключ. Скрипт загружается и запускается на хосте. Итоговый файл взломщик копирует к себе на сервер.
Код:
regedit /e C:\Users\Support\Downloads\putty.reg HKEY_CURRENT_USER\Software\SimonTatham
Файл ключа скопирован и сконвертирован в формат ssh клиента linux. Атакующий пробует зайти на выборочные хосты - вход успешный.
Скрипт выполнения команд
Для получения централизованного управления всеми хостами, взломщик написал скрипт, позволяющий запускать команду на всех 2600 хостах.
Скрипт маскировки угнанной машины
Для того, чтобы служба поддержки и администраторы ВЦ не смогли отследить аномалии в в работе кластера атакующий решил замаскировать угнанные хосты от системы мониторинга. Для этого он запустил прослушку трафика от случайно выбранного хоста до сервера мониторинга и сохранил в файл дамп трафика. Оказалось, что хосты общаются с сервером так же без шифрования по чистому http, используя json формат.
Каждые 5 секунд хост передает на сервер сообщение со своим ID, статусом загрузки GPU, количеством карт, температурой и прочей телеметрией. Пентестер написал скрипт на python и загрузил в него слепок данных, которые работающий хост посылает на сервер. Тактика напоминает трюк из старых фильмов про ограбления банков, где грабители размещают фотку сейфа прямо перед камерой видеонаблюдения, таким образом охранник видит закрытый сейф на мониторе, а на самом деле это статическая картинка.
В нашем случае, атакующий просто добавил правило в файрволл на маскируемом хосте, которое полностью запрещает исходящий трафик в сторону ip сервера мониторинга и параллельно запустил свой скрипт-обманку на соседнем хосте. Теперь на панели мониторинга угнанный хост отображается как рабочий потому, что данные мониторинг получает поддельные. Используя ранее написанный скрипт для выполнения команд на всех хостах, пентестер может выбрать 100 узлов, запустить на них команду блокировки трафика до сервера мониторинга, параллельно он запустит скрипт-обманку, которая шлет на сервер фальшивую статистику для этих 100 хостов. Хосты угнаны, а у саппорта на экране все ОК.
Анатомия вторжения
Для атаки "Злой двойник" был использован wifiphisher. Изначально я планировал использовать Fluxion, однако, он, на равне с несколькими другими инструментами, упорно не хотел запускать dhcp сервер, и клиенты после коннекта к сети не получали ip адрес.
Это вечные приколы с драйверами, вай-фаем и первичной настройкой Kali.
В таком контексте я не вижу особой ценности Kali, как базового дистрибутива для пентеста. В нем содержится куча инструментов, больше половины из которых, вам никогда не пригодится. Поэтому, я считаю хорошим вариантом обучаться и сертифицироваться на Kali, а для проектной работы иметь любой удобный Вам дистрибутив, в котором находятся именно те инструменты, которые правильно настроены и которыми вы успешно пользуетесь.
Для "Злого двойника" я все же хотел бы иметь либо работающий Fluxion, либо любой другой инструмент, который позволит мне легко делать свои лендинги и сверять введенный ключ с перехваченным ранее хендшейком.
Для прослушки сети и инжекта в http-трафик был использован bettercap. По каким-то странным причинам, в моем Kali не заработал ettercap. Причины такие же необъяснимые как и с dhcp в примере выше. В итоге я нашел альтернативу и очень рад тому. Bettercap - это впечатляющий инструмент для сетевых атак. Его архитектура просто прекрасна. Интерфейс командной строки я бы назвал эталоном. Просто установите и посмотрите о чем я говорю. У автора получился очень крутой, кастомизируемый и автоматизируемый инструмент. Быстрый и с открытым кодом на Golang. С помощью bettercap-модулей sniff, arp spoof и http.proxy я организовал доставку javascript-модуля в браузер атакуемого пользователя.
"Man-in-the-browser"-атака была реализована с помощью фреймворка BeeF. По масштабу крутости, BeeF не уступает bettercap. Под него можно писать скрипты и автоматизировать его работу, это реально фреймворк. В моем случае было достаточно его базовых возможносей.
Отдельно хочу заметить странный подход в реализации api BeeF. Мне необходимо было закинуть файл фейкового обновления на веб-сервер, для того чтобы выдать пользователю уведомление с линком на загрузку. Так вот чтобы в BeeF положить бинарник в каталог встроенного веб-сервера, нужно исполнить странную пляску со скриптами и api-ключем и каким-то чудным образом обратиться к api, для того чтобы бинарник лег в каталог. Это какой-то бред. Ниже опишу как сделать проще.
В качестве носителя для своего стейджера я выбрал AutoIt и зашил в него ванлайнер повершелла. AutoIt был выбран только лишь потому, что это быстрый способ сделать фейк. Я рекомендую делать нормальное оконное приложение в Visual Studio. Текст ванлайнера был взят из WinPayloads. У этого публичного фреймворка удивительным образом сохранилась устойчивость к АВ-запалу для бэкдора. WinPayloads генерит кодированный в base64 psh-ванлайнер, этот ванлайнер лезет на вебсервер WinPayloads по ip и подключает (invoke) большой psh-код бекконнект-бекдора. И уже код бекдора лезет на listener Winpayloads предоставляет шелл. Общение бекдора и листенера организовано через json.
В итоге я просто отковырял часть кода, отвечающего за бекконект из WinPayloads, а сам WinPayloads запускал только ради листенера. Не стал тратить время на выпиливания листенера из этого фреймворка.
Для удобной доставки файлов рекомендую две отличные штуки. Модуль питона --- и ftp сервер ---. Одной командой запускается веб сервер и выставляет наружу содержимое каталога, в котором он был запущен. Таким же образом работает и ftp сервер. ссылка на бинарник с фейковым обновлением была именно на такой веб сервер, я не стал заморачиваться с api BeeF.
Powershell-бэкдор меня не устроил своим диким интерфейсом, я привык к обычному и понятному cmd.exe. Более того, в WinPayloads psh-бэкдоре я обнаружил баг, при выводе листинга директории с кириллицей шелл падал. Поэтому я нашел подходящий бекдор на Go - hershell. Этот бекдор не палился Защитником Windows и давал именно такой шел, который мне нравится, вдобавок, имел на борту возможность исполнять любые шеллкоды и запускать meterpreter-сессию.
Загрузку файлов с шелла я делал через curl, а аплоад файлов с шелла через скрипт для встроенного ftp клиента на мой ftp server.
Для снятия скриншотов я модифицировал скрипт с какого-то сайта для powershell-админов microsoft. Добавил генерацию имени файла и сработку сразу после запуска.
Атака проходила в несколько логически этапов, чтобы не запутаться я подготовил каталог и скрипты запуска для каждого этапа.
Каталог со скриптами атаки:
Запуск http сервера с подготовленными бинарниками и скриптами, всем тем, что нужно будет скачать на взломанный хост:
Запуск ftp сервера, сюда будет загружаться лут:
Запуск WinPayloads чтобы из него запустить listener стейджера:
Запуск сервера для бекдора:
Запуск metasploit для подхвата meterpreter сессии от hershell backdoor:
Скрипт запуска metasploit:
Запуск bettercap для инжекта js-hook BeeF во все страницы на браузере атакуемой машины:
Запуск BeeF:
Заключение
Система безопасности ВЦ имеет ряд уязвимостей, которые привели к полной компрометации критического актива компании.
Эксплуатация найденных брешей злоумышленниками гарантированно окажет негативное влияние на работу ВЦ. Текущие политики в отношении повторного использования паролей и архитектуры сети не являются адекватными ситуации и способствуют компрометации инфраструктуры объекта.
Цели теста на проникновение были сформулированы как:
o Выявление возможности проникновения удаленного злоумышленника в сеть ВЦ.
o Оценка рисков нарушения безопасности для:
- Вычислительных мощностей центра;
- Внутренней инфраструктуры и доступности информационных систем SixNines.
Важно отметить, что крах системы безопасности ВЦ вызван недостаточным контролем доступа как на уровне сети, так и на уровне сервисов. Должны быть предприняты соответствующие усилия для внедрения системы оповещения об атаках, которая могла бы вовремя проинформировать о факте проникновения в сеть посторонних лиц.
Рекомендации
Что нужно сделать прямо сейчас
Опираясь на результат тестирования, руководству рекомендуется в срочном порядке сменить названия wi-fi сетей и пароли к ним, а так же выключить контроллер или сменить на нем заводские пароли. Этих действий на первом этапе будет достаточно, чтобы снизить вероятность компрометации с высокой до средней.
Что нужно сделать в ближайшее время
В среднесрочной перспективе рекомендуется перевести все внутренние сервисы c http на https и внедрить на объекте аутентификацию по сертификату. Оборудование MikroTik поддерживает такой тип аутентификации. В рамках перехода на сертификаты, рекомендуется провести инвентаризацию авторизованных устройств по mac-адресам, и настроить маршрутизатор таким образом, чтобы он уведомлял о появлении неопознанного mac-адреса в сети, а также уведомлял о неуспешных попытках авторизации в wi-fi сети.
Что нужно сделать позже и с выделением дополнительных ресурсов
Глубокий анализ результатов тестирования подталкивает к системному решению вопроса безопасности на хостах. Рекомендуется перевести рабочие компьютеры персонала службы технической поддержки на ОС Linux. Комплекс ежедневных задач свободно позволяет это сделать, а риск выполнения вредоносного программного обеспечения сводиться к минимуму.
Рекомендуется внедрить систему оповещения о вторжении в сеть. Наряду с оповещениям от маршрутизатора достаточно будет установить небольшой скрипт на всех узлах. Задача скрипта висеть на порту и ждать подключения. При попытке подключение отправлять оповещение. Таким образом, на первичном этапе взлома, когда злоумышленник будет проводить сканирование портов и идентификацию сервисов, он непременно подключится на порт-ловушку (honeypot). Для агрегации оповещений по безопасности удобно использовать действующий сервер Grafana.
Регулярно проводить тестирования сетевой безопасности. ВЦ постоянно развивается, запускаются новые сервисы, тестируются серверы и иное оборудование. Все эти работы создают риск появления лазеек, как было в случае с контроллером WirenBoard. Необходимо разработать сиcтемный подход к тестированию и проводить его регулярно, дабы выявлять риски на ранних стадиях.
Уровень риска
Общий риск, выявленный для ВЦ в результате теста на проникновение, является Высоким. Тестирование показало прямой путь к компрометации ресурсов для внешнего атакующего. Вероятность успешной целевой атаки на ВЦ крайне велика.
Приложение 1. Этапы атаки по модели Cyber Kill Chain
Приложение 2. Детализация атаки по модели ATT&CK MITRE
Приложение 3. Наличие доступа во внутреннюю сеть через контроллер Wirenboard
Приложение 4. Описание уязвимостей
"Говорящее" название сети wi-fi
Риск: Низкий
Описание: Название wi-fi сети ясно дает понять кому она принадлежит.
Угроза: Злоумышленник легко определит какая сеть принадлежит объекту, это сильно упрощает подготовку к атаке.
Устранение: Изменить название сети на что-то нейтральное.
Одинаковые пароли на wi-fi сети
Риск: Высокий
Описание: Обе wi-fi сети имеют одинаковый пароль.
Угроза: Компрометация одной сети автоматически ведет к компрометации второй. Атака проводилась на сеть в жилой зоне, подразумевая, что техническая осведомленность персонала в доме ниже чем на промышленном объекте.
Устранение: Сменить пароли на wi-fi. Для каждой сети должен быть свой пароль.
Аутентификация по паролю на промышленном объекте
Риск: Высокий
Описание: Сеть на промышленном объекте защищена методом WPA2-PSK.
Угроза: Атака показала, что авторизация по кодовому слову не надежна, атакующий даже не стал подбирать пароль, он заставил пользователей его сообщить.
Устранение: Перейти на аутентификацию пользователей по сертификатам - WPA-Enterprise.
Работа внутренних сервисов на открытом протоколе.
Риск: Высокий
Описание: Данные между клиентом и сервером передаются в открытом виде.
Угроза: Любой пользователь сети может перехватить данные и получить реквизиты доступа, а также посылать поддельную статистику.
Устранение: Настроить работу web-серверов на протокол HTTPS. Открытый HTTP отключить.
Слабая антивирусная защита
Риск: Средний
Описание: Единственным средством антивирусной защиты рабочих станций является встроенный в ОС Windows "Защитник".
Угроза: Это антивирусное ПО низкой категории, лучше чем ничего, но недостаточно хорошо. Атака показала его неэффективность.
Устранение: Установить более качественное коммерческое антивирусное ПО.
Не безопасное хранение ключей доступа
Риск: Высокий
Описание: Ключ храниться в открытом виде. Путь к ключу доступен в системном реестре.
Угроза: Расположение ключа легко узнать и скопировать.
Устранение: Использовать для хранения ключа usb-токены.
Хранение пароля от маршрутизатора в открытом виде
Риск: Высокий
Описание: Пароль от главного маршрутизатора сохранен в программе WinBox. Файл с настройками этой программы не зашифрован и легко экспортируется специальной утилитой.
Угроза: Доступ к маршрутизатору открывает широкие возможности для злоумышленников. Можно создавать разные вариации черного входа, перенаправлять траффик и проводит атаки на недоступные ранее сегменты сети.
Устранение: Не сохранять пароль в WinBox. Ограничить круг лиц, имеющих доступ к авторизации на маршрутизаторе.
Контроллер с заводскими настройками в периметре сети
Риск: Высокий
Описание: Ненастроенный контроллер “Wiren Board” имеет встроенную wi-fi сеть для администрирования. По умолчанию она не имеет пароля. Контроллер подключен к внутренней сети через кабель ethernet. Подключившись к его wi-fi сети, клиент получает доступ во внутреннюю сеть.
Угроза: Неконтролируемый доступ во внутреннюю сеть непременно приведет к компрометации внутренних сервисов
Устранение: Отключить wi-fi сеть.
Риск: Высокий
Описание: Коммутационное оборудование расположено в легкодоступном месте.
Угроза: Неконтролируемый доступ к портам магистральных маршрутизаторов позволит прослушивать весь трафик ВЦ.
Устранение: Опечатать свободные порты. Установить видеокамеру в зоне прямой видимости оборудования. Настроить оповещение на маршрутизаторах при подключении к портам сетевых устройств.
Послесловие для коллег по индустрии
Хочу подчеркнуть моменты в пентесте, которые мне показались важными.
90% времени ушло на возню с обходом АВ. Если бы я был из блека, то этой проблемы у меня вообще бы не было. Так как у подготовленных команд есть свой софт и хороший крипт. Я просто бы прогрузил и не парился. Такое умозаключение подталкивет к мысли, что у профессиональных пентест-команд есть свой софт и свой крипт, и в этом они не отличаются от блека, просто цели разные.
Все публичные генерилки пайлоадов и обходов умирают через месяц-два. Они хороши только тем, что можно смотреть как это все устроено и делать свое комбинированное решение. Количество современных инcтрументов в пентесте просто потрясает, за 10 лет пентест улетел в космос.
Атака на человека всегда результативнее чем атака на машину. Фишинговые методы в топе рейтингов, и вряд ли они уйдут оттуда в ближайшее время. Прочитав книжку Митника, понял что это вечная тема. Только есть некая грань, где хакинг превращается во фрод. Но в итоге все равно все работают на результат.
Пентест занимает кучу времени и должен хорошо оплачиваться, иначе - заниматься им не имеет смысла. В блеке все усилия окупаются лутом. Пришел, вошел, забрал - всё. А в пентесте тебе еще портянку нужно написать и написать её нужно грамотно и по стандартам, потому, что клиент, по факту, платит за портянку. Он вам деньги, а вы ему результат. Результат - это писанина. Вся эта писанина должна выглядеть на тот ценник, который заявлен в договоре, иначе к вам не придут повторно. А если клиент к вам не возвращается, значит ваш продукт - говно.
Последнее редактирование модератором: