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

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

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

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

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

श्रेणियाँ

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

chainsaw

Windows फोरेंसिक आर्टिफैक्ट्स के माध्यम से तेज़ी से खोजें और शिकार करें

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

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

सभी देखें →

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

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

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

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

Windows फोरेंसिक आर्टिफैक्ट्स के माध्यम से तेज़ी से खोज और शिकार करें


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

विशेषताएँ

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

विषय-सूची

  • विशेषताएँ
  • Chainsaw क्यों?
  • Windows Event Logs के लिए हंटिंग लॉजिक
  • त्वरित प्रारंभ गाइड
    • डाउनलोड और चलाना
    • Nix के साथ इंस्टॉल/बिल्ड
    • EDR और AV चेतावनियाँ
    • Chainsaw v2 में क्या बदला
  • उदाहरण
    • खोज
    • शिकार
    • विश्लेषण
      • Shimcache
      • SRUM (System Resource Usage Monitor)
      • Gaps (event log gap detection)
    • डंपिंग
  • आभार

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

Chainsaw क्यों?

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

Windows Event Logs

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

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

Windows Event Logs के लिए हंटिंग लॉजिक

Sigma Rule Matching

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

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

Chainsaw Detection Rules

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

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

त्वरित प्रारंभ गाइड

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

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

यदि आपको अभी भी Chainsaw बाइनरी, Sigma नियमों और उदाहरण Event logs वाला एक ऑल-इन-वन पैकेज चाहिए, तो आप इसे इस GitHub रेपो के releases section से डाउनलोड कर सकते हैं। इस 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 / AntiVirus इंजन Chainsaw को दुर्भावनापूर्ण के रूप में पहचानता है। आप इसके उदाहरण निम्नलिखित GitHub issues में देख सकते हैं: Example1, Example2।

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

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

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

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

यदि आप अभी भी Chainsaw के संस्करण 1 का उपयोग करना चाहते हैं, तो आप releases section में संकलित बाइनरी पा सकते हैं, या आप 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

कमांड उदाहरण

case-insensitive स्ट्रिंग "mimikatz" के लिए सभी .evtx फ़ाइलों को खोजें

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

*powershell script block events (Event ID 4014) के लिए सभी .evtx फ़ाइलों को खोजें

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

मिलते-जुलते regex पैटर्न के साथ logon events के लिए एक विशिष्ट evtx लॉग खोजें, 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 फ़ाइलों के माध्यम से शिकार करें और results फ़ोल्डर में CSV प्रारूप में आउटपुट करें

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                 वैकल्पिक amcache संवर्धन के साथ shimcache से निष्पादन टाइमलाइन बनाएं

USAGE:
    chainsaw analyse shimcache [OPTIONS] <SHIMCACHE>

ARGUMENTS:
    <SHIMCACHE>                       shimcache आर्टिफैक्ट का पथ (SYSTEM रजिस्ट्री फ़ाइल)

