
क्राउडस्ट्राइक फाल्कन के साथ थ्रेट हंटिंग के लिए स्प्लंक की सर्च प्रोसेसिंग लैंग्वेज (SPL) का संग्रह
CrowdStrike Falcon के साथ थ्रेट हंटिंग के लिए Splunk की Search Processing Language (SPL) का एक संग्रह
Intelligent Response टीम, i-secure co., Ltd. द्वारा विकसित और अनुरक्षित
यह क्वेरी Red Canary के शोध से प्रेरित है। थाई में स्पष्टीकरण के लिए, कृपया हमारे ब्लॉग में देखें।
विचार:
NewExecutableRenamed मौजूद है।NewExecutableRenamed ईवेंट पर TargetFileName फ़ील्ड को ProcessRollup2 ईवेंट पर ImageFileName फ़ील्ड में उपलब्ध फ़ाइलनाम के साथ सहसंबंधित करें।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 ईवेंट का उपयोग करने जा रहे हैं।DnsRequest ईवेंट से ContextProcessId फ़ील्ड को ProcessRollup2 ईवेंट पर TargetProcessId के साथ सहसंबंधित करें।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 को ProcessRollup2 ईवेंट पर TargetProcessId_decimal के साथ सहसंबंधित करें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 ईवेंट के साथ CrowdStrike Falcon द्वारा रिकॉर्ड की गई नेटवर्क गतिविधियों की पहचान करेंDNSRequest पर ContextProcessId फ़ील्ड को ProcessRollup2 और SyntheticProcessRollup2 ईवेंट पर TargetProcessId के साथ सहसंबंधित करेंProcessRollup2 ईवेंट से Explorer.exe के TargetProcessId_decimal की पहचान करने के लिए ज़िम्मेदार होगा, और फिर आंतरिक नेस्टेड सब-सर्च के साथ जुड़ेगा जो PowerShell.exe खोजने के लिए ज़िम्मेदार है, जिसका ParentProcessId_decimal Explorer.exe के TargetProcessId_decimal के समान है।ध्यान रखें कि जब भी 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 के साथ एक परिणाम तालिका बनाएं