
Canary Hunter एक त्वरित PowerShell स्क्रिप्ट होने का उद्देश्य रखता है, जो canarytokens.org पर निःशुल्क उत्पन्न विभिन्न प्रारूपों में सामान्य Canaries की जाँच करने के लिए है।
पिछले कुछ वर्षों में कई रेड टीम अभियानों को निष्पादित करते समय कई बार मुझे कैनरी टोकन (Canary Tokens) मिले हैं जो संभावित रूप से SOC को लिए गए कार्यों के प्रति सचेत कर सकते हैं। इसलिए मैंने कुछ समय इस खोज में बिताया कि क्या पर्यावरण में मौजूद फाइलों के भीतर इन कैनरी का पता लगाने के तरीके हैं। Canary Hunter को canarytokens.org पर निःशुल्क उत्पन्न विभिन्न प्रारूपों में सामान्य कैनरी की त्वरित जाँच के लिए बनाया गया था।
कैनरी टोकन डिफेंडरों को यह पता लगाने में मदद करने का एक मुफ्त, त्वरित और पीड़ारहित तरीका है कि वे सुरक्षा भंग हो चुके हैं (हमलावरों द्वारा स्वयं को प्रकट करने के माध्यम से)। कैनरी टोकन क्या हैं और उन्हें मुफ्त में कैसे उत्पन्न करें, इसकी अधिक जानकारी के लिए आप देख सकते हैं https://blog.thinkst.com/p/canarytokensorg-quick-free-detection.html
वर्तमान में स्क्रिप्ट निम्नलिखित प्रारूपों में कैनरी का पता लगा सकती है:
PS C:\> Import-Module .\CanaryHunter.psd1
डॉक्स को zip में कॉपी करता है फिर Canary Token डोमेन वाले Regex के लिए xml सामग्री पार्स करता है।
PS C:\> Invoke-DocxCheck -DocxPath gwfrr71nre84bk5gobf3h96ms.docx
Url Found:
http://canarytokens.com/feedback/traffic/gwfrr71nre84bk5gobf3h96ms/index.html
xlsx को zip में कॉपी करता है फिर Canary Token डोमेन वाले Regex के लिए xml.rels सामग्री पार्स करता है।
PS C:\> Invoke-XlsxCheck -XlsxPath .\gwfrr71nre84bk5gobf3h96ms.xlsx
Url Found:
http://canarytokens.com/images/tags/articles/gwfrr71nre84bk5gobf3h96ms/contact.php
निर्दिष्ट .pdf पर PDFStreamDumper निष्पादित करता है फिर कीवर्ड Canary के लिए .unk स्ट्रीम फ़ाइलों को पार्स करता है।
PS C:\> Invoke-PDFCheck -StreamDumperPath C:\PDFStreamDumper\PDFStreamDumper.exe -PDFPath .\gwfrr71nre84bk5gobf3h96ms.pdf
Url Found:
http://gwfrr71nre84bk5gobf3h96ms.canarytokens.net/RNGPLTCJSTEKJHOMLLYCQINNXOVOWCUVME
डिफ़ॉल्ट रूप से साइलेंट एग्ज़िट मॉनिटरिंग का उपयोग करने वाली प्रक्रिया के लिए "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit" की जाँच करता है, फिर Monitor Process Property के विरुद्ध regex चलाता है।
PS C:\> Invoke-RegistryCheck
Sensitive Command Canary Found For:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\net.exe
Monitor Process Canary Value Found:
cmd.exe /c start /min powershell.exe -windowstyle hidden -command "$($u=$(\"u$env:username\"
-replace('[^\x00-\x7f]|\s', ''))[0..63] -join '';$c=$(\"c$env:computername\" -replace('[^\x00-\x7f]|\s', ''));
Resolve-DnsName -Name \"$c.UN.$u.CMD.gwfrr71nre84bk5gobf3h96ms.canarytokens.com\")"
Bobby Lin's Blog के आधार पर निःशुल्क Canary token सेवा से AWS खाते से संबंधित हो सकने वाली AWS एक्सेस कुंजियों को स्कैन करता है।
PS C:\> Invoke-AWSCheck -AWSPath .\AWS.config
Possible Canary Config Found:
AWS.config:2:aws_access_key_id = AKIAYVP4CIPPJUYTRES
ज्ञात Canary Token IP पतों के लिए WireGuard कॉन्फ़िग को स्कैन करता है।
PS C:\> Invoke-WireguardCheck -WireGuardPath .\WireguardConfig
Possible Canary Config Found:
Endpoint = 52.18.63.80
ज्ञात Canary Token IP पतों के लिए Kube कॉन्फ़िग को स्कैन करता है।
PS C:\> Invoke-KubeCheck -KubeConfigPath .\KubeConfig
Possible Canary Config Found:
server: https://52.18.63.80:6443
SET @b= के लिए MySQL डंप को स्कैन करता है फिर यह निर्धारित करने के लिए regex चलाता है कि MASTER HOST में ज्ञात Canary Token IP पते हैं या नहीं।
PS C:\> Invoke-MySqlDumpCheck -MySQLDumpPath .\gwfrr71nre84bk5gobf3h96ms_mysql_dump.sql
Url Found:
MASTER_HOST='gwfrr71nre84bk5gobf3h96ms.canarytokens.com'
ज्ञात Canary IP को ब्लॉक करता है
PS C:\> Invoke-BlockCanaries
DisplayName : Block All Known Canary IP Addresses
Enabled : True
Profile : Any
Direction : Outbound
Action : Block
Firewall Rule to Block Canary IP Addresses Succesffully Created