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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
chainsaw — विंडोज़ फोरेंसिक आर्टिफैक्ट्स के माध्यम से तेज़ी से खोजें और छानबीन करें | Kitploit
उपकरण/GitHubGitHub/withsecurelabs/chainsaw
रक्षात्मक उपकरणफोरेंसिकडिजिटल फोरेंसिकघुसपैठ का पता लगानाघटना प्रतिक्रियालॉग विश्लेषण
GitHubwithsecurelabs/chainsaw

chainsaw

विंडोज़ फोरेंसिक आर्टिफैक्ट्स के माध्यम से तेज़ी से खोजें और छानबीन करें

रिपॉजिटरी देखें
3.6k30116 दिन पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

विंडोज फोरेंसिक आर्टिफैक्ट्स में तेजी से खोजें और हंट करें


Chainsaw विंडोज फोरेंसिक आर्टिफैक्ट्स जैसे कि इवेंट लॉग और MFT फाइल के भीतर खतरों की तेजी से पहचान करने के लिए एक शक्तिशाली 'फर्स्ट-रिस्पॉन्स' क्षमता प्रदान करता है। Chainsaw इवेंट लॉग्स में कीवर्ड के लिए खोज करने का एक सामान्य और तेज़ तरीका प्रदान करता है, तथा Sigma डिटेक्शन नियमों के लिए अंतर्निहित समर्थन और कस्टम Chainsaw डिटेक्शन नियमों के माध्यम से खतरों की पहचान करता है।

विशेषताएँ

  • 🎯 Sigma डिटेक्शन नियमों और कस्टम Chainsaw डिटेक्शन नियमों का उपयोग करके खतरों की हंट करें
  • 🔍 स्ट्रिंग मैचिंग और regex पैटर्न द्वारा फोरेंसिक आर्टिफैक्ट्स को खोजें और निकालें
  • 📅 Shimcache आर्टिफैक्ट्स का विश्लेषण करके और उन्हें Amcache डेटा से समृद्ध करके निष्पादन टाइमलाइन बनाएं
  • 💡 SRUM डेटाबेस का विश्लेषण करें और उसके बारे में जानकारी प्रदान करें
  • ⬇️ फोरेंसिक आर्टिफैक्ट्स (MFT, रजिस्ट्री हाइव्स, ESE डेटाबेस) की कच्ची सामग्री डंप करें
  • ⚡ बेहद तेज़, रस्ट में लिखा गया, @OBenamram द्वारा EVTX parser लाइब्रेरी को रैप करता है
  • 🪶 अनावश्यक ब्लोट के बिना स्वच्छ और हल्के निष्पादन और आउटपुट प्रारूप
  • 🔥 TAU Engine लाइब्रेरी द्वारा प्रदान किया गया दस्तावेज़ टैगिंग (डिटेक्शन लॉजिक मैचिंग)
  • 📑 आउटपुट को विभिन्न प्रारूपों में प्रस्तुत करें, जैसे ASCII तालिका प्रारूप, CSV प्रारूप, और JSON प्रारूप
  • 💻 MacOS, Linux और Windows पर चलाया जा सकता है

विषय-सूची

  • विशेषताएँ
  • Chainsaw क्यों?
  • विंडोज इवेंट लॉग्स के लिए हंटिंग लॉजिक
  • त्वरित आरंभ मार्गदर्शिका
    • डाउनलोड करना और चलाना
    • Nix के साथ इंस्टॉल/बिल्ड करें
    • EDR और AV चेतावनियाँ
    • Chainsaw v2 में क्या बदला
  • उदाहरण
    • खोज
    • हंटिंग
    • विश्लेषण
      • Shimcache
      • SRUM (सिस्टम रिसोर्स उपयोग मॉनिटर)
      • गैप्स (इवेंट लॉग गैप डिटेक्शन)
    • डंपिंग
  • आभार

इस टूल के लिए विस्तृत जानकारी इस टूल के Wiki में पाई जा सकती है: https://github.com/WithSecureLabs/chainsaw/wiki

Chainsaw क्यों?

WithSecure Countercept में, हम अपने प्रबंधित डिटेक्शन और रिस्पॉन्स सेवा को प्रदान करने के लिए अपने EDR एजेंट के माध्यम से एंडपॉइंट्स से कई प्रकार के टेलीमेट्री स्रोतों का सेवन करते हैं। हालाँकि, ऐसी परिस्थितियाँ होती हैं जहाँ हमें उन फोरेंसिक आर्टिफैक्ट्स का तेजी से विश्लेषण करने की आवश्यकता होती है जिन्हें हमारे EDR द्वारा कैप्चर नहीं किया गया है, एक सामान्य उदाहरण है ऐसे एस्टेट पर इंसिडेंट रिस्पॉन्स जांच जहां समझौते के समय हमारा EDR स्थापित नहीं था। Chainsaw को हमारे थ्रेट हंटर्स और इंसिडेंट रिस्पॉन्स सलाहकारों को इन परिस्थितियों में फोरेंसिक आर्टिफैक्ट्स की त्वरित ट्राइएज करने के लिए एक उपकरण प्रदान करने के लिए बनाया गया था।

विंडोज इवेंट लॉग्स

विंडोज इवेंट लॉग्स थ्रेट हंटिंग और इंसिडेंट रिस्पॉन्स जांच के लिए फोरेंसिक जानकारी का एक समृद्ध स्रोत प्रदान करते हैं। दुर्भाग्य से, इवेंट लॉग्स के माध्यम से प्रोसेसिंग और खोज करना एक धीमी और समय लेने वाली प्रक्रिया हो सकती है, और अधिकांश मामलों में लॉग डेटा के माध्यम से कुशलतापूर्वक हंट करने और डिटेक्शन लॉजिक लागू करने के लिए आसपास के इंफ्रास्ट्रक्चर – जैसे ELK स्टैक या Splunk इंस्टेंस – के ओवरहेड की आवश्यकता होती है। इस ओवरहेड का अक्सर मतलब होता है कि ब्लू टीमें अपनी जांच को आगे बढ़ाने के लिए आवश्यक दिशा और निष्कर्ष प्रदान करने हेतु विंडोज इवेंट लॉग्स की त्वरित ट्राइएज करने में असमर्थ होती हैं। Chainsaw इस समस्या को हल करता है क्योंकि यह विंडोज इवेंट लॉग्स के माध्यम से तेजी से खोज और हंट करने की अनुमति देता है।

