
A repository of sysmon configuration modules
यह Microsoft Sysinternals Sysmon यहाँ डाउनलोड करें कॉन्फ़िगरेशन रिपॉज़िटरी है, जिसे विशेष कॉन्फ़िगरेशन के आसान रखरखाव और निर्माण के लिए मॉड्यूलर रूप से तैयार किया गया है।
कृपया ध्यान रखें कि इनमें से किसी भी कॉन्फ़िगरेशन को केवल एक शुरुआती बिंदु माना जाना चाहिए, प्रत्येक वातावरण के अनुसार ट्यूनिंग अत्यधिक अनुशंसित है।
नोट: FileExecutable इवेंट से और अधिक मूल्य प्राप्त करने के लिए, LOLdrivers कॉन्फ़िगरेशन के नवीनतम संस्करण को भी कॉन्फ़िगरेशन में मर्ज करने पर विचार करें। आप फ़ाइल को लेकर और उसे 29_file_execute_detected फ़ोल्डर में जोड़कर तथा नया कॉन्फ़िगरेशन जनरेट करके ऐसा आसानी से कर सकते हैं।
रिपॉज़िटरी में मौजूद sysmonconfig.xml PowerShell स्क्रिप्ट द्वारा सफल मर्ज और Azure Pipeline रन में Sysmon द्वारा सफल लोड के बाद स्वचालित रूप से जनरेट होता है। अपने स्वयं के मॉड्यूल को शामिल करते हुए कस्टम कॉन्फ़िगरेशन कैसे जनरेट करें, इसकी अधिक जानकारी यहाँ देखें।
नीचे दिए गए दस्तावेज़ के अलावा, इस प्रोजेक्ट का उपयोग कैसे करें, इस पर एक वीडियो भी है।
पुराने संस्करण अभी भी शाखाओं (branches) में उपलब्ध हैं, लेकिन वे वर्तमान शाखा जितने पूर्ण नहीं हैं।
संस्करणों में जोड़ी गई सुविधाओं को समझने के लिए, मेरी छोटी ब्लॉग पोस्ट और नए लेख देखें या मेरी DerbyCon वार्ता देखें।
नोट: मैं आपके वातावरण में न्यूनतम संख्या में कॉन्फ़िगरेशन का उपयोग करने की अनुशंसा करता हूँ, कई स्पष्ट कारणों से, जैसे; रखरखाव, आउटपुट समानता, प्रबंधन क्षमता इत्यादि। लेकिन डोमेन कंट्रोलर्स, सर्वर और वर्कस्टेशन के लिए अनुकूलित कॉन्फ़िगरेशन अवश्य बनाएं।
मैं अत्यधिक अनुशंसा करता हूँ कि अपने प्रोडक्शन वातावरण में लागू करने से पहले कॉन्फ़िगरेशन को देख लें। इससे आपके पास यथासंभव कार्रवाई योग्य लॉगिंग और यथासंभव कम शोर होगा।
इसे व्यापक रूप से तैनात करने से पहले आपको अपने स्वयं के वातावरण में कॉन्फ़िगरेशन इंस्टॉल करके उसके परिणामों का अवलोकन करना होगा। उदाहरण के लिए, आपको अपने एंटीवायरस की गतिविधियों को बाहर करना होगा, अन्यथा यह संभवतः आपके लॉग्स को बेकार जानकारी से भर देगा।
$> git clone https://github.com/olafhartong/sysmon-modular.git
$> cd sysmon modular
$> . .\Merge-SysmonXml.ps1
$> Merge-AllSysmonXml -Path ( Get-ChildItem '[0-9]*\*.xml') -AsString | Out-File sysmonconfig.xml
नीचे दिए गए फ़ंक्शन mbmy को धन्यवाद सहित
नया फ़ंक्शन:
Find-RulesInBasePath - एक बेस पथ (जैसे C:\folder\sysmon-modular) लेता है और regex पैटर्न के आधार पर सभी उम्मीदवार xml नियम फ़ाइलों को ढूंढता है।
उदाहरण:
PS C:\Users\sysmon\sysmon-modular> Find-RulesInBasePath -BasePath C:\users\sysmon\sysmon-modular\ -OutputRules | Out-File available_rules.txt
Merge-AllSysmonXml नए पैरामीटर:
-BasePath - प्रदान किए गए पथ से regex पैटर्न के आधार पर सभी उम्मीदवार xml नियम फ़ाइलों को ढूंढता है और उन्हें मर्ज करता है।
उदाहरण:
PS C:\Users\sysmon\sysmon-modular> Merge-AllSysmonXml -AsString -BasePath C:\Users\sysmon\sysmon-modular\
-ExcludeList - -BasePath के साथ संयुक्त, नियमों की एक सूची लेता है और मर्ज से पहले उन्हें मिली नियमों से बाहर करता है।
उदाहरण:
PS C:\Users\sysmon\sysmon-modular> Merge-AllSysmonXml -AsString -BasePath C:\Users\sysmon\sysmon-modular\ -ExcludeList C:\users\sysmon\sysmon-modular\exclude_rules.txt
-IncludeList - -BasePath के साथ संयुक्त, बेस पथ से सभी उपलब्ध नियमों को ढूंढता है लेकिन केवल सूची में परिभाषित नियमों को मर्ज करता है।
उदाहरण:
PS C:\Users\sysmon\sysmon-modular> Merge-AllSysmonXml -AsString -BasePath C:\Users\sysmon\sysmon-modular\ -IncludeList C:\users\sysmon\sysmon-modular\include_rules.txt
नोट BasePath को sysmon-modular फ़ाइलों का पूर्ण पथ होना आवश्यक है (उदाहरण के लिए c:\tools\sysmon-modular), अन्यथा PowerShell उन्हें ढूंढने में सक्षम नहीं होगा, जिसके परिणामस्वरूप डिफ़ॉल्ट कॉन्फ़िगरेशन बनेगा।
इनक्लूड/एक्सक्लूड सूची प्रारूप उदाहरण:
3_network_connection_initiated\include_native_windows_tools.xml
12_13_14_registry_event\exclude_internet_explorer_settings.xml
12_13_14_registry_event\exclude_webroot.xml
17_18_pipe_event\include_winreg.xml
19_20_21_wmi_event\include_wmi_create.xml
2_file_create_time\exclude_chrome.xml
3_network_connection_initiated\include_native_windows_tools.xml
3_network_connection_initiated\include_ports_proxies.xml
8_create_remote_thread\include_general_commment.xml
8_create_remote_thread\include_psinject.xml
9_raw_access_read\include_general_commment.xml
कुछ विशेष इवेंट आईडी के लिए सभी sysmon-modular नियमों (पूरी डायरेक्टरी शामिल) के साथ कॉन्फ़िगरेशन बनाना और फिर बिना आयातित नियमों वाले सभी इवेंट आईडी को अक्षम करना
उदाहरण:
# generate the config
$sysmonconfig = Merge-AllSysmonXml -BasePath . -IncludeList $workingFolder\include.txt -VerboseLogging -PreserveComments
# flip off any rule groups where rules were not imported
foreach($rg in $sysmonconfig.SelectNodes("/Sysmon/EventFiltering/RuleGroup [*/@onmatch]"))
{
$ruleNodes = $rg.SelectNodes("./* [@onmatch]")
if( $ruleNodes -eq $null `
-or $ruleNodes.ChildNodes.count -gt 0)
{
# no rule nodes found (unlikely) or more than one rule found
continue
}
# RuleGroup with only one rule node
$ruleNode = $ruleNodes[0]
if($ruleNode.onmatch -eq "exclude" -and $ruleNode.ChildNodes.count -eq 0 )
{
$message = "{0} {1} has no matching conditions. Toggled to 'include' to limit output" -f $ruleNode.Name,$rg.Name
Write-Warning $message
$ruleNode.onmatch = "include"
$comment = $sysmonconfig.CreateComment($message)
$rg.AppendChild($comment) | Out-Null
}
}
इनक्लूड/एक्सक्लूड सूची प्रारूप उदाहरण (संपूर्ण नियम/इवेंट परिवारों के लिए):
5_process_ended
11_file_create
23_file_delete
7_image_load
17_18_pipe_event
व्यवस्थापक अधिकारों के साथ चलाएँ
sysmon.exe -accepteula -i sysmonconfig.xml
व्यवस्थापक अधिकारों के साथ चलाएँ
sysmon.exe -c sysmonconfig.xml
यह cnnrshd द्वारा बनाई गई एक नई सुविधा है।
इस स्क्रिप्ट का उपयोग करके जनरेट किए गए कॉन्फ़िगरेशन टिप्पणियों को बनाए रखते हैं और उचित XML इंडेंटेशन लागू होता है, जिससे पठनीयता बढ़ती है और नियम फ़ाइलों का आसान क्रॉस-रेफरेंसिंग संभव होता है।
उदाहरण प्रॉम्प्ट
python merge_sysmon_configs.py config_lists/default_list/default_list.csv -f csv -b templates/sysmon_template.xml -o test.xml
** सामग्री उत्पन्न करने का यह तरीका अभी भी नया और प्रयोगात्मक है। MDE augment और exclude-only जैसे कस्टम संस्करणों के लिए अभी कोई समर्थन नहीं है।
तीन प्रमुख Sysmon कॉन्फ़िगरेशन हैं:
@SwiftOnSecurity: कई सेटिंग्स के लिए बेहतरीन प्रारंभिक वॉकथ्रू। 1 कमांड के साथ शुरू करें https://github.com/SwiftOnSecurity/sysmon-config/।
@cyb3rops: SwiftOnSecurity का एक फोर्क, अत्याधुनिक और सक्रिय। **https://github.com/Neo23x0/sysmon-config
@olafhartong: यह रिपॉज़िटरी, जो निर्देशित प्रतिक्रिया और SIEM के लिए विस्तृत नियम नोट्स के साथ अत्यधिक रखरखाव योग्य होने पर केंद्रित है।
@Carlos_Perez द्वारा एक उत्कृष्ट सामुदायिक मार्गदर्शिका: https://github.com/trustedsec/SysmonCommunityGuide
पुल रिक्वेस्ट / इश्यू टिकट और नए परिवर्धन की अत्यधिक सराहना की जाएगी!
मैंने इस रिपॉज़िटरी को कवर करते हुए ब्लॉग पोस्ट की एक श्रृंखला शुरू की है;
एंडपॉइंट डिटेक्शन सुपरपावर्स सस्ते में - भाग 1 - MITRE ATT&CK, Sysmon और मेरी मॉड्यूलर कॉन्फ़िगरेशन
एंडपॉइंट डिटेक्शन सुपरपावर्स सस्ते में — भाग 2 — तैनाती और रखरखाव
एंडपॉइंट डिटेक्शन सुपरपावर्स सस्ते में — भाग 3 — Sysmon छेड़छाड़
मैं जब भी Sysmon इसका पता लगाने में सक्षम हो, सभी कॉन्फ़िगरेशन को ATT&CK फ्रेमवर्क में मैप करने का प्रयास करता हूँ। कृपया ध्यान दें कि यह एक संभावित लॉग प्रविष्टि है जो डिटेक्शन की ओर ले जा सकती है, हर मामले में यह उस तकनीक के लिए एकमात्र टेलीमेट्री नहीं है। इसके अलावा उस नियम से संबंधित और भी तकनीकें हो सकती हैं, जो मैप की गई है वह वही है जिसे मैंने सबसे अधिक संभावित माना है।
| Type | Config | विवरण |
|---|
| default | sysmonconfig.xml | यह संतुलित कॉन्फ़िगरेशन है, सबसे अधिक उपयोग किया जाता है, अधिक जानकारी यहाँ |
| default+ | sysmonconfig-with-filedelete.xml | यह संतुलित कॉन्फ़िगरेशन है, सबसे अधिक उपयोग किया जाता है, FileDelete फ़ाइल सेव्स सहित अधिक जानकारी। |
| verbose | sysmonconfig-excludes-only.xml | यह अत्यंत विस्तृत (verbose) कॉन्फ़िगरेशन है, सभी इवेंट शामिल हैं, केवल बहिष्करण मॉड्यूल लागू होते हैं। इसे बिना सत्यापन के प्रोडक्शन में उपयोग नहीं किया जाना चाहिए, यह महत्वपूर्ण मात्रा में डेटा उत्पन्न करेगा और प्रदर्शन को प्रभावित कर सकता है। अधिक जानकारी यहाँ |
| super verbose | sysmonconfig-research.xml | अत्यधिक विस्तृत (extremely verbose) कॉन्फ़िगरेशन। इस फ़ाइल से अपेक्षित लॉग मात्रा काफी अधिक है, वास्तव में प्रोडक्शन में उपयोग न करें! यह कॉन्फ़िगरेशन केवल शोध के लिए है, यह कहीं अधिक CPU/मेमोरी का उपयोग करेगा। इसे केवल जाँची जाने वाली तकनीक चलाने से पहले सक्षम करें, और समाप्त होने पर हल्का कॉन्फ़िगरेशन लोड करें। |
| MDE augment | sysmonconfig-mde-augmentation.xml | Defender for Endpoint को बढ़ाने (augment) हेतु एक कॉन्फ़िगरेशन, जिसका उद्देश्य जानकारी को बढ़ाना और यथासंभव कम ओवरलैप रखना है। यह डिफ़ॉल्ट/संतुलित कॉन्फ़िगरेशन पर आधारित है और Sysmon के लिए सभी इवेंट उत्पन्न नहीं करेगा, कॉन्फ़िगरेशन में टिप्पणियाँ हैं। IR के लाभ के लिए, केवल excludes कॉन्फ़िगरेशन का उपयोग करने और केवल समृद्ध करने वाले इवेंट्स को इन्जेस्ट करने पर विचार करें। (अधिक तर्कसंगत जानकारी के साथ ब्लॉग जल्द ही) |