OPTIONS:
    -e, --regex <pattern>             उन shimcache प्रविष्टियों का पता लगाने के लिए एक स्ट्रिंग या रेगुलर एक्सप्रेशन जिनका टाइमस्टैम्प उनके इन्सर्शन समय से मेल खाता है
    -r, --regexfile <REGEX_FILE>      उन shimcache प्रविष्टियों का पता लगाने के लिए regex पैटर्न वाली न्यूलाइन-सीमांकित फ़ाइल का पथ जिनका टाइमस्टैम्प उनके इन्सर्शन समय से मेल खाता है
    -o, --output <OUTPUT>             परिणाम csv फ़ाइल को आउटपुट करने का पथ
    -a, --amcache <AMCACHE>           टाइमलाइन संवर्धन के लिए amcache आर्टिफैक्ट (Amcache.hve) का पथ
    -p, --tspair                      shimcache प्रविष्टियों के लिए अतिरिक्त इन्सर्शन टाइमस्टैम्प खोजने के लिए shimcache और amcache के बीच निकट टाइमस्टैम्प युग्म का पता लगाना सक्षम करें
    -h, --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 evtx फ़ाइलों में कालानुक्रमिक या RecordID गैप का पता लगाएं (संभावित चुनिंदा रिकॉर्ड विलोपन)

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

    ARGUMENTS: [PATH]... evtx फ़ाइलों या उन्हें शामिल करने वाली निर्देशिकाओं का पथ

    OPTIONS: --min-time-gap-minutes संदिग्ध के रूप में फ़्लैग करने के लिए लगातार इवेंट्स के बीच न्यूनतम समय गैप (मिनटों में) [default: 30] --no-record-id-gaps RecordID गैप डिटेक्शन छोड़ें (केवल समय गैप फ़्लैग करें) --no-time-gaps समय गैप डिटेक्शन छोड़ें (केवल RecordID गैप फ़्लैग करें) -j, --json आउटपुट को json प्रारूप में प्रिंट करें -o, --output आउटपुट को एक फ़ाइल में सहेजें -q सूचनात्मक आउटपुट को दबाएं --skip-errors त्रुटि आने पर जारी रखें -h, --help सहायता प्रिंट करें

कमांड उदाहरण

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

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 hive से निकाली जाती है, जो एक अनिवार्य तर्क है। लक्ष्य अज्ञात तालिकाओं से संबंधित त्रुटियों से बचना है।

root@kitploit:~
COMMAND:
    analyse srum                             SRUM डेटाबेस का विश्लेषण करें

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

ARGUMENTS:
    <SRUM_PATH>                              SRUM डेटाबेस का पथ

OPTIONS:
    -s, --software <SOFTWARE_HIVE_PATH>      SOFTWARE hive का पथ
        --stats-only                         केवल SRUM डेटाबेस के बारे में विवरण आउटपुट करें
    -q                                       सूचनात्मक आउटपुट को दबाएं
    -o, --output <OUTPUT>                    आउटपुट को एक फ़ाइल में सहेजें
    -h, --help                               सहायता प्रिंट करें
कमांड उदाहरण

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

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 "/home/user/Documents/SRUDB.dat" से लोड किया गया
    [+] ESE database को parse किया जा रहा है...
    [+] SOFTWARE hive "/home/user/Documents/SOFTWARE" से लोड किया गया
    [+] SOFTWARE registry hive को parse किया जा रहा है...
    [+] SRUM database का विश्लेषण किया जा रहा है...
    [+] SRUM extensions से संबंधित tables का विवरण:
    +------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
    | 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 सफलतापूर्वक parse किया गया
    [+] आउटपुट "/home/user/Documents/output.json" में सहेजा जा रहा है
    [+] आउटपुट "/home/user/Documents/output.json" में सहेजा गया
Forensic insights

इस artefact से संबंधित नई forensic insights की जानकारी wiki में उपलब्ध है: https://github.com/WithSecureLabs/chainsaw/wiki/SRUM-Analysis.

Dumping

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

Command Example

Dump the SOFTWARE hive

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

Acknowledgements

  • EVTX-ATTACK-SAMPLES by @SBousseaden
  • Sigma detection rules
  • EVTX parser library by @OBenamram
  • TAU Engine Library by @AlexKornitzer
  • Shimcache analysis feature developed as a part of CC-Driver project, funded by the European Union’s Horizon 2020 Research and Innovation Programme under Grant Agreement No. 883543
  • DFIRArtifactMuseum by Andrew Rathbun (@bunsofwrath12)
टूल डाउनलोड करें
Event TypeEvent ID
Process Creation (Sysmon)1
Network Connections (Sysmon)3
Image Loads (Sysmon)7
File Creation (Sysmon)11
Registry Events (Sysmon)13
Powershell Script Blocks4104
Process Creation4688
Scheduled Task Creation4698
Service Creation7045