इस लेखन के समय, बहुत कम ओपन-सोर्स, स्टैंडअलोन टूल्स हैं जो विंडोज इवेंट लॉग्स की ट्राइएज करने, लॉग्स के भीतर दिलचस्प तत्वों की पहचान करने और दुर्भावनापूर्ण गतिविधि के संकेतों का पता लगाने के लिए डिटेक्शन लॉजिक नियम प्रारूप (जैसे Sigma) लागू करने का एक सरल और तेज़ तरीका प्रदान करते हैं। हमारे परीक्षण में, जो टूल्स मौजूद थे, वे इवेंट लॉग्स की बड़ी मात्रा पर डिटेक्शन लॉजिक को कुशलतापूर्वक लागू करने में संघर्ष करते थे, जिससे वे उन परिदृश्यों के लिए अनुपयुक्त हो जाते हैं जहां त्वरित ट्राइएज की आवश्यकता होती है।

विंडोज इवेंट लॉग्स के लिए हंटिंग लॉजिक

Sigma नियम मिलान

--sigma और --mapping पैरामीटर का उपयोग करके आप SIGMA डिटेक्शन नियमों का एक सबसेट (या केवल संपूर्ण SIGMA git रिपोजिटरी) वाली निर्देशिका निर्दिष्ट कर सकते हैं और Chainsaw स्वचालित रूप से इन नियमों को लोड, कन्वर्ट और प्रदान किए गए इवेंट लॉग्स के विरुद्ध चलाएगा। मैपिंग फ़ाइल Chainsaw को बताती है कि नियम मिलान के लिए इवेंट लॉग्स में किन फ़ील्ड्स का उपयोग किया जाए। डिफ़ॉल्ट रूप से, Chainsaw कई प्रकार के इवेंट लॉग प्रकारों का समर्थन करता है, जिनमें शामिल हैं लेकिन इन्हीं तक सीमित नहीं:

नियम डिटेक्शन के लिए उपयोग किए जाने वाले फील्ड्स की पूरी सूची के लिए मैपिंग फ़ाइल देखें, और अपनी आवश्यकताओं के अनुसार इसे विस्तारित करने के लिए स्वतंत्र महसूस करें।

Chainsaw डिटेक्शन नियम

सिग्मा नियमों का समर्थन करने के अलावा, Chainsaw एक कस्टम नियम प्रारूप का भी समर्थन करता है। रिपोजिटरी में आपको एक rules निर्देशिका मिलेगी जिसमें विभिन्न Chainsaw नियम शामिल हैं जो उपयोगकर्ताओं को निम्न की अनुमति देते हैं:

  1. विंडोज डिफेंडर, F-Secure, Sophos, और कास्परस्की AV अलर्ट निकालना और पार्स करना
  2. प्रमुख इवेंट लॉग्स के साफ़ होने, या इवेंट लॉग सेवा के रुकने का पता लगाना
  3. संवेदनशील उपयोगकर्ता समूहों में उपयोगकर्ता बनाए जाने या जोड़े जाने का पता लगाना
  4. रिमोट लॉगिन (सर्विस, RDP, नेटवर्क आदि) इवेंट्स। यह हंटर्स को लेटरल मूवमेंट के स्रोतों की पहचान करने में मदद करता है
  5. स्थानीय उपयोगकर्ता खातों का ब्रूट-फोर्स

त्वरित आरंभ मार्गदर्शिका

डाउनलोड करना और चलाना

Chainsaw v2 की रिलीज़ के साथ, हमने निर्णय लिया कि अब Sigma Rules और EVTX-Attack-Samples रिपोजिटरी को Chainsaw सबमॉड्यूल के रूप में शामिल नहीं किया जाएगा। हम अनुशंसा करते हैं कि आप इन रिपोजिटरी को अलग से क्लोन करें ताकि आपके पास नवीनतम संस्करण हों।

यदि आपको अभी भी Chainsaw बाइनरी, Sigma नियमों और उदाहरण इवेंट लॉग्स वाले ऑल-इन-वन पैकेज की आवश्यकता है, तो आप इसे इस GitHub रिपो के releases section से डाउनलोड कर सकते हैं। इस रिलीज़ अनुभाग में आपको विभिन्न प्लेटफार्मों और आर्किटेक्चर के लिए Chainsaw के प्री-कंपाइल्ड बाइनरी-ओनली संस्करण भी मिलेंगे।

यदि आप Chainsaw को स्वयं कंपाइल करना चाहते हैं, तो आप Chainsaw रिपो को क्लोन कर सकते हैं:

git clone https://github.com/WithSecureLabs/chainsaw.git

और निम्न चलाकर कोड को स्वयं कंपाइल करें: cargo build --release. बिल्ड समाप्त होने के बाद, आपको target/release फ़ोल्डर में कंपाइल की गई बाइनरी की एक प्रति मिलेगी।

सुनिश्चित करें कि आप --release फ्लैग के साथ बिल्ड करें क्योंकि यह काफी तेज़ निष्पादन समय सुनिश्चित करेगा।

यदि आप शीघ्रता से देखना चाहते हैं कि Chainsaw चलने पर कैसा दिखता है, तो आप Sigma Rules और EVTX-Attack-Samples रिपोजिटरी को क्लोन कर सकते हैं:``` git clone https://github.com/SigmaHQ/sigma git clone https://github.com/sbousseaden/EVTX-ATTACK-SAMPLES.git

root@kitploit:~
और फिर नीचे दिए गए पैरामीटर के साथ Chainsaw चलाएँ:```
./chainsaw hunt EVTX-ATTACK-SAMPLES/ -s sigma/ --mapping mappings/sigma-event-logs-all.yml

