
Коллекция языка обработки поисковых запросов Splunk (SPL) для охоты за угрозами с помощью CrowdStrike Falcon
Коллекция Splunk Search Processing Language (SPL) для охоты за угрозами с CrowdStrike Falcon
Разработано и поддерживается командой Intelligent Response, i-secure co., Ltd.
Этот запрос вдохновлён исследованием Red Canary. Пояснения на тайском языке — в нашем блоге.
Идея:
NewExecutableRenamed.TargetFileName из события NewExecutableRenamed с именем файла, доступным в поле ImageFileName события ProcessRollup2.ComputerName, timestamp, ImageFileName и CommandLine.event_simpleName="NewExecutableRenamed"
| rename TargetFileName as ImageFileName
| join ImageFileName
[ search event_simpleName="ProcessRollup2" ]
| table ComputerName SourceFileName ImageFileName CommandLine
Этот запрос вдохновлён исследованием Red Canary. Пояснения на тайском языке — в нашем блоге.
Идея:
DnsRequest и NetworkConnectIP4. В этом запросе мы будем использовать событие DnsRequest.ContextProcessId из события DnsRequest с полем TargetProcessId события ProcessRollup2.ComputerName, timestamp, ImageFileName и CommandLine.Поскольку нашему охотничьему запросу требуется список известных LOL-бинарей/файлов для фильтрации, нам нужно перечислить файлы, доступные в LOLBAS-Project/LOLBas, что можно просто сделать с помощью выражения grep: grep -Poh "(?<=Name:\s)[A-Za-z0-9_-]+.exe$" OSBinaries/
event_simpleName="DnsRequest"
| rename ContextProcessId as TargetProcessId
| join TargetProcessId
[ search event_simpleName="ProcessRollup2" (FileName=Atbroker.exe OR FileName=Bash.exe OR FileName=Bitsadmin.exe OR FileName=Certutil.exe OR FileName=Cmd.exe OR FileName=Cmstp.exe OR FileName=Control.exe OR FileName=Cscript.exe OR FileName=Csc.exe OR FileName=Dfsvc.exe OR FileName=Diskshadow.exe OR FileName=Dnscmd.exe OR FileName=Esentutl.exe OR FileName=Eventvwr.exe OR FileName=Expand.exe OR FileName=Extexport.exe OR FileName=Extrac32.exe OR FileName=Findstr.exe OR FileName=Forfiles.exe OR FileName=Ftp.exe OR FileName=Gpscript.exe OR FileName=Hh.exe OR FileName=Ie4uinit.exe OR FileName=Ieexec.exe OR FileName=Infdefaultinstall.exe OR FileName=Installutil.exe OR FileName=Jsc.exe OR FileName=Makecab.exe OR FileName=Mavinject.exe OR FileName=Mmc.exe OR FileName=Msconfig.exe OR FileName=Msdt.exe OR FileName=Mshta.exe OR FileName=Msiexec.exe OR FileName=Odbcconf.exe OR FileName=Pcalua.exe OR FileName=Pcwrun.exe OR FileName=Presentationhost.exe OR FileName=Print.exe OR FileName=Regasm.exe OR FileName=Regedit.exe OR FileName=Register-cimprovider.exe OR FileName=Regsvcs.exe OR FileName=Regsvr32.exe OR FileName=Reg.exe OR FileName=Replace.exe OR FileName=Rpcping.exe OR FileName=Rundll32.exe OR FileName=Runonce.exe OR FileName=Runscripthelper.exe OR FileName=Schtasks.exe OR FileName=Scriptrunner.exe OR FileName=Sc.exe OR FileName=SyncAppvPublishingServer.exe OR FileName=Verclsid.exe OR FileName=Wab.exe OR FileName=Wmic.exe OR FileName=Wscript.exe OR FileName=Wsreset.exe OR FileName=Xwizard.exe) ]
| table ComputerName timestamp ImageFileName DomainName CommandLine
Этот запрос вдохновлён исследованием Red Canary. Пояснения на тайском языке — в нашем блоге.
Идея:
DNSRequest или NetworkConnectIP4; в этом запросе мы будем использовать NetworkConnectIP4.ContextProcessId_decimal с полем TargetProcessId_decimal из событий ProcessRollup2.RemoteIP, RemotePort_decimal, ImageFileName, UserName и UserSid_readable.event_simpleName="NetworkConnectIP4"
| rename ContextProcessId_decimal as TargetProcessId_decimal
| join TargetProcessId_decimal
[ search event_simpleName=ProcessRollup2 ]
| table RemoteIP RemotePort_decimal ImageFileName UserName UserSid_readabl
Этот запрос вдохновлён исследованием Red Canary. Пояснения на тайском языке — в нашем блоге.
Идея:
DNSRequest.ContextProcessId из DNSRequest с TargetProcessId из событий ProcessRollup2 и SyntheticProcessRollup2.TargetProcessId_decimal для Explorer.exe из события ProcessRollup2, а затем выполняется соединение с внутренним вложенным подзапросом, который ищет PowerShell.exe с тем же ParentProcessId_decimal, что и TargetProcessId_decimal у Explorer.exe.Имейте в виду, что при использовании ParentProcessId_decimal может потребоваться расширить интервал поиска больше обычного. Некоторые процессы, особенно системные, обычно имеют длительное время работы, но недавно могли быть использованы злоумышленниками.
event_simpleName="DnsRequest"
| rename ContextProcessId as TargetProcessId
| join TargetProcessId
[ search (event_simpleName="ProcessRollup2" OR event_simpleName="SyntheticProcessRollup2") AND FileName="explorer.exe"
| rename TargetProcessId_decimal as ParentProcessId_decimal
| join ParentProcessId_decimal
[ search event_simpleName="ProcessRollup2" FileName="powershell.exe" ]]
| table ComputerName timestamp ImageFileName DomainName CommandLine
Этот запрос вдохновлён исследованием MENASEC.
У CrowdStrike есть категория событий RegSystemConfigValueUpdate для такого рода поведения. Однако LastLoggedOnUser и LastLoggedOnSAMUser не считаются системной конфигурацией. Поэтому мы можем обнаружить только попытки изменить RDP-Tcp\PortNumber.
event_simpleName="RegSystemConfigValueUpdate" AND RegObjectName="*\RDP-Tcp" AND RegValueName="PortNumber"
| rename RegNumericValue_decimal as "NewRDPPort"
| table timestamp, ComputerName, NewRDPPort
Этот запрос вдохновлён исследованием MENASEC
Нет событий, связанных с этой активностью
ComputerName, timestamp, ImageFileName, DomainName и CommandLine.