Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
SilkETW — ETW के लिए C# रैपर जो थ्रेट हंटिंग, मैलवेयर विश्लेषण और घटना प्रतिक्रिया के लिए कर्नेल और यूज़र-मोड इवेंट डेटा को JSON में सीरियलाइज़ करता है, जिसमें Yara एकीकरण और Elasticsearch शिपिंग शामिल है। | Kitploit
उपकरण/GitHubGitHub/mandiant/silketw
रक्षात्मक उपकरणमेमोरी फोरेंसिकफोरेंसिकमालवेयर विश्लेषणडिजिटल फोरेंसिकखतरा खुफियाघुसपैठ का पता लगानालर्निंग और शिक्षाघटना प्रतिक्रियाविसंगति का पता लगानालॉग विश्लेषणArchived
8521393 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
GitHub
mandiant/silketw

SilkETW

ETW के लिए C# रैपर जो थ्रेट हंटिंग, मैलवेयर विश्लेषण और घटना प्रतिक्रिया के लिए कर्नेल और यूज़र-मोड इवेंट डेटा को JSON में सीरियलाइज़ करता है, जिसमें Yara एकीकरण और Elasticsearch शिपिंग शामिल है।

रिपॉजिटरी देखें

SilkETW और SilkService

SilkETW और SilkService ETW के लिए लचीले C# रैपर हैं, इनका उद्देश्य ETW की जटिलताओं को दूर करना और लोगों को अनुसंधान और अंतर्निरीक्षण करने के लिए एक सरल इंटरफ़ेस देना है। जबकि दोनों परियोजनाओं में स्पष्ट रूप से रक्षात्मक (और आक्रामक) अनुप्रयोग हैं, उन्हें मुख्य रूप से अनुसंधान उपकरण माना जाना चाहिए।

आसान उपभोग के लिए, आउटपुट डेटा JSON में क्रमबद्ध किया जाता है। JSON डेटा को फ़ाइल में लिखा जा सकता है और PowerShell का उपयोग करके स्थानीय रूप से विश्लेषण किया जा सकता है, Windows इवेंटलॉग में संग्रहीत किया जा सकता है, या Elasticsearch जैसे तृतीय-पक्ष बुनियादी ढाँचे पर भेजा जा सकता है।

SilkETW और SilkService के भविष्य के बारे में अधिक जानकारी के लिए, रोडमैप अनुभाग देखें।

मीडिया

SilkETW और SilkService के बारे में अधिक पृष्ठभूमि के लिए कृपया निम्नलिखित संसाधनों से परामर्श लें।

  • SilkETW: क्योंकि मुफ़्त टेलीमेट्री … मुफ़्त है! - यहाँ
  • SilkETW और SilkService BlackHat Arsenal 2019 - यहाँ
  • ETW इवेंट्स और HELK के साथ थ्रेट हंटिंग — भाग 1: SilkETW स्थापित करना (@Cyb3rWard0g द्वारा) - यहाँ
  • ETW इवेंट्स और HELK के साथ थ्रेट हंटिंग — भाग 2: HELK को ETW इवेंट भेजना (@Cyb3rWard0g द्वारा) - यहाँ
  • Windows 10 संस्करणों में सभी मेनिफेस्ट-आधारित और mof-आधारित ETW प्रदाताओं से इवेंट (@jdu2600 द्वारा) - यहाँ
  • SilkETW और Yara के साथ संदिग्ध LDAP गतिविधि की खोज - यहाँ

कार्यान्वयन विवरण

लाइब्रेरीज़

SilkETW .Net v4.5 पर बनाया गया है और नीचे दिखाए अनुसार कई तृतीय-पक्ष लाइब्रेरीज़ का उपयोग करता है। कृपया अधिक जानकारी के लिए LICENSE-3RD-PARTY देखें।

root@kitploit:~
ModuleId                                 Version LicenseUrl                                                   
--------                                 ------- ----------                                                   
McMaster.Extensions.CommandLineUtils     2.3.2   https://licenses.nuget.org/Apache-2.0                        
Microsoft.Diagnostics.Tracing.TraceEvent 2.0.36  https://github.com/Microsoft/perfview/blob/master/LICENSE.TXT
Newtonsoft.Json                          12.0.1  https://licenses.nuget.org/MIT                               
System.ValueTuple                        4.4.0   https://github.com/dotnet/corefx/blob/master/LICENSE.TXT     
YaraSharp                                1.3.1   https://github.com/stellarbear/YaraSharp/blob/master/LICENSE

SilkETW

कमांड लाइन विकल्प