Nix के साथ इंस्टॉल/बिल्ड करें```

├───devShells │ └───x86_64-linux │ └───default: development environment 'nix-shell' ├───formatter │ └───x86_64-linux: package 'alejandra-3.1.0' └───packages └───x86_64-linux ├───chainsaw: package 'chainsaw-2.10.1' └───default: package 'chainsaw-2.10.1'

root@kitploit:~
Chainsaw, एक पैकेज के रूप में, [nixpkgs](https://search.nixos.org/packages?query=chainsaw) के माध्यम से उपलब्ध है।
यदि आप NixOS का उपयोग कर रहे हैं, तो बस अपनी सिस्टम कॉन्फ़िगरेशन फ़ाइल में `chainsaw` जोड़ें।

हालाँकि, यदि आप NixOS का उपयोग नहीं कर रहे हैं, तो भी आप Nix के माध्यम से Chainsaw इंस्टॉल कर सकते हैं। अनुशंसित तरीका `nix-shell` के माध्यम से है, जो आपके $PATH पर्यावरण चर को अस्थायी रूप से संशोधित करेगा।
ऐसा करने के लिए, कृपया निम्नलिखित चलाएँ:```
nix-shell -p chainsaw

आप इस तथ्य का भी उपयोग कर सकते हैं कि यह रिपॉजिटरी एक flake है, और आप निम्नलिखित चला सकते हैं:``` nix profile install github:WithSecureLabs/chainsaw

root@kitploit:~
हालाँकि, यदि आप स्वयं chainsaw बनाना चाहते हैं, तो Nix का उपयोग करके, आप `flake.nix` का पुनः उपयोग कर सकते हैं, जो इस रिपॉजिटरी के साथ प्रदान किया गया है।  
बाइनरी बनाने के लिए, कृपया क्लोन की गई रिपॉजिटरी की रूट डायरेक्टरी में निम्नलिखित चलाएँ```
nix build .#

यह ./result निर्देशिका बनाएगा, जिसमें chainsaw बाइनरी ./result/bin/chainsaw के अंतर्गत स्थित होगी।

EDR और AV चेतावनियाँ

chainsaw को डाउनलोड और चलाते समय आप पा सकते हैं कि आपका स्थानीय EDR / एंटीवायरस इंजन Chainsaw को दुर्भावनापूर्ण के रूप में पहचानता है। आप इसके उदाहरण निम्नलिखित GitHub issues में देख सकते हैं: उदाहरण1, उदाहरण2।

ये चेतावनियाँ आमतौर पर उदाहरण इवेंट लॉग और/या Sigma नियमों के कारण होती हैं, जिनमें दुर्भावनापूर्ण स्ट्रिंग्स (जैसे "mimikatz") के संदर्भ शामिल होते हैं। हमने ऐसे मामले भी देखे हैं जहाँ Chainsaw बाइनरी को एंटी-वायरस इंजनों के एक छोटे उपसमूह द्वारा पहचाना गया है, संभवतः किसी प्रकार की ह्यूरिस्टिक डिटेक्शन के कारण।

Chainsaw v2 में क्या बदला?

जुलाई 2022 में हमने Chainsaw का संस्करण 2 जारी किया, जो Chainsaw के संचालन के तरीके का एक बड़ा पुनर्गठन है। Chainsaw v2 में कई महत्वपूर्ण सुधार शामिल हैं, जिनमें निम्नलिखित मुख्य विशेषताएँ शामिल हैं:

  • Sigma नियमों को मैप करने का एक बेहतर दृष्टिकोण, जिसके परिणामस्वरूप समर्थित Chainsaw नियमों और इवेंट लॉग के इवेंट प्रकारों की संख्या में उल्लेखनीय वृद्धि होती है।
  • बेहतर CLI आउटपुट जो डिटेक्शन वाले इवेंट लॉग के लिए सभी इवेंट डेटा का स्नैपशॉट दिखाता है।
  • JSON और XML दोनों प्रारूपों में इवेंट लॉग लोड और पार्स करने के लिए समर्थन।
  • Hunt और Search सुविधाओं के लिए साफ़ और सरल कमांड लाइन तर्क।
  • अतिरिक्त वैकल्पिक आउटपुट जानकारी, जैसे Rule Author, Rule Status, Rule Level आदि।
  • लोड किए गए नियमों को स्थिति, प्रकार और गंभीरता स्तर द्वारा फ़िल्टर करने की क्षमता।
  • अंतर्निहित Chainsaw डिटेक्शन नियमों को समर्पित Chainsaw नियम फ़ाइलों में विभाजित कर दिया गया है
  • पठनीयता में सुधार और सामुदायिक योगदान के लिए ओवरहेड को कम करने के उद्देश्य से Chainsaw के कोड की सफाई और पुनर्लेखन।

यदि आप अभी भी Chainsaw का संस्करण 1 उपयोग करना चाहते हैं, तो आप releases अनुभाग में संकलित बाइनरी पा सकते हैं, या आप v1.x.x branch में स्रोत कोड तक पहुँच सकते हैं। कृपया ध्यान दें कि Chainsaw v1 अब अनुरक्षित नहीं है, और सभी उपयोगकर्ताओं को Chainsaw v2 पर स्थानांतरित होने पर विचार करना चाहिए।

@AlexKornitzer को बहुत बड़ा धन्यवाद, जिन्होंने Chainsaw v1 के "Christmas Project" कोडबेस को v2 में एक परिष्कृत उत्पाद में बदलने में सफलता प्राप्त की।

उदाहरण

खोज

