
Eine Sammlung von Splunks Search Processing Language (SPL) für Threat Hunting mit CrowdStrike Falcon
Eine Sammlung von Splunks Search Processing Language (SPL) für Threat Hunting mit CrowdStrike Falcon
Entwickelt und gepflegt vom Intelligent Response-Team der i-secure co., Ltd.
Diese Abfrage ist inspiriert von Red Canarys Forschung. Eine Erklärung auf Thailändisch finden Sie in unserem Blog.
Idee:
NewExecutableRenamed.TargetFileName aus dem NewExecutableRenamed-Ereignis mit einem Dateinamen, der im Feld ImageFileName des ProcessRollup2-Ereignisses verfügbar ist.ComputerName, timestamp, ImageFileName und CommandLine als Spalten.event_simpleName="NewExecutableRenamed"
| rename TargetFileName as ImageFileName
| join ImageFileName
[ search event_simpleName="ProcessRollup2" ]
| table ComputerName SourceFileName ImageFileName CommandLine
Diese Abfrage ist inspiriert von Red Canarys Forschung. Eine Erklärung auf Thailändisch finden Sie in unserem Blog.
Idee:
DnsRequest- und NetworkConnectIP4-Ereignisse besitzt. Wir werden in dieser Abfrage das DnsRequest-Ereignis verwenden.ContextProcessId aus dem DnsRequest-Ereignis mit TargetProcessId im ProcessRollup2-Ereignis.ComputerName, timestamp, ImageFileName und CommandLine als Spalten.Da unsere Suchabfrage zum Filtern eine Liste bekannter LOL-Binaries/-Dateien benötigt, müssen wir eine Liste der Dateien auflisten, die auf LOLBAS-Project/LOLBas verfügbar sind. Das kann einfach mit einem grep-Ausdruck erledigt werden: 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
Diese Abfrage ist inspiriert von Red Canarys Forschung. Eine Erklärung auf Thailändisch finden Sie in unserem Blog.
Idee:
DNSRequest- oder NetworkConnectIP4-Ereignis aufgezeichnet wurden; in dieser Abfrage verwenden wir NetworkConnectIP4.ContextProcessId_decimal mit TargetProcessId_decimal in ProcessRollup2-Ereignissen.RemoteIP, RemotePort_decimal, ImageFileName, UserName und 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
Diese Abfrage ist inspiriert von Red Canarys Forschung. Eine Erklärung auf Thailändisch finden Sie in unserem Blog.
Idee:
DNSRequest-Ereignis aufgezeichnet wurden.ContextProcessId aus DNSRequest mit TargetProcessId in ProcessRollup2- und SyntheticProcessRollup2-Ereignissen.TargetProcessId_decimal von Explorer.exe aus dem ProcessRollup2-Ereignis zu identifizieren, und dann mit der inneren verschachtelten Teilsuche zusammengeführt, die dafür verantwortlich ist, PowerShell.exe zu finden, das dieselbe ParentProcessId_decimal wie TargetProcessId_decimal von hat.Beachten Sie, dass Sie bei Verwendung von ParentProcessId_decimal den Suchzeitraum möglicherweise länger als üblich ausdehnen müssen. Denn einige Prozesse, insbesondere Systemprozesse, haben normalerweise eine hohe Betriebszeit, wurden aber kürzlich missbraucht.
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
Diese Abfrage ist inspiriert von MENASECs Forschung.
CrowdStrike hat für diese Art von Verhalten eine Ereigniskategorie namens RegSystemConfigValueUpdate. Allerdings werden LastLoggedOnUser und LastLoggedOnSAMUser nicht als Systemkonfiguration betrachtet. Daher können wir nur einen Versuch finden, RDP-Tcp\PortNumber zu bearbeiten.
event_simpleName="RegSystemConfigValueUpdate" AND RegObjectName="*\RDP-Tcp" AND RegValueName="PortNumber"
| rename RegNumericValue_decimal as "NewRDPPort"
| table timestamp, ComputerName, NewRDPPort
Diese Abfrage ist inspiriert von MENASECs Forschung
Keine Ereignisse im Zusammenhang mit dieser Aktivität
Explorer.exeComputerName, timestamp, ImageFileName, DomainName und CommandLine.