कमांड लाइन उपयोग काफी सीधा है और उपयोगकर्ता इनपुट निष्पादन प्रस्तावना में मान्य किया जाता है। अधिक जानकारी के लिए नीचे दी गई छवि देखें।

Help

SilkService

चेतावनी

SilkService इसलिए बनाया गया था क्योंकि बड़ी संख्या में लोग SilkETW को हेडलेस चलाना और एक साथ कई स्रोतों के लिए ETW संग्रह करना चाहते थे। जबकि इसके लिए स्पष्ट आकर्षण है, निम्नलिखित बिंदुओं को ध्यान में रखा जाना चाहिए।

  • SilkETW और SilkService एक एकल-व्यक्ति इंजीनियरिंग सेना द्वारा बनाए गए थे, (@FuzzySec), वे डेवलपर्स के एक विभाग द्वारा समर्थित नहीं हैं और इसलिए उनमें बग हो सकते हैं। यदि आप बग पाते हैं या इन परियोजनाओं को बेहतर बनाने के तरीके देखते हैं, तो आपको टिकट दर्ज करने और/या पुल रिक्वेस्ट सबमिट करने के लिए दृढ़ता से प्रोत्साहित किया जाता है।
  • ETW संग्रह संसाधन-गहन हो सकता है। पूर्ण प्रदर्शन परीक्षण के बिना व्यापक होस्ट रेंज पर SilkService को रोल आउट न करें। सुनिश्चित करें कि कॉन्फ़िगरेशन आपकी सबसे कम शक्तिशाली मशीनों पर स्थिर रूप से चल सकता है।

सेटअप

कंपाइल या रिलीज़ पैकेज डाउनलोड करने के बाद, आप एक एलिवेटेड प्रॉम्प्ट से निम्नलिखित कमांड जारी करके सेवा स्थापित कर सकते हैं।

root@kitploit:~
sc create SillkService binPath= "C:\Path\To\SilkService.exe" start= demand

कॉन्फ़िगरेशन

SilkService एक XML कॉन्फ़िगरेशन फ़ाइल, "SilkServiceConfig.xml" को इन्जेस्ट करता है, जिसे सेवा बाइनरी के समान निर्देशिका में रखा जाना चाहिए। एक उदाहरण कॉन्फ़िगरेशन फ़ाइल नीचे देखी जा सकती है।

root@kitploit:~
<SilkServiceConfig>
	<!--
		यह एक उपयोगकर्ता कलेक्टर है
		-> Microsoft-Windows-DotNETRuntime
		-> GUID या स्ट्रिंग-आधारित नाम
	-->
	<ETWCollector>
		<Guid>45c82358-c52d-4892-8237-ba001d396fb4</Guid>
		<CollectorType>user</CollectorType>
		<ProviderName>e13c0d23-ccbc-4e12-931b-d9cc2eee27e4</ProviderName>
		<UserKeywords>0x2038</UserKeywords>
		<OutputType>url</OutputType>
		<Path>https://some.elk:9200/NetETW/_doc/</Path>
	</ETWCollector>
	<!--
		यह एक उपयोगकर्ता कलेक्टर है
	-->
	<ETWCollector>
		<Guid>6720babc-dedc-4906-86b9-d0bc0089ec50</Guid>
		<CollectorType>user</CollectorType>
		<ProviderName>Microsoft-Windows-DNS-Client</ProviderName>
		<OutputType>eventlog</OutputType>
		<YaraScan>C:\Some\Path\RuleFolder</YaraScan>
		<YaraOptions>Matches</YaraOptions>
	</ETWCollector>
	<!--
		यह एक कर्नेल कलेक्टर है
	-->
	<ETWCollector>
		<Guid>21ac2393-3bbb-4702-a01c-b593e21913dc</Guid>
		<CollectorType>kernel</CollectorType>
		<KernelKeywords>Process</KernelKeywords>
		<OutputType>file</OutputType>
		<Path>C:\Users\b33f\Desktop\kproc.json</Path>
	</ETWCollector>
</SilkServiceConfig>

ध्यान दें कि प्रत्येक ETWCollector एलिमेंट में एक यादृच्छिक GUID होना चाहिए, इसका उपयोग आंतरिक ट्रैकिंग और लॉगिंग उद्देश्यों के लिए किया जाता है। आप PowerShell में निम्नलिखित कमांड का उपयोग करके GUID उत्पन्न कर सकते हैं:

root@kitploit:~
PS C:\> [guid]::NewGuid()

Guid
----
eee52b87-3f32-4651-b0c3-e7bb9af334aa