root@kitploit:~
  USAGE:
      chainsaw search [FLAGS] [OPTIONS] <pattern> [--] [path]...

  FLAGS:
      -h, --help            Prints help information
      -i, --ignore-case     Ignore the case when searching patterns
          --json            Print the output in json format
          --load-unknown    Allow chainsaw to try and load files it cannot identify
          --local           Output the timestamp using the local machine's timestamp
      -q                    Suppress informational output
          --skip-errors     Continue to search when an error is encountered
      -V, --version         Prints version information

  OPTIONS:
          --extension <extension>...    Only search through files with the provided extension
          --from <from>                 The timestamp to search from. Drops any documents older than the value provided
      -o, --output <output>             The path to output results to
      -e, --regex <pattern>...          A string or regular expression pattern to search for
      -t, --tau <tau>...                Tau expressions to search with. e.g. 'Event.System.EventID: =4104'
          --timestamp <timestamp>       The field that contains the timestamp
          --timezone <timezone>         Output the timestamp using the timezone provided
          --to <to>                     The timestamp to search up to. Drops any documents newer than the value provided

  ARGS:
      <pattern>    A string or regular expression pattern to search for. Not used when -e or -t is specified
      <path>...    The paths containing event logs to load and hunt through

कमांड उदाहरण

सभी .evtx फ़ाइलों में केस-असंवेदनशील स्ट्रिंग "mimikatz" खोजें

root@kitploit:~
./chainsaw search mimikatz -i evtx_attack_samples/

सभी .evtx फ़ाइलों में powershell स्क्रिप्ट ब्लॉक इवेंट (Event ID 4014) खोजें

root@kitploit:~
./chainsaw search -t 'Event.System.EventID: =4104' evtx_attack_samples/

एक विशिष्ट evtx लॉग में मिलान regex पैटर्न के साथ लॉगऑन इवेंट खोजें, आउटपुट JSON प्रारूप में

root@kitploit:~
./chainsaw search -e "DC[0-9].insecurebank.local" evtx_attack_samples --json

हंटिंग

root@kitploit:~
  USAGE:
      chainsaw hunt [FLAGS] [OPTIONS] [--] [path]...

  FLAGS:
          --csv             Print the output in csv format
          --full            Print the full values for the tabular output
      -h, --help            Prints help information
          --json            Print the output in json format
          --load-unknown    Allow chainsaw to try and load files it cannot identify
          --local           Output the timestamp using the local machine's timestamp
          --log             Print the output in log like format
          --metadata        Display additional metadata in the tablar output
      -q                    Suppress informational output
          --skip-errors     Continue to hunt when an error is encountered
      -V, --version         Prints version information

  OPTIONS:
          --column-width <column-width>    Set the column width for the tabular output
          --extension <extension>...       Only hunt through files with the provided extension
          --from <from>                    The timestamp to hunt from. Drops any documents older than the value provided
          --kind <kind>...                 Restrict loaded rules to specified kinds
          --level <level>...               Restrict loaded rules to specified levels
      -m, --mapping <mapping>...           A mapping file to tell Chainsaw how to use third-party rules
      -o, --output <output>                A path to output results to
      -r, --rule <rule>...                 A path containing additional rules to hunt with
      -s, --sigma <sigma>...               A path containing Sigma rules to hunt with
          --status <status>...             Restrict loaded rules to specified statuses
          --timezone <timezone>            Output the timestamp using the timezone provided
          --to <to>                        The timestamp to hunt up to. Drops any documents newer than the value provided

  ARGS:
      <rules>      The path to a collection of rules to use for hunting
      <path>...    The paths containing event logs to load and hunt through

कमांड उदाहरण

डिटेक्शन लॉजिक के लिए Sigma नियमों का उपयोग करके सभी evtx फ़ाइलों में हंट करें

root@kitploit:~
./chainsaw hunt evtx_attack_samples/ -s sigma/ --mapping mappings/sigma-event-logs-all.yml

डिटेक्शन लॉजिक के लिए Sigma नियमों और Chainsaw नियमों का उपयोग करके सभी evtx फ़ाइलों में हंट करें और परिणामों को CSV प्रारूप में results फ़ोल्डर में आउटपुट करें

root@kitploit:~
./chainsaw hunt evtx_attack_samples/ -s sigma/ --mapping mappings/sigma-event-logs-all.yml -r rules/ --csv --output results

डिटेक्शन लॉजिक के लिए Sigma नियमों का उपयोग करके सभी evtx फ़ाइलों में हंट करें, केवल विशिष्ट टाइमस्टैम्प के बीच खोजें, और परिणामों को JSON प्रारूप में आउटपुट करें

root@kitploit:~
 ./chainsaw hunt evtx_attack_samples/ -s sigma/ --mapping mappings/sigma-event-logs-all.yml --from "2019-03-17T19:09:39" --to "2019-03-17T19:09:50" --json

आउटपुट

