Пока мы говорим про организационные требования к DE и упоминаем правила обнаружения, давайте вспомним как они работают. На самом деле правила обнаружения - это правила корреляции
С правилами корреляции работает SIEM – это класс решений, предназначенный для сбора сырых событий информационной безопасности (далее – СИБ) от их источников (приложений, операционных систем, сетевого оборудования и т.п.), нормализации событий, агрегации, обогащения и их корреляции. Простыми словами - СИБ попадают в SIEM и обрабатываются, затем по заданным правилам формируются алерты. Алерт может стать инцидентом, если аналитик его подтвердит.
Как правило жизненный цикл СИБ в SIEM выглядит так:
Например, сырое событие имеет вид:
<10> 2024-10-22T10:22 host1 auditd: user1 create new process /bin/bash
Нормализованное событие:
{
date: 2024-10-22T10:22;
host: host1;
service: auditd;
username: user;
processname: /bin/bash
}
Теперь каждое значение расположено в соответствующем поле и мы можем осуществлять поиск и работу с полями. Например:
Нормализованное событие Event 1:
{
date: 2024-10-22T10:22;
src.host: host1;
dst.host: host2;
app_protocol: tcp;
duration: 120
}
Нормализованное событие Event 2:
{
date: 2024-10-22T10:23;
src.host: host1;
dst.host: host2;
app_protocol: tcp;
duration: 120
}
Нормализованное событие Event 3: {
date: 2024-10-22T10:24;
src.host: host1;
dst.host: host2;
app_protocol: tcp;
duration: 120
}
Для агрегации может понадобиться определить поля, которые должны быть одинаковые.
Определим поля:
src.host, dst.host, app_protocol. Установим время агрегации 5 секунд.
Агрегированное событие будет выглядеть следующим образом:
{
date: 2024-10-22T10:24;
src.host: host1;
dst.host: host2;
app_protocol: tcp;
count: 3
}
Например, в нашем агрегированном событие есть поля src.host и dst.host в которых хранится имя хоста отправителя и получателя. Этого не достаточно для полного понимания картины сетевого взаимодействия. Как ты считаешь какой информации не хватает
Обогащение позволяет дополнить событие любой информацией. Наше событие приобрело новый вид:
{
date: 2024-10-22T10:24;
src.host: host1;
src.ip: 10.10.1.1
dst.host: host2;
dst.ip: 10.10.20.200
app_protocol: tcp;
count: 3
}
Теперь аналитику может стать проще проводить последующий анализ или расследование инцидента.
Давайте рассмотрим пример:
Подсеть
10.10.1.0/24 – подсеть сетевого оборудования, а ip_net_DC – это сеть контроллеров домена Active Directory. Мы знаем, что в нашей инфраструктуре из подсети 10.10.1.0/24 не должны открываться соединения к контроллерам домена. Для обнаружения такого поведения мы можем написать правило на псевдоалгоритмическом языке:
Имя алерта: подключение к контроллеру домена с сетевого оборудования
Критичность: высокая
Если
src.ip входит в [10.10.1.0/24]
И
dst.ip входит в [ip_net_DC]
то регистрируй АЛЕРТ
#detection@detectioneasy
#note@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2😁2
AI Агенты все больше проникают в повседневную деятельность пентестеров и soc
Forwarded from PWN AI (Artyom Semenov)
Мои коллеги недавно выпустили PentAGI.
Что это ? Это мультиагентная система, которая проводит пентест(сейчас это веб-приложения).
Там есть несколько агентов. Агенты задаются различными инструкциями и есть агент который управляет всей системой. Промпты можем посмотреть тут:
https://github.com/vxcontrol/pentagi/tree/master/backend/pkg/templates/prompts - тут можем посмотреть.
Система использует инструменты из докерного образа kali. И в целом это крутое решение, собранный образ без проблем может быть запущен где-либо.
А инструментов тут достаточно много, больше 20.
Есть приятный графический интерфейс а также вы можете мониторить действия, которые совершают агенты через интеграцию Grafana/Prometheus.
В качестве управляющей модели можно использовать GPT, CLAUDE, DeepSeek. А по итогу работы инструмента вы конечно же получаете отчёт, содержащий уязвимости.
Сам проект доступен на гитхабе. И авторы активно призывают к развитию проекта. Вы можете потестировать его и оставить свои предложения в issue на гитхабе. А вот и демка с демонстрацией того как инструмент работает.
https://pentagi.com/
Что это ? Это мультиагентная система, которая проводит пентест(сейчас это веб-приложения).
Там есть несколько агентов. Агенты задаются различными инструкциями и есть агент который управляет всей системой. Промпты можем посмотреть тут:
https://github.com/vxcontrol/pentagi/tree/master/backend/pkg/templates/prompts - тут можем посмотреть.
Система использует инструменты из докерного образа kali. И в целом это крутое решение, собранный образ без проблем может быть запущен где-либо.
А инструментов тут достаточно много, больше 20.
Есть приятный графический интерфейс а также вы можете мониторить действия, которые совершают агенты через интеграцию Grafana/Prometheus.
В качестве управляющей модели можно использовать GPT, CLAUDE, DeepSeek. А по итогу работы инструмента вы конечно же получаете отчёт, содержащий уязвимости.
Сам проект доступен на гитхабе. И авторы активно призывают к развитию проекта. Вы можете потестировать его и оставить свои предложения в issue на гитхабе. А вот и демка с демонстрацией того как инструмент работает.
https://pentagi.com/
👍4❤1😁1
В прошлом году, после дропа lnk-файлов, было актульно на одном из этапов использовать AutoIt 🤖
В статье и тут описываются TTP одной из APT 🥷, которые в своем арсенале используют AutoIt.
Страшно ли это для нас?) Скорее нет🤡 , чем да, при правильно настроенном сборе событий, мы можем обнаружить такую активность:
#ttp@detectioneasy
В статье и тут описываются TTP одной из APT 🥷, которые в своем арсенале используют AutoIt.
Страшно ли это для нас?) Скорее нет
ProviderName="Microsoft-Windows-Sysmon» and EventId = 1 and OriginalFileName = "autoIt*.exe"
ProviderName="Microsoft-Windows-Sysmon" and EventId = 1 and Image = ".*\\autoIt*.exe"
ProviderName="Microsoft-Windows-Sysmon" and EventId = 1 and (Description = "autoIt*.exe" or Product "autoIt*.exe")
ProviderName="Microsoft-Windows-Sysmon» and EventId = 11 and (TargetFilename endswith ".au3" or endswith TargetFilename ".a3x")
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
AutoIt
Home - AutoIt
Welcome Welcome to the AutoIt website. Please explore our services. AutoIt AutoIt is a freeware BASIC-like scripting language designed for automating the Windows GUI and general scripting. It uses a combination of simulated keystrokes, mouse movement and…
🔥3👍1😁1
https://unprotect.it/ база данных с техниками и примерами кода для MalDev
#ttp@detectioneasy
#framework@detectioneasy
#ttp@detectioneasy
#framework@detectioneasy
👍5❤1🔥1
Всем привет! 👋
Мы описали пример, как определить источники требований к мониторингу. Давайте попробуем кратко описать этот процесс для выдуманной компании World of detection.
1. Описание источника требования:
🔤 Департамент информационной безопасности (ИБ) компании World of detection.
Контактное лицо: Иван Иванов (Telegram: @ivan_ib, email: ivan.ib@detectionworld.com), Петр Иванов (Telegram: @petr_ib, email: petr.ib@detectionworld.com)
2. Что должно быть обнаружено:
🔤 Активность: Попытки подбора учетных данных (bruteforce) к корпоративным VPN-серверам.
🔤 Техническое описание:
Адреса VPN серверов: 1.1.1.1:1337, 1.1.1.2:3334, 1.1.1.3:31337
Множественные попытки аутентификации с одного IP-адреса в течение короткого промежутка времени (более 30 попыток за 5 минут).
Подключение клиента более чем с одного IP-адреса.
3. Причина для проработки нового обнаружения:
🔤 Источник требования: Результаты последнего тестирования Red Team показали, что текущие правила не обнаруживают атаки методом bruteforce на VPN-серверы.
🔤 Риск: Злоумышленники могут получить доступ к корпоративной сети, что может привести к утечке данных или компрометации критически важных систем.
4. Исключения из правила:
🔤 Белый список: IP-адреса офисов компании
5. Дополнительные данные:
🔤 Логи: Пример логов с попытками bruteforce, если есть.
🔤 PCAP-файлы: Пример сетевого трафика, если доступен.
Если у вас есть вопросы или хотите узнать больше, пишите в комментариях! 🛡️
#notes@detectioneasy
#detection@detectioneasy
Мы описали пример, как определить источники требований к мониторингу. Давайте попробуем кратко описать этот процесс для выдуманной компании World of detection.
1. Описание источника требования:
Контактное лицо: Иван Иванов (Telegram: @ivan_ib, email: ivan.ib@detectionworld.com), Петр Иванов (Telegram: @petr_ib, email: petr.ib@detectionworld.com)
2. Что должно быть обнаружено:
Адреса VPN серверов: 1.1.1.1:1337, 1.1.1.2:3334, 1.1.1.3:31337
Множественные попытки аутентификации с одного IP-адреса в течение короткого промежутка времени (более 30 попыток за 5 минут).
Подключение клиента более чем с одного IP-адреса.
3. Причина для проработки нового обнаружения:
4. Исключения из правила:
5. Дополнительные данные:
Если у вас есть вопросы или хотите узнать больше, пишите в комментариях! 🛡️
#notes@detectioneasy
#detection@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤🔥2🍌2
Интересно, что у нас по дроперам 🦔?)
Скажем спасибо швиндовсу 🏠 за прекрасный формат *.msc, который описывает в xml оснастки. Мотивированные ребята придумали способ, как исполнять процессы, используя их, и назвали его - GrimResource.
На GitHub есть билдер, который позволяет создавать такие нагрузки.
Что это значит для нас? Ничего страшного, мониторинг - это просто))
Какие варианты обнаружения 🔭?
🔤 Появление новых файлов с расширением
🔤 Запуск
🔤 Родительский процесс - это
Как не стать жертвой такой техники?😿
Реализовать тестирование самим, нужно подготовить несколько сценариев, например:
🔤 письмо с вложенным msc
🔤 письмо с упакованным msc в несколько контейнеров
🔤 письмо с линком на msc
🔤 письмо с линком на упакованный msc в несколько контейнеров
Если у тебя по результатам 4х тестов будет 4+ детекта значит использование этой процедуры мы обнаружим своевременно)
🔤 к выше описанным детектам можно добавить вердикт твоего AV-решения, как хостового, так и почтового
Дополнительно можем похантить:
🔤 в директориях пользователей ищем
🔤 в Prefetch ищем
🔤 в MFT ищем создание
🔤 можем поискать ярой
Если у вас есть вопросы или хотите узнать больше, пишите в комментариях! 🛡️
#ttp@detectioneasy
#detection@detectioneasy
Скажем спасибо швиндовсу 🏠 за прекрасный формат *.msc, который описывает в xml оснастки. Мотивированные ребята придумали способ, как исполнять процессы, используя их, и назвали его - GrimResource.
На GitHub есть билдер, который позволяет создавать такие нагрузки.
Что это значит для нас? Ничего страшного, мониторинг - это просто))
Какие варианты обнаружения 🔭?
.msc в директориях пользователя (например, C:\Users\<Username>\Downloads)
ProviderName="Microsoft-Windows-Sysmon» and EventId = 11 and (TargetFilename endswith «.msc» and TargetFilename «?:\\Users\.*\.msc»)
mmc.exe с оснасткой не из системной директории
ProviderName="Microsoft-Windows-Sysmon" and EventId = 1 and Image = ".*\mmc.exe" and CommandLine not in ["?:\\Windows\\System32\\*.msc",
"?:\\Windows\\SysWOW64\\*.msc",
"?:\\Program files\\*.msc",
"?:\\Program Files (x86)\\*.msc»]
mmc.exe и оснастка не из системной директории
ProviderName="Microsoft-Windows-Sysmon" and EventId = 1 and ParentImage = ".*\mmc.exe" and ParentCommandLine not in ["?:\\Windows\\System32\\*.msc",
"?:\\Windows\\SysWOW64\\*.msc",
"?:\\Program files\\*.msc",
"?:\\Program Files (x86)\\*.msc»]
Как не стать жертвой такой техники?
Реализовать тестирование самим, нужно подготовить несколько сценариев, например:
Если у тебя по результатам 4х тестов будет 4+ детекта значит использование этой процедуры мы обнаружим своевременно)
Дополнительно можем похантить:
*.mscMMC*.pf (кроме серверных версий Windows)*.mscЕсли у вас есть вопросы или хотите узнать больше, пишите в комментариях! 🛡️
#ttp@detectioneasy
#detection@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - ZERODETECTION/MSC_Dropper
Contribute to ZERODETECTION/MSC_Dropper development by creating an account on GitHub.
🔥6👍4⚡3
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Detection is easy. Устанавливаем OPNSense и настраиваем NetFlow
Продолжаем серию статей. - Detection is easy , посвященных Detection engineering (DE), о чем я пишу в одноименном Telegram-канале . Сегодня мы рассмотрим установку OPNSense на Proxmox и...
👍6🔥2🍌2
MalDev Academy представили POC для скрытия и извлечения исполняемого файла из PNG-картинки. Для запуска используется LNK-файл, который запускает
🔤 для запукска dll
🔤 для запукска exe
Для скрытия обнаружения при анализе файла, перед аргументами вставляется 512 символов
Можем ли мы обнаружить такое поведение?))🔭
#ttp@detectioneasy
#detection@detectioneasy
powershell.exe с аргументами:
$data=[IO.File]::ReadAllBytes('{opng_fname}');$key=$data[{xor_key_offset}];$file=$env:TEMP+'\\{otpt_pe_file_name}';$i=[Text.Encoding]::ASCII.GetString($data).LastIndexOf('IDAT')+4;$xdata = ($data[$i..$data.Length] | ForEach-Object {{ $_ -bxor $key }}); [IO.File]::WriteAllBytes($file, $xdata); rundll32.exe $file {runtime_exprtdfnc_args}
$data=[IO.File]::ReadAllBytes('{opng_fname}');$key=$data[{xor_key_offset}];$file=$env:TEMP+'\\{otpt_pe_file_name}';$i=[Text.Encoding]::ASCII.GetString($data).LastIndexOf('IDAT')+4;$xdata = ($data[$i..$data.Length] | ForEach-Object {{ $_ -bxor $key }}); [IO.File]::WriteAllBytes($file, $xdata); cmd /c $file
Для скрытия обнаружения при анализе файла, перед аргументами вставляется 512 символов
пробела.Можем ли мы обнаружить такое поведение?))
#ttp@detectioneasy
#detection@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - Maldev-Academy/ExecutePeFromPngViaLNK: Extract and execute a PE embedded within a PNG file using an LNK file.
Extract and execute a PE embedded within a PNG file using an LNK file. - Maldev-Academy/ExecutePeFromPngViaLNK
🔥4👍2🍌2
Построить обнаружение мы можем, опираясь на события журналов
Подозрительная активность может начинаться с дропа LNK-файла в дирректорию пользователя или в
Если мы рассматриваем такую сборку как первый стейдж, скорее всего доставка будет в архиве, т.к. вряд ли у кого-то на почтовом шлюзе еще не заблокирована доставка LNK🙃 . Аналогичная ситуация при загрузке с линка, пользователю необходимо загружать два файла (+ браузер может заблокировать загрузку), что неудобно, поэтому атакующим нужно выдавать нагрузку в архиве.
При запуске LNK из архива реализация команды в POC работать не будет😉 . Атакующим нужно убедить жертву распаковать архив.
Порассуждали, можем обнаружить🔭
🔤 Обнаружим создание LNK в дирректории пользователя
🔤 Проверим аргументы с которыми запускается powershell
🔤 Не забудем проверить
🔤 И добавим детект на основе ADS NTFS
#ttp@detectioneasy
#detection@detectioneasy
Sysmon. События журнала Windows Powershell рассматривать не будем - логика схожа с событиями создания процесса.Подозрительная активность может начинаться с дропа LNK-файла в дирректорию пользователя или в
%TEMP%. Если мы рассматриваем такую сборку как первый стейдж, скорее всего доставка будет в архиве, т.к. вряд ли у кого-то на почтовом шлюзе еще не заблокирована доставка LNK
При запуске LNK из архива реализация команды в POC работать не будет
Порассуждали, можем обнаружить
ProviderName="Microsoft-Windows-Sysmon" and EventId = 11 and TargetFilename = "?:\Users\.*\.lnk"
ProviderName="Microsoft-Windows-Sysmon" and EventId = 1 and CommandLine = ".*-bxor.*" and CommandLine = "0x.*" and CommandLine = ".*WriteAllBytes" and Image=".*powershell.exe"
-bxor 0x в base64
ProviderName="Microsoft-Windows-Sysmon" and EventId = 1 and CommandLine = ".*IAAtAGIAeABvAHIAIAAwAHgA.*" and Image=".*powershell.exe"
ProviderName="Microsoft-Windows-Sysmon" and EventId = 15 and TargetFilename = "?:\Users\.*\.lnk:Zone.Identifier" and Contents=".*ZoneId=3.*"
#ttp@detectioneasy
#detection@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2🍌2
Привет всем
Для формирования требований на разработку правил обнаружения можно использовать платформы для управления проектами или Help Desk. Важно
Это особенно критично
актуальных для вас уязвимостей и TTP, они обеспечивают. Это поможет избежать пробелов в обнаружении угроз.Формирование требований и создание задач на разработку правил может быть организовано в разных системах или проектах. Такое разделение можно обосновать необходимостью ограничения доступа к контенту, который используется для обнаружения.
Отдельная проблема — поддержка контроля версий контента. Не все SIEM позволяют писать контент в виде кода
Итак, у организации World of Detection должна быть возможность:
#ttp@detectioneasy
#detection@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Detection is easy
Всем привет! 👋
Мы описали пример, как определить источники требований к мониторингу. Давайте попробуем кратко описать этот процесс для выдуманной компании World of detection.
1. Описание источника требования:
🔤 Департамент информационной безопасности (ИБ)…
Мы описали пример, как определить источники требований к мониторингу. Давайте попробуем кратко описать этот процесс для выдуманной компании World of detection.
1. Описание источника требования:
🔤 Департамент информационной безопасности (ИБ)…
👍4🔥2🍌2
Использование Python 🐍 для компрометации систем всем известная техника. Для ее реализации необходимо приносить интерпретатор (если его еще нет😁 ) или компилировать скрипт в исполняемый на целевой машине формат.
Небольшой обзор применения Python-скриптов
Сможем обнаружить вовремя?)🔭
#ttp@detectioneasy
Небольшой обзор применения Python-скриптов
Сможем обнаружить вовремя?)
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
GuidePoint Security
RansomHub Affiliate leverages Python-based backdoor
GuidePoint Security RansomHub Affiliate leverages Python-based backdoor. Breaking news from GRIT, get the details here.
👍5🔥2🍌2
А вы знаете в чем отличие между python.exe и pythonw.exe ⁉️
Что с обнаружением?) Ничего сверхъестественного🪄 мы не увидим, но нужно профилировать, особенно, если у вас ведется разработка ПО на python.
🔤 обнаруживаем создание файлов
🔤 обнаруживаем в аргументах командой строки
🔤 обнаруживаем запуск переименованного интерпретатора python
🔤 обнаруживаем запуск интерпретатора python
Правила общие, при использовании скриптов для автоматизации можно похантить отличия запускаемых файлов, и проверять хеши скриптов, чтобы предотвратить внедрение в них вредоносного кода
#detection@detectioneasy
pythonw.exe - позволяет запускать скрипты без открытия окна консоли, что не привлечет внимания пользователя.Что с обнаружением?) Ничего сверхъестественного
py? или python
ProviderName="Microsoft-Windows-Sysmon" and EventId = 11 and (TargetFilename = "?:\Users\.*\.py.?" or TargetFilename = "?:\Users\.*\\python.?\.exe")
python
ProviderName="Microsoft-Windows-Sysmon" and EventId = 1 and CommandLine = «.*\\python.?\.exe"
ProviderName="Microsoft-Windows-Sysmon" and OriginalFileName = "python.?" and Image != ".*\\python.?\.exe"
ProviderName="Microsoft-Windows-Sysmon" and Image = ".*\python.?\.exe" and OriginalFileName = "python.?"
Правила общие, при использовании скриптов для автоматизации можно похантить отличия запускаемых файлов, и проверять хеши скриптов, чтобы предотвратить внедрение в них вредоносного кода
#detection@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3🍌3
Как называется метод, когда хакеры приносят свой интерпретатор на хост?🗑
Anonymous Quiz
20%
BYOS
20%
BYOD
8%
BYOE
52%
BYOI
😁5❤1👍1
Всем привет
Продолжаем формировать процесс Detection Engineering в компании
World of Detection. К этому моменту у нас уже внедрен трекер задач для учета и ведется активная разработка и доработка правил обнаружения. Однако аналитики не успевают справляться с поступающими задачами.Рассмотрим ситуацию)
У компании
World of Detection используется Exchange, а OWA (Outlook Web Access) доступна из интернета. В трекер задач поступил запрос на разработку правила для обнаружения эксплуатации уязвимости Хакеры
Когда начали разбираться, почему уязвимость не была обнаружена своевременно, выяснилось, что запрос на разработку правила уже был в трекере. Аналитики еще раз пояснили, что обрабатывают задачи по мере их поступления, без какой-либо фильтрации или приоритизации.
Что мы упустили?
Один из ключевых этапов — triage (сортировка и приоритизация задач). В созданной нами ранее карточки не предусмотрено поле для критичности (срочности).
Далее я рассмотрю один из способов расчета критичности для задачи на разработку правил обнаружения. Этот способ не является панацеей, и у каждой компании может быть свой подход к определению критичности и срочности разработки правил.
#detection@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4⚡3🔥3
Неплохой вариант для фишинга 🧐 ?)
Что же нам делать?)
🔤 По старинке, смотрим создавались ли у нас файлы с расширением theme
🔤 Обращение explorer.exe и rundll32.exe на 445 порт за пределы сети
🔤 Загрузка DLL с удаленного ресурса
Хочется верить, что уже у всех закрыт доступ по WebDAV и SMB за пределы корпоративной сети)
#ttp@detectioneasy
#detection@detectioneasy
Что же нам делать?)
ProviderName="Microsoft-Windows-Sysmon" and EventId = 11 and TargetFilename = "?:\Users\.*\.theme"
ProviderName="Microsoft-Windows-Sysmon" and EventId = 3 and DestinationIp not in [10.0.0.0/8
, 172.16.0.0/12, 169.254.0.0/16] and DestinationPort = 445 and (Image endswith "explorer.exe" or Image endswith "rundll32.exe")
ProviderName="Microsoft-Windows-Sysmon" and EventId = 10 and Image endswith "rundll32.exe" and ImageLoaded startswith = '\\\\'
Хочется верить, что уже у всех закрыт доступ по WebDAV и SMB за пределы корпоративной сети)
#ttp@detectioneasy
#detection@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3👏2🍌1
Наткнулся на удобную утилиту для извлечения и расшифровки 😎 😈 данных браузера (macOS, Windows, Linux).
#ttp@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
😱5👍1😁1