ऑडिटिंग

रनटाइम पर SilkService सेवा रनटाइम जानकारी रिकॉर्ड करने के लिए एक "Logs" सबफ़ोल्डर बनाएगा। यह सेवा स्थिति का सर्वेक्षण करने, सेवा पैरामीटर सत्यापन सत्यापित करने और त्रुटि जानकारी की समीक्षा करने के लिए एक अमूल्य संसाधन है। SilkService किसी भी प्रकार की त्रुटि का सामना करने पर शालीनता से बंद होने को प्राथमिकता देता है, भले ही ऐसी त्रुटि को समाप्ति की सख्त आवश्यकता न हो। यह डिज़ाइन निर्णय जानबूझकर किया गया था क्योंकि लटकते कलेक्टर या आंशिक संचालन क्षमता होना एक अच्छी रणनीति नहीं है।

यदि सेवा स्वयं बंद हो जाती है, तो हमेशा सेवा लॉग से परामर्श लें!

कुछ गलत हो गया?

कुछ गलत होना हमेशा संभव है। अधिक जानकारी के लिए सेवा लॉग देखें। जबकि SilkService ETW कलेक्टरों को समाप्त और साफ करने के लिए कॉन्फ़िगर किया गया है, यह संभव है कि प्रक्रिया समाप्ति के बाद एक पुराना कलेक्टर पंजीकृत रहे। चल रहे कलेक्टरों को सूचीबद्ध करने के लिए आप निम्नलिखित कमांड का उपयोग कर सकते हैं।

root@kitploit:~
logman -ets

यदि कोई पुराना कलेक्टर पहचाना जाता है, तो उन्हें एलिवेटेड प्रॉम्प्ट से निम्नलिखित कमांड जारी करके हटाया जा सकता है।

root@kitploit:~
Get-EtwTraceProvider |Where-Object {$.SessionName -like "SilkService*"} |ForEach-Object {Stop-EtwTraceSession -Name $.SessionName}
Get-EtwTraceProvider |Where-Object {$_.SessionName -like "SilkService*"} |Remove-EtwTraceProvider

आउटपुट प्रारूप

JSON आउटपुट संरचना

JSON आउटपुट, क्रमबद्धीकरण से पहले, निम्नलिखित C# struct के अनुसार स्वरूपित होता है।

root@kitploit:~
public struct EventRecordStruct
{
    public Guid ProviderGuid;
    public List<String> YaraMatch;
    public string ProviderName;
    public string EventName;
    public TraceEventOpcode Opcode;
    public string OpcodeName;
    public DateTime TimeStamp;
    public int ThreadID;
    public int ProcessID;
    public string ProcessName;
    public int PointerSize;
    public int EventDataLength;
    public Hashtable XmlEventData;
}

ध्यान दें कि, प्रदाता और इवेंट प्रकार के आधार पर, आपके पास XmlEventData हैश तालिका में परिवर्तनीय डेटा होगा। नीचे "Microsoft-Windows-Kernel-Process" -> "ThreadStop/Stop" के लिए नमूना JSON आउटपुट देखा जा सकता है।

root@kitploit:~
{
   "ProviderGuid":"22fb2cd6-0e7b-422b-a0c7-2fad1fd0e716",
   "YaraMatch":[

   ],
   "ProviderName":"Microsoft-Windows-Kernel-Process",
   "EventName":"ThreadStop/Stop",
   "Opcode":2,
   "OpcodeName":"Stop",
   "TimeStamp":"2019-03-03T17:58:14.2862348+00:00",
   "ThreadID":11996,
   "ProcessID":8416,
   "ProcessName":"N/A",
   "PointerSize":8,
   "EventDataLength":76,
   "XmlEventData":{
      "FormattedMessage":"Thread 11,996 (in Process 8,416) stopped. ",
      "StartAddr":"0x7fffe299a110",
      "ThreadID":"11,996",
      "UserStackLimit":"0x3d632000",
      "StackLimit":"0xfffff38632d39000",
      "MSec":"560.5709",
      "TebBase":"0x91c000",
      "CycleTime":"4,266,270",
      "ProcessID":"8,416",
      "PID":"8416",
      "StackBase":"0xfffff38632d40000",
      "SubProcessTag":"0",
      "TID":"11996",
      "ProviderName":"Microsoft-Windows-Kernel-Process",
      "PName":"",
      "UserStackBase":"0x3d640000",
      "EventName":"ThreadStop/Stop",
      "Win32StartAddr":"0x7fffe299a110"
   }
}

संग्रह के बाद

PowerShell में डेटा फ़िल्टर करें

