
Una raccolta di Search Processing Language (SPL) di Splunk per il Threat Hunting con CrowdStrike Falcon
Una raccolta di Search Processing Language (SPL) di Splunk per la Threat Hunting con CrowdStrike Falcon
Sviluppato e mantenuto dal team Intelligent Response di i-secure co., Ltd.
Questa query è ispirata alla ricerca di Red Canary. Per la spiegazione in thailandese, consulta il nostro blog.
Idea:
NewExecutableRenamed.TargetFileName dell'evento NewExecutableRenamed con un nome file disponibile nel campo ImageFileName dell'evento ProcessRollup2.ComputerName, timestamp, ImageFileName e CommandLine come colonne.event_simpleName="NewExecutableRenamed"
| rename TargetFileName as ImageFileName
| join ImageFileName
[ search event_simpleName="ProcessRollup2" ]
| table ComputerName SourceFileName ImageFileName CommandLine
Questa query è ispirata alla ricerca di Red Canary. Per la spiegazione in thailandese, consulta il nostro blog.
Idea:
DnsRequest e NetworkConnectIP4. In questa query utilizzeremo l'evento DnsRequest.ContextProcessId dell'evento DnsRequest con TargetProcessId dell'evento ProcessRollup2.ComputerName, timestamp, ImageFileName e CommandLine come colonne.Poiché la nostra query di hunting richiede un elenco di binari/file LOL noti per il filtraggio, dobbiamo enumerare un elenco di file disponibili su LOLBAS-Project/LOLBas, cosa che può essere fatta semplicemente con un'espressione 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
Questa query è ispirata alla ricerca di Red Canary. Per la spiegazione in thailandese, consulta il nostro blog.
Idea:
DNSRequest o NetworkConnectIP4; in questa query useremo NetworkConnectIP4.ContextProcessId_decimal con TargetProcessId_decimal negli eventi ProcessRollup2.RemoteIP, RemotePort_decimal, ImageFileName, UserName e 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
Questa query è ispirata alla ricerca di Red Canary. Per la spiegazione in thailandese, consulta il nostro blog.
Idea:
DNSRequest.ContextProcessId di DNSRequest con TargetProcessId negli eventi ProcessRollup2 e SyntheticProcessRollup2.TargetProcessId_decimal di Explorer.exe dall'evento ProcessRollup2, che verrà poi unita alla sub-ricerca nidificata interna responsabile di trovare PowerShell.exe con lo stesso ParentProcessId_decimal del TargetProcessId_decimal di Explorer.exe.Tieni presente che quando si usa ParentProcessId_decimal, potrebbe essere necessario estendere l'intervallo di ricerca più del solito, perché alcuni processi, soprattutto quelli di sistema, hanno di solito un uptime elevato ma sono stati abusati di recente.
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
Questa query è ispirata alla ricerca di MENASEC.
CrowdStrike dispone di una categoria di eventi chiamata RegSystemConfigValueUpdate per questo tipo di comportamento. Tuttavia, LastLoggedOnUser e LastLoggedOnSAMUser non sono considerate configurazioni di sistema. Quindi, possiamo individuare solo un tentativo di modifica di RDP-Tcp\PortNumber.
event_simpleName="RegSystemConfigValueUpdate" AND RegObjectName="*\RDP-Tcp" AND RegValueName="PortNumber"
| rename RegNumericValue_decimal as "NewRDPPort"
| table timestamp, ComputerName, NewRDPPort
Questa query è ispirata alla ricerca di MENASEC
Nessun evento correlato a questa attività
ComputerName, timestamp, ImageFileName, DomainName e CommandLine.