root@kitploit:~
$ ./chainsaw hunt -r rules/ evtx_attack_samples -s sigma/rules --mapping mappings/sigma-event-logs-all.yml --level critical

     ██████╗██╗  ██╗ █████╗ ██╗███╗   ██╗███████╗ █████╗ ██╗    ██╗
    ██╔════╝██║  ██║██╔══██╗██║████╗  ██║██╔════╝██╔══██╗██║    ██║
    ██║     ███████║███████║██║██╔██╗ ██║███████╗███████║██║ █╗ ██║
    ██║     ██╔══██║██╔══██║██║██║╚██╗██║╚════██║██╔══██║██║███╗██║
    ╚██████╗██║  ██║██║  ██║██║██║ ╚████║███████║██║  ██║╚███╔███╔╝
     ╚═════╝╚═╝  ╚═╝╚═╝  ╚═╝╚═╝╚═╝  ╚═══╝╚══════╝╚═╝  ╚═╝ ╚══╝╚══╝
        By WithSecure Countercept (@FranticTyping, @AlexKornitzer)

    [+] Loading detection rules from: ../../rules/, /tmp/sigma/rules
    [+] Loaded 129 detection rules (198 not loaded)
    [+] Loading event logs from: ../../evtx_attack_samples (extensions: .evtx)
    [+] Loaded 268 EVTX files (37.5 MB)
    [+] Hunting: [========================================] 268/268

    [+] Group: Antivirus
    ┌─────────────────────┬────────────────────┬──────────┬───────────┬─────────────┬────────────────────────────────┬──────────────────────────────────┬────────────────────┐
    │      timestamp      │     detections     │ Event ID │ Record ID │  Computer   │          Threat Name           │           Threat Path            │        User        │
    ├─────────────────────┼────────────────────┼──────────┼───────────┼─────────────┼────────────────────────────────┼──────────────────────────────────┼────────────────────┤
    │ 2019-07-18 20:40:00 │ ‣ Windows Defender │ 1116     │ 37        │ MSEDGEWIN10 │ Trojan:PowerShell/Powersploit. │ file:_C:\AtomicRedTeam\atomic-   │ MSEDGEWIN10\IEUser │
    │                     │                    │          │           │             │ M                              │ red-team-master\atomics\T1056\   │                    │
    │                     │                    │          │           │             │                                │ Get-Keystrokes.ps1               │                    │
    ├─────────────────────┼────────────────────┼──────────┼───────────┼─────────────┼────────────────────────────────┼──────────────────────────────────┼────────────────────┤
    │ 2019-07-18 20:53:31 │ ‣ Windows Defender │ 1117     │ 106       │ MSEDGEWIN10 │ Trojan:XML/Exeselrun.gen!A     │ file:_C:\AtomicRedTeam\atomic-   │ MSEDGEWIN10\IEUser │
    │                     │                    │          │           │             │                                │ red-team-master\atomics\T1086\   │                    │
    │                     │                    │          │           │             │                                │ payloads\test.xsl                │                    │
    └─────────────────────┴────────────────────┴──────────┴───────────┴─────────────┴────────────────────────────────┴──────────────────────────────────┴────────────────────┘

    [+] Group: Log Tampering
    ┌─────────────────────┬───────────────────────────────┬──────────┬───────────┬────────────────────────────────┬───────────────┐
    │      timestamp      │          detections           │ Event ID │ Record ID │            Computer            │     User      │
    ├─────────────────────┼───────────────────────────────┼──────────┼───────────┼────────────────────────────────┼───────────────┤
    │ 2019-01-20 07:00:50 │ ‣ Security Audit Logs Cleared │ 1102     │ 32853     │ WIN-77LTAPHIQ1R.example.corp   │ Administrator │
    └─────────────────────┴───────────────────────────────┴──────────┴───────────┴────────────────────────────────┴───────────────┘[+] Group: Sigma
    ┌─────────────────────┬────────────────────────────────┬───────┬────────────────────────────────┬──────────┬───────────┬──────────────────────────┬──────────────────────────────────┐
    │      timestamp      │           detections           │ count │     Event.System.Provider      │ Event ID │ Record ID │         Computer         │            Event Data            │
    ├─────────────────────┼────────────────────────────────┼───────┼────────────────────────────────┼──────────┼───────────┼──────────────────────────┼──────────────────────────────────┤
    │ 2019-04-29 20:59:14 │ ‣ Malicious Named Pipe         │ 1     │ Microsoft-Windows-Sysmon       │ 18       │ 8046      │ IEWIN7                   │ ---                              │
    │                     │                                │       │                                │          │           │                          │ Image: System                    │
    │                     │                                │       │                                │          │           │                          │ PipeName: "\\46a676ab7f179e511   │
    │                     │                                │       │                                │          │           │                          │ e30dd2dc41bd388"                 │
    │                     │                                │       │                                │          │           │                          │ ProcessGuid: 365ABB72-D9C4-5CC   │
    │                     │                                │       │                                │          │           │                          │ 7-0000-0010EA030000              │
    │                     │                                │       │                                │          │           │                          │ ProcessId: 4                     │
    │                     │                                │       │                                │          │           │                          │ RuleName: ""                     │
    │                     │                                │       │                                │          │           │                          │ UtcTime: "2019-04-29 20:59:14.   │
    │                     │                                │       │                                │          │           │                          │ 430"                             │
    ├─────────────────────┼────────────────────────────────┼───────┼────────────────────────────────┼──────────┼───────────┼──────────────────────────┼──────────────────────────────────┤
    │ 2019-04-30 20:26:51 │ ‣ CobaltStrike Service         │ 1     │ Microsoft-Windows-Sysmon       │ 13       │ 9806      │ IEWIN7                   │ ---                              │
    │                     │ Installations in Registry      │       │                                │          │           │                          │ Details: "%%COMSPEC%% /b /c st   │
    │                     │                                │       │                                │          │           │                          │ art /b /min powershell.exe -no   │
    │                     │                                │       │                                │          │           │                          │ p -w hidden -noni -c \"if([Int   │
    │                     │                                │       │                                │          │           │                          │ Ptr]::Size -eq 4){$b='powershe   │
    │                     │                                │       │                                │          │           │                          │ ll.exe'}else{$b=$env:windir+'\   │
    │                     │                                │       │                                │          │           │                          │ \syswow64\\WindowsPowerShell\\   │
    │                     │                                │       │                                │          │           │                          │ v1.0\\powershell.exe'};$s=New-   │
    │                     │                                │       │                                │          │           │                          │ Object System.Diagnostics.Proc   │
    │                     │                                │       │                                │          │           │                          │ essStartInfo;$s.FileName=$b;$s   │
    │                     │                                │       │                                │          │           │                          │ .Arguments='-noni -nop -w hidd   │
    │                     │                                │       │                                │          │           │                          │ en -c &([scriptblock]::create(   │
    │                     │                                │       │                                │          │           │                          │ (New-Object IO.StreamReader(Ne   │
    │                     │                                │       │                                │          │           │                          │ w-Object IO.Compression.GzipSt   │
    │                     │                                │       │                                │          │           │                          │ ream((New-Object IO.MemoryStre   │
    │                     │                                │       │                                │          │           │                          │ am(,[Convert]::FromBase64Strin   │
    │                     │                                │       │                                │          │           │                          │ g(''H4sIAIuvyFwCA7VW+2/aSBD+OZ   │
    │                     │                                │       │                                │          │           │                          │ H6P1...                          │
    │                     │                                │       │                                │          │           │                          │ (use --full to show all content) │
    │                     │                                │       │                                │          │           │                          │ EventType: SetValue              │
    │                     │                                │       │                                │          │           │                          │ Image: "C:\\Windows\\system32\   │
    │                     │                                │       │                                │          │           │                          │ \services.exe"                   │
    │                     │                                │       │                                │          │           │                          │ ProcessGuid: 365ABB72-2586-5CC   │
    │                     │                                │       │                                │          │           │                          │ 9-0000-0010DC530000              │
    │                     │                                │       │                                │          │           │                          │ ProcessId: 460                   │
    │                     │                                │       │                                │          │           │                          │ RuleName: ""                     │
    │                     │                                │       │                                │          │           │                          │ TargetObject: "HKLM\\System\\C   │
    │                     │                                │       │                                │          │           │                          │ urrentControlSet\\services\\he   │
    │                     │                                │       │                                │          │           │                          │ llo\\ImagePath"                  │
    │                     │                                │       │                                │          │           │                          │ UtcTime: "2019-04-30 20:26:51.   │
    │                     │                                │       │                                │          │           │                          │ 934"                             │
    ├─────────────────────┼────────────────────────────────┼───────┼────────────────────────────────┼──────────┼───────────┼──────────────────────────┼──────────────────────────────────┤
    │ 2019-05-12 12:52:43 │ ‣ Meterpreter or Cobalt        │ 1     │ Service Control Manager        │ 7045     │ 10446     │ IEWIN7                   │ ---                              │
    │                     │ Strike Getsystem Service       │       │                                │          │           │                          │ AccountName: LocalSystem         │
    │                     │ Installation                   │       │                                │          │           │                          │ ImagePath: "%COMSPEC% /c ping    │
    │                     │                                │       │                                │          │           │                          │ -n 1 127.0.0.1 >nul && echo 'W   │
    │                     │                                │       │                                │          │           │                          │ inPwnage' > \\\\.\\pipe\\WinPw   │
    │                     │                                │       │                                │          │           │                          │ nagePipe"                        │
    │                     │                                │       │                                │          │           │                          │ ServiceName: WinPwnage           │
    │                     │                                │       │                                │          │           │                          │ ServiceType: user mode service   │
    │                     │                                │       │                                │          │           │                          │ StartType: demand start          │
    ├─────────────────────┼────────────────────────────────┼───────┼────────────────────────────────┼──────────┼───────────┼──────────────────────────┼──────────────────────────────────┤
    │ 2019-06-21 07:35:37 │ ‣ Dumpert Process Dumper       │ 1     │ Microsoft-Windows-Sysmon       │ 11       │ 238375    │ alice.insecurebank.local │ ---                              │
    │                     │                                │       │                                │          │           │                          │ CreationUtcTime: "2019-06-21 0   │
    │                     │                                │       │                                │          │           │                          │ 6:53:03.227"                     │
    │                     │                                │       │                                │          │           │                          │ Image: "C:\\Users\\administrat   │
    │                     │                                │       │                                │          │           │                          │ or\\Desktop\\x64\\Outflank-Dum   │
    │                     │                                │       │                                │          │           │                          │ pert.exe"                        │
    │                     │                                │       │                                │          │           │                          │ ProcessGuid: ECAD0485-88C9-5D0   │
    │                     │                                │       │                                │          │           │                          │ C-0000-0010348C1D00              │
    │                     │                                │       │                                │          │           │                          │ ProcessId: 3572                  │
    │                     │                                │       │                                │          │           │                          │ RuleName: ""                     │
    │                     │                                │       │                                │          │           │                          │ TargetFilename: "C:\\Windows\\   │
    │                     │                                │       │                                │          │           │                          │ Temp\\dumpert.dmp"               │
    │                     │                                │       │                                │          │           │                          │ UtcTime: "2019-06-21 07:35:37.   │
    │                     │                                │       │                                │          │           │                          │ 324"                             │
    └─────────────────────┴────────────────────────────────┴───────┴────────────────────────────────┴──────────┴───────────┴──────────────────────────┴──────────────────────────────────┘

विश्लेषण

Shimcache

root@kitploit:~
COMMAND:
    analyse shimcache                 Create an execution timeline from the shimcache with optional amcache enrichments

USAGE:
    chainsaw analyse shimcache [OPTIONS] <SHIMCACHE>

ARGUMENTS:
    <SHIMCACHE>                       The path to the shimcache artefact (SYSTEM registry file)

OPTIONS:
    -e, --regex <pattern>             A string or regular expression for detecting shimcache entries whose timestamp matches their insertion time
    -r, --regexfile <REGEX_FILE>      The path to a newline delimited file containing regex patterns for detecting shimcache entries whose timestamp matches their insertion time
    -o, --output <OUTPUT>             The path to output the result csv file
    -a, --amcache <AMCACHE>           The path to the amcache artefact (Amcache.hve) for timeline enrichment
    -p, --tspair                      Enable near timestamp pair detection between shimcache and amcache for finding additional insertion timestamps for shimcache entries
    -h, --help                        Print help
  • --regexfile पैरामीटर के लिए एक उदाहरण पैटर्न फ़ाइल analysis/shimcache_patterns.txt में शामिल है।
  • Regex पैटर्न shimcache प्रविष्टियों में पथों पर मिलाए जाते हैं जिन्हें लोअरकेस में परिवर्तित किया गया है।
कमांड उदाहरण

प्रदान किए गए regex पैटर्न के साथ एक shimcache आर्टिफैक्ट का विश्लेषण करें, और टाइमस्टैम्प नियर पेयर डिटेक्शन सक्षम के साथ amcache संवर्धन का उपयोग करें। आउटपुट को csv फ़ाइल में दें।

root@kitploit:~
./chainsaw analyse shimcache ./SYSTEM --regexfile ./analysis/shimcache_patterns.txt --amcache ./Amcache.hve --tspair --output ./output.csv

प्रदान किए गए regex पैटर्न के साथ एक shimcache आर्टिफैक्ट का विश्लेषण करें (amcache संवर्धन के बिना)। आउटपुट टर्मिनल पर दें।

root@kitploit:~
./chainsaw analyse shimcache ./SYSTEM --regexfile ./analysis/shimcache_patterns.txt

Gaps (इवेंट लॉग गैप डिटेक्शन)

एक या अधिक .evtx फ़ाइलों के भीतर चयनात्मक इवेंट-लॉग छेड़छाड़ के दो संकेतकों का पता लगाता है:

  • RecordID गैप: प्रति-चैनल EventRecordID मान सामान्यतः बिना किसी छेद के नीरस रूप से बढ़ते हैं। एक एकल evtx फ़ाइल के अंदर छेद (यानी, लॉग-रोटेशन सीमा नहीं) असामान्य है और यह उन टूल्स द्वारा छोड़ी गई उंगलियों के निशान हैं जो शोर वाले "लॉग साफ़" इवेंट (EID 1102) को ट्रिगर किए बिना व्यक्तिगत रिकॉर्ड्स को शल्य चिकित्सा द्वारा हटाते हैं (जैसे, Eventlogedit-शैली की तकनीकें)।

  • समय गैप: सामान्यतः व्यस्त चैनल पर लगातार इवेंट्स के बीच अप्रत्याशित रूप से लंबी शांत अवधि यह संकेत दे सकती है कि उस अवधि के रिकॉर्ड हटा दिए गए थे। थ्रेशोल्ड कॉन्फ़िगर करने योग्य है; प्रति-होस्ट बेसलाइनिंग विश्लेषक पर छोड़ दी गई है।

    COMMAND: analyse gaps Detect chronological or RecordID gaps in evtx files (possible selective record deletion)

    USAGE: chainsaw analyse gaps [OPTIONS] [PATH]...

    ARGUMENTS: [PATH]... The path(s) to evtx files or directories containing them

    OPTIONS: --min-time-gap-minutes Minimum time gap (in minutes) between consecutive events to flag as suspicious [default: 30] --no-record-id-gaps Skip RecordID gap detection (only flag time gaps) --no-time-gaps Skip time gap detection (only flag RecordID gaps) -j, --json Print the output in json format -o, --output Save the output to a file -q Suppress informational output --skip-errors Continue when an error is encountered -h, --help Print help

कमांड उदाहरण

डिफ़ॉल्ट 30-मिनट थ्रेशोल्ड के साथ evtx फ़ाइलों वाली डायरेक्टरी को RecordID और समय गैप दोनों के लिए स्कैन करें:

root@kitploit:~
./chainsaw analyse gaps ./Logs/

केवल चुनिंदा रूप से हटाए गए रिकॉर्ड्स (RecordID छेद) खोजें, और मशीन-पठनीय JSON आउटपुट करें:

root@kitploit:~
./chainsaw analyse gaps ./Logs/ --no-time-gaps --json -o ./gaps.json

SRUM (System Resource Usage Monitor)

Chainsaw में लागू किया गया SRUM डेटाबेस पार्सर अन्य पार्सर्स से अलग है क्योंकि यह तालिकाओं के बारे में हार्डकोडेड मानों पर निर्भर नहीं करता है। जानकारी सीधे SOFTWARE हाइव से निकाली जाती है, जो एक अनिवार्य तर्क है। लक्ष्य अज्ञात तालिकाओं से संबंधित त्रुटियों से बचना है।

root@kitploit:~
COMMAND:
    analyse srum                             Analyse the SRUM database

USAGE:
    chainsaw analyse srum [OPTIONS] --software <SOFTWARE_HIVE_PATH> <SRUM_PATH>

ARGUMENTS:
    <SRUM_PATH>                              The path to the SRUM database

OPTIONS:
    -s, --software <SOFTWARE_HIVE_PATH>      The path to the SOFTWARE hive
        --stats-only                         Only output details about the SRUM database
    -q                                       Suppress informational output
    -o, --output <OUTPUT>                    Save the output to a file
    -h, --help                               Print help
कमांड उदाहरण

SRUM डेटाबेस का विश्लेषण करें (SOFTWARE हाइव अनिवार्य है)

root@kitploit:~
./chainsaw analyse srum --software ./SOFTWARE ./SRUDB.dat --output ./output.json
आउटपुट
root@kitploit:~
$ ./chainsaw analyse srum --software ./SOFTWARE ./SRUDB.dat -o ./output.json

     ██████╗██╗  ██╗ █████╗ ██╗███╗   ██╗███████╗ █████╗ ██╗    ██╗
    ██╔════╝██║  ██║██╔══██╗██║████╗  ██║██╔════╝██╔══██╗██║    ██║
    ██║     ███████║███████║██║██╔██╗ ██║███████╗███████║██║ █╗ ██║
    ██║     ██╔══██║██╔══██║██║██║╚██╗██║╚════██║██╔══██║██║███╗██║
    ╚██████╗██║  ██║██║  ██║██║██║ ╚████║███████║██║  ██║╚███╔███╔╝
     ╚═════╝╚═╝  ╚═╝╚═╝  ╚═╝╚═╝╚═╝  ╚═══╝╚══════╝╚═╝  ╚═╝ ╚══╝╚══╝
        By WithSecure Countercept (@FranticTyping, @AlexKornitzer)[+] ESE database file loaded from "/home/user/Documents/SRUDB.dat"
    [+] Parsing the ESE database...
    [+] SOFTWARE hive loaded from "/home/user/Documents/SOFTWARE"
    [+] Parsing the SOFTWARE registry hive...
    [+] Analysing the SRUM database...
    [+] Details about the tables related to the SRUM extensions:
    +------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
    | Table GUID                               | Table Name                                 | DLL Path                             | Timeframe of the data   | Expected Retention Time |
    +------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
    | {5C8CF1C7-7257-4F13-B223-970EF5939312}   | App Timeline Provider                      | %SystemRoot%\System32\eeprov.dll     | 2022-03-10 16:34:59 UTC | 7 days                  |
    |                                          |                                            |                                      | 2022-03-10 21:10:00 UTC |                         |
    +------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
    | {B6D82AF1-F780-4E17-8077-6CB9AD8A6FC4}   | Tagged Energy Provider                     | %SystemRoot%\System32\eeprov.dll     | No records              | 3 days                  |
    +------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
    | {D10CA2FE-6FCF-4F6D-848E-B2E99266FA86}   | WPN SRUM Provider                          | %SystemRoot%\System32\wpnsruprov.dll | 2022-03-10 20:09:00 UTC | 60 days                 |
    |                                          |                                            |                                      | 2022-03-10 21:09:00 UTC |                         |
    +------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
    | {D10CA2FE-6FCF-4F6D-848E-B2E99266FA89}   | Application Resource Usage Provider        | %SystemRoot%\System32\appsruprov.dll | 2022-03-10 16:34:59 UTC | 60 days                 |
    |                                          |                                            |                                      | 2022-03-10 21:10:00 UTC |                         |
    +------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
    | {FEE4E14F-02A9-4550-B5CE-5FA2DA202E37}   | Energy Usage Provider                      | %SystemRoot%\System32\energyprov.dll | No records              | 60 days                 |
    +------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
    | {FEE4E14F-02A9-4550-B5CE-5FA2DA202E37}LT | Energy Usage Provider (Long Term)          | %SystemRoot%\System32\energyprov.dll | No records              | 1820 days               |
    +------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
    | {973F5D5C-1D90-4944-BE8E-24B94231A174}   | Windows Network Data Usage Monitor         | %SystemRoot%\System32\nduprov.dll    | 2022-03-10 16:34:59 UTC | 60 days                 |
    |                                          |                                            |                                      | 2022-03-10 21:10:00 UTC |                         |
    +------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
    | {7ACBBAA3-D029-4BE4-9A7A-0885927F1D8F}   | vfuprov                                    | %SystemRoot%\System32\vfuprov.dll    | 2022-03-10 20:09:00 UTC | 60 days                 |
    |                                          |                                            |                                      | 2022-03-10 21:10:00 UTC |                         |
    +------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
    | {DA73FB89-2BEA-4DDC-86B8-6E048C6DA477}   | Energy Estimation Provider                 | %SystemRoot%\System32\eeprov.dll     | No records              | 7 days                  |
    +------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
    | {DD6636C4-8929-4683-974E-22C046A43763}   | Windows Network Connectivity Usage Monitor | %SystemRoot%\System32\ncuprov.dll    | 2022-03-10 16:34:59 UTC | 60 days                 |
    |                                          |                                            |                                      | 2022-03-10 21:10:00 UTC |                         |
    +------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
    [+] SRUM database parsed successfully
    [+] Saving output to "/home/user/Documents/output.json"
    [+] Saved output to "/home/user/Documents/output.json"
फोरेंसिक अंतर्दृष्टि

इस आर्टिफैक्ट से संबंधित नई फोरेंसिक अंतर्दृष्टि के बारे में जानकारी wiki में पाई जा सकती है: https://github.com/WithSecureLabs/chainsaw/wiki/SRUM-Analysis.

डंपिंग

root@kitploit:~
USAGE:
    chainsaw dump [OPTIONS] <PATH>

ARGUMENTS:
    <PATH>                  The path to an artefact to dump

OPTIONS:
    -j, --json              Dump in json format
        --jsonl             Print the output in jsonl format
        --load-unknown      Allow chainsaw to try and load files it cannot identify
    -o, --output <OUTPUT>   A path to output results to
    -q                      Suppress informational output
        --skip-errors       Continue to hunt when an error is encountered
    -h, --help              Print help

कमांड उदाहरण

SOFTWARE हाइव डंप करें

root@kitploit:~
./chainsaw dump ./SOFTWARE.hve --json --output ./output.json

आभार

  • EVTX-ATTACK-SAMPLES द्वारा @SBousseaden
  • Sigma डिटेक्शन नियम
  • EVTX पार्सर लाइब्रेरी @OBenamram द्वारा
  • TAU Engine लाइब्रेरी @AlexKornitzer द्वारा
  • Shimcache विश्लेषण सुविधा, CC-Driver परियोजना के भाग के रूप में विकसित की गई है, जिसे यूरोपीय संघ के Horizon 2020 अनुसंधान और नवाचार कार्यक्रम के तहत अनुदान समझौता संख्या 883543 द्वारा वित्त पोषित किया गया है।
  • DFIRArtifactMuseum द्वारा Andrew Rathbun (@bunsofwrath12)
टूल डाउनलोड करें
इवेंट प्रकारइवेंट ID
प्रोसेस क्रिएशन (Sysmon)1
नेटवर्क कनेक्शन (Sysmon)3
इमेज लोड (Sysmon)7
फ़ाइल क्रिएशन (Sysmon)11
रजिस्ट्री इवेंट्स (Sysmon)13
पावरशेल स्क्रिप्ट ब्लॉक4104
प्रोसेस क्रिएशन4688
शेड्यूल्ड टास्क क्रिएशन4698
सर्विस क्रिएशन7045