आप निम्नलिखित सरल फ़ंक्शन का उपयोग करके PowerShell में SilkETW से JSON आउटपुट आयात कर सकते हैं।

root@kitploit:~
function Get-SilkData {
	param($Path)
	$JSONObject = @()
	Get-Content $Path | ForEach-Object {
		$JSONObject += $_ | ConvertFrom-Json
	}
	$JSONObject
}

नीचे दिए गए उदाहरण में हम कर्नेल प्रदाता से प्रक्रिया इवेंट डेटा एकत्र करेंगे और Mimikatz निष्पादन की पहचान करने के लिए इमेज लोड का उपयोग करेंगे। हम निम्नलिखित कमांड के साथ आवश्यक डेटा एकत्र कर सकते हैं।

root@kitploit:~
SilkETW.exe -t kernel -kk ImageLoad -ot file -p C:\Users\b33f\Desktop\mimikatz.json

डेटा हाथ में होने पर, हम जिन गुणों में रुचि रखते हैं, उन्हें सॉर्ट करना, grep करना और फ़िल्टर करना आसान है।

Mimikatz

Yara

SilkETW में इवेंट डेटा को फ़िल्टर या टैग करने के लिए Yara कार्यक्षमता शामिल है। फिर से, इसमें स्पष्ट रक्षात्मक क्षमताएं हैं लेकिन इसका उपयोग आपके ETW अनुसंधान को बढ़ाने के लिए भी आसानी से किया जा सकता है।

इस उदाहरण में हम Cobalt Strike के execute-assembly के माध्यम से मेमोरी में Seatbelt निष्पादन का पता लगाने के लिए निम्नलिखित Yara नियम का उपयोग करेंगे।

root@kitploit:~
rule Seatbelt_GetTokenInformation
{
	strings:
		$s1 = "ManagedInteropMethodName=GetTokenInformation" ascii wide nocase
		$s2 = "TOKEN_INFORMATION_CLASS" ascii wide nocase
		$s3 = /bool\(native int,valuetype \w+\.\w+\/\w+,native int,int32,int32&/
		$s4 = "locals (int32,int64,int64,int64,int64,int32& pinned,bool,int32)" ascii wide nocase
	
	condition:
		all of ($s*)
}

हम निम्नलिखित कमांड के साथ .Net ETW डेटा एकत्र करना शुरू कर सकते हैं। यहाँ "-yo" विकल्प इंगित करता है कि हमें केवल Yara मैच को डिस्क पर लिखना चाहिए!

root@kitploit:~
SilkETW.exe -t user -pn Microsoft-Windows-DotNETRuntime -uk 0x2038 -l verbose -y C:\Users\b33f\Desktop\yara -yo matches -ot file -p C:\Users\b33f\Desktop\yara.json

हम रनटाइम पर देख सकते हैं कि हमारा Yara नियम हिट हुआ।

Seatbelt

यह भी ध्यान दें कि हम केवल "Microsoft-Windows-DotNETRuntime" इवेंट्स का एक उपसमूह (0x2038) कैप्चर कर रहे हैं, विशेष रूप से: JitKeyword, InteropKeyword, LoaderKeyword और NgenKeyword।

SilkETW और SilkService कैसे प्राप्त करें?

आप या तो स्रोत डाउनलोड कर सकते हैं और इसे Visual Studio में कंपाइल कर सकते हैं। कृपया ध्यान दें कि आप Visual Studio का कम्युनिटी संस्करण मुफ्त में प्राप्त कर सकते हैं। या आप रिलीज़ से नवीनतम पूर्व-निर्मित संस्करण प्राप्त कर सकते हैं।

भविष्य का कार्य

चेंजलॉग

संस्करण-विशिष्ट परिवर्तनों के विवरण के लिए, कृपया चेंजलॉग देखें।

रोडमैप

  • उपयोगकर्ताओं को ट्रेस डेटा *.etl फ़ाइलों के रूप में डिस्क पर लिखने का विकल्प प्रदान करें।
  • उपयोगकर्ताओं को ट्रेस डेटा Windows इवेंट लॉग में लिखने का विकल्प प्रदान करें। (v0.5+)
  • उपयोगकर्ताओं को पूर्व-कंपाइल रिलीज़ प्रदान करें। (v0.6+)
  • एक अलग इंस्टेंस (SilkService) बनाएं जिसे कॉन्फ़िगरेशन फ़ाइल के साथ एक सेवा के रूप में तैनात किया जा सके। (v0.7+)
  • सुझाव स्वागत है!
टूल डाउनलोड करें