
Una colección del lenguaje de procesamiento de búsqueda (SPL) de Splunk para la caza de amenazas con CrowdStrike Falcon
Una colección del Lenguaje de Procesamiento de Búsquedas (SPL) de Splunk para la caza de amenazas con CrowdStrike Falcon
Desarrollado y mantenido por el equipo Intelligent Response de i-secure co., Ltd.
Esta consulta está inspirada en la investigación de Red Canary. Para una explicación en tailandés, consulte nuestro blog.
Idea:
NewExecutableRenamed.TargetFileName del evento NewExecutableRenamed con un nombre de archivo disponible en el campo ImageFileName del evento ProcessRollup2.ComputerName, timestamp, ImageFileName y CommandLine como columnas.event_simpleName="NewExecutableRenamed"
| rename TargetFileName as ImageFileName
| join ImageFileName
[ search event_simpleName="ProcessRollup2" ]
| table ComputerName SourceFileName ImageFileName CommandLine
Esta consulta está inspirada en la investigación de Red Canary. Para una explicación en tailandés, consulte nuestro blog.
Idea:
DnsRequest y NetworkConnectIP4. Vamos a usar el evento DnsRequest en esta consulta.ContextProcessId del evento DnsRequest con TargetProcessId del evento ProcessRollup2.ComputerName, timestamp, ImageFileName y CommandLine como columnas.Dado que nuestra consulta de caza requería una lista de binarios/archivos LOL conocidos para el filtrado, necesitamos enumerar una lista de archivos disponibles en LOLBAS-Project/LOLBas, lo cual se puede hacer simplemente con una expresión 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
Esta consulta está inspirada en la investigación de Red Canary. Para una explicación en tailandés, consulte nuestro blog.
Idea:
DNSRequest o NetworkConnectIP4; en esta consulta usaremos NetworkConnectIP4.ContextProcessId_decimal con TargetProcessId_decimal en los eventos ProcessRollup2.RemoteIP, RemotePort_decimal, ImageFileName, UserName y 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
Esta consulta está inspirada en la investigación de Red Canary. Para una explicación en tailandés, consulte nuestro blog.
Idea:
DNSRequest.ContextProcessId de DNSRequest con TargetProcessId en los eventos ProcessRollup2 y SyntheticProcessRollup2.TargetProcessId_decimal de Explorer.exe a partir del evento ProcessRollup2, y luego se unirá con la sub-búsqueda anidada interna, responsable de encontrar PowerShell.exe que tenga el mismo ParentProcessId_decimal que el TargetProcessId_decimal de Explorer.exe.Tenga en cuenta que cada vez que se use ParentProcessId_decimal, es posible que deba ampliar el alcance de la búsqueda más de lo habitual. Esto se debe a que algunos procesos, especialmente los procesos del sistema, suelen tener un tiempo de actividad elevado, pero han sido abusados recientemente.
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
Esta consulta está inspirada en la investigación de MENASEC.
CrowdStrike tiene una categoría de eventos llamada RegSystemConfigValueUpdate para este tipo de comportamiento. Sin embargo, LastLoggedOnUser y LastLoggedOnSAMUser no se consideran configuración del sistema. Por lo tanto, solo podemos encontrar un intento de editar RDP-Tcp\PortNumber.
event_simpleName="RegSystemConfigValueUpdate" AND RegObjectName="*\RDP-Tcp" AND RegValueName="PortNumber"
| rename RegNumericValue_decimal as "NewRDPPort"
| table timestamp, ComputerName, NewRDPPort
Esta consulta está inspirada en la investigación de MENASEC
No hay eventos relacionados con esta actividad
ComputerName, timestamp, ImageFileName, DomainName y CommandLine.