Модульная среда атак на Python3 для автоматизации эксплуатации SIEM-платформ (Splunk, Graylog, OSSIM, QRadar, McAfee) с помощью кражи учетных данных, развертывания полезной нагрузки и модулей пост-эксплуатации.
MultiSIEM Modular Python3 Attack Framework
От ElevenPaths https://www.elevenpaths.com/
Использование: python3 ./siemsframework.py
SIEM — это защитные инструменты, всё чаще используемые в области кибербезопасности, особенно крупными компаниями и организациями, предназначенными для мониторинга высококритичных систем и сетей. Однако с точки зрения злоумышленника права, предоставляемые SIEM на системы и учётные записи корпоративных сетей, велики. Более того, административный доступ к SIEM может быть использован для получения выполнения кода на сервере, где установлен данный SIEM, а иногда и на клиентских машинах, учитывая, что SIEM собирает события с таких ресурсов, как серверы Active Directory, серверы AWS, базы данных и сетевые устройства (например, межсетевые экраны и маршрутизаторы).
В ходе нашего исследования мы обнаружили множество векторов атак, которые могут быть использованы против различных SIEM для их компрометации, например:
• Получение учётных записей пользователей и паролей, хранящихся в SIEM от критических систем (серверы LDAP/AD, базы данных, сетевые устройства, серверы AWS).
• Разработка и установка вредоносных приложений, таких как reverse shell для Windows/Linux, bind shell для Windows/Linux или вредоносных скриптов, с целью компрометации сервера, на котором установлен SIEM.
• Разработка и установка вредоносных приложений, таких как reverse shell для Windows/Linux, bind shell для Windows/Linux или вредоносных скриптов, с целью компрометации машин, с которых SIEM собирает события.
• Создание и применение вредоносных действий или уведомлений, позволяющих выполнять команды при наступлении определённого события, например, с целью получения reverse shell на сервере, где установлен SIEM.
• Использование паролей по умолчанию и уязвимостей SIEM в конфигурации образов OVA для получения учётных данных администратора сервера, базы данных или даже самого веб-интерфейса SIEM.
• Выполнение атак по словарю или атак грубой силы против веб- или административного интерфейса, или против клиентского ПО SIEM, для получения учётных данных администратора.
• Чтение произвольных файлов с сервера, на котором установлен SIEM.
• Получение информации о конфигурации SIEM и других релевантных параметров для проведения дальнейших атак.
На основе результатов исследования был разработан инструмент Open Source SIEMs Framework. Это модульный инструмент, разработанный на Python3 командой Innovation and Laboratory компании ElevenPaths. Он позволяет автоматизировать потенциальные атаки на различные SIEM, существующие на рынке (как коммерческие, так и с открытым исходным кодом).
SIEMs Framework поддерживает множество полезных нагрузок (payloads), которые могут быть выбраны в зависимости от атакуемого SIEM и его операционной системы. Доступны полезные нагрузки в форматах PowerShell, Python, Bash, Exe и других. После выполнения выбранной атаки инструмент отображает результаты на экране, и можно вернуться и выполнить любую другую атаку на тот же SIEM или выбрать другой SIEM для компрометации. Он имеет простой, удобный и интуитивно понятный интерфейс. В настоящее время он может использоваться со следующими SIEM: Splunk, Graylog и OSSIM.
SIEMs Framework можно загрузить с нашего Github, скачав .zip-файл или клонировав репозиторий, и он предъявляет следующие требования, которые можно установить через pip3 install -r requirements.txt:
• splunk-sdk
• requests
• python-nmap
• colorama
• pandas
• paramiko
• pymongo
• qradar4py
• requests_mock
• urllib3
После установки требований инструмент можно использовать следующим образом: python3 ./siemsframework.py
При запуске инструмента отображается главное меню, в котором необходимо выбрать, хотите ли вы сканировать конкретный IP-адрес, где может находиться SIEM, или сеть для обнаружения SIEM в ней. Для сканирования и обнаружения SIEM по конкретному IP-адресу используйте опцию 1, для сканирования сети — опцию 2.
При выборе опции 1 «Scan and Detect SIEM» инструмент запрашивает IP-адрес, чтобы просканировать определённые порты поддерживаемых SIEM и подключиться к веб- или управляющему интерфейсу для проверки, действительно ли это SIEM.
После обнаружения SIEM одним из вышеуказанных методов инструмент показывает обнаруженный SIEM красным цветом и предлагает запустить модуль атаки для этого SIEM.
При выборе опции 2 «Find SIEMs on the network» инструмент запрашивает сеть для сканирования в нотации CIDR, например: 192.168.137.0/24. После ввода информации SIEMs Framework сначала выполняет обнаружение активных систем; затем сканируются порты по умолчанию поддерживаемых SIEM, и, наконец, он подключается к веб- или управляющему интерфейсу каждой из этих систем для проверки, действительно ли это SIEM.
После обнаружения SIEM одним из вышеуказанных методов инструмент показывает обнаруженные SIEM красным цветом и запрашивает IP-адрес атакуемого SIEM.
При вводе «y» и выборе запуска модулей атак Splunk инструмент показывает все возможные атаки на этот SIEM. Для первых двух атак учётные данные не требуются, но для пятой необходимы привилегии администратора Splunk.
Этот модуль атаки содержит специальный словарь для Splunk с именем dict.txt, который состоит из 100 наиболее часто используемых паролей за 2018 год и различных перестановок торговой марки SIEM и её административного пользователя, в верхнем и нижнем регистре, с заменой гласных на цифры. Если вы хотите использовать другой список, отличный от указанного, файл /splunk/dict.txt можно заменить на любой другой список слов, при условии сохранения имени файла. Политика паролей Splunk не применяется к пользователям с ролью администратора, поэтому ограничения на количество паролей или блокировку учётной записи из-за неудачных попыток входа не действуют. Перед началом атаки по словарю инструмент проверяет, имеет ли анализируемый Splunk бесплатную версию, которая не использует никакой аутентификации, или всё ещё сохраняет пароль по умолчанию «changeme» для старых версий этого программного обеспечения:
Если на анализируемом сервере Splunk активен веб-интерфейс, этот модуль позволяет получить информацию о сервере и сессии из самого веб-интерфейса без аутентификации. Порт по умолчанию для веб-интерфейса Splunk — 8000; для использования этого модуля необходимо знать и ввести порт, на котором опубликован веб-интерфейс.
Этот модуль может использоваться на сервере Splunk или Universal Forwarder. Для его использования необходимы учётные данные администратора Splunk, которые можно получить, например, с помощью атаки по словарю (1-я атака). Результатом модуля является информация о текущей установке Splunk: версия, операционная система, конфигурации Splunk и другое.
Этот модуль используется только на серверах Splunk. Для его использования необходимы учётные данные администратора Splunk, которые можно получить, например, с помощью атаки по словарю (1-я атака). Результатом модуля являются все учётные данные, сохранённые приложениями, используемыми в Splunk для подключения к устройствам, с которых получаются события.