
يوفر Chainsaw قدرة قوية على "الاستجابة الأولى" لتحديد التهديدات بسرعة داخل مصنوعات جنائية من Windows مثل سجلات الأحداث وملف MFT. يقدم Chainsaw طريقة عامة وسريعة للبحث من خلال سجلات الأحداث للكلمات الرئيسية ، ومن خلال تحديد التهديدات باستخدام الدعم المدمج لقواعد اكتشاف Sigma ، وعبر قواعد الكشف المخصصة للمنشار.
يمكن العثور على معلومات ممتدة في الويكي لهذه الأداة: https://github.com/withsecurelabs/chainsaw/wiki
في WithSecure Countercept ، نستوعب مجموعة واسعة من مصادر القياس عن بعد من نقاط النهاية عبر وكيل EDR لدينا لتوفير خدمة الكشف والاستجابة المدارة لدينا. ومع ذلك ، هناك ظروف نحتاج فيها إلى تحليل القطع الأثرية الجنائية التي لم يتم التقاطها بواسطة EDR ، وهو مثال شائع هو تحقيقات الاستجابة للحوادث على عقار لم يتم تثبيت EDR لدينا في وقت التسوية. تم إنشاء Chainsaw لتوفير صيادي التهديدات لدينا ومستشاري الاستجابة للحوادث مع أداة لأداء الفرز السريع من القطع الأثرية الجنائية في هذه الظروف.
توفر سجلات أحداث Windows مصدرًا غنيًا لمعلومات الطب الشرعي من أجل البحث عن التهديدات والتحقيقات في الحوادث. لسوء الحظ ، يمكن أن تكون المعالجة والبحث من خلال سجلات الأحداث عملية بطيئة وتستغرق وقتًا طويلاً ، وفي معظم الحالات تتطلب النفقات العامة للبنية التحتية المحيطة-مثل مكدس الأيائل أو مثيل splunk-للبحث بكفاءة من خلال بيانات السجل وتطبيق منطق الكشف. غالبًا ما يعني هذا النفقات العامة أن الفرق الزرقاء غير قادرة على سجلات أحداث Windows بسرعة لتوفير الاتجاه والاستنتاجات المطلوبة للتقدم في تحقيقاتها. يحل Chainsaw المشكلة لأنه يتيح البحث السريع والمطاردة من خلال سجلات أحداث Windows.
في وقت كتابة هذا التقرير ، هناك عدد قليل جدًا من الأدوات المستقلة مفتوحة المصدر والتي توفر طريقة بسيطة وسريعة لثلاثية سجلات أحداث Windows ، وتحديد عناصر مثيرة للاهتمام داخل السجلات وتطبيق تنسيق قاعدة المنطق (مثل Sigma) للكشف عن علامات النشاط الخبيث. في اختبارنا ، ناضلت الأدوات الموجودة لتطبيق منطق الكشف بكفاءة على كميات كبيرة من سجلات الأحداث مما يجعلها غير مناسبة للسيناريوهات حيث يلزم الفرز السريع.
باستخدام معلمات --sigma و --mapping الخرائط ، يمكنك تحديد دليل يحتوي على مجموعة فرعية من قواعد اكتشاف Sigma (أو فقط Sigma git repo) وسيقوم Chainsaw بتحميل هذه القواعد وتشغيلها تلقائيًا مقابل سجلات الأحداث المقدمة. يخبر ملف التعيين بالمنشار الذي يحيل الحقول في سجلات الحدث لاستخدامه في مطابقة القواعد. بشكل افتراضي ، يدعم Chainsaw مجموعة واسعة من أنواع سجلات الأحداث ، بما في ذلك على سبيل المثال لا الحصر:
| نوع الحدث | معرف الحدث |
|---|---|
| خلق العملية (Sysmon) | 1 |
| اتصالات الشبكة (Sysmon) | 3 |
| تحميل الصورة (Sysmon) | 7 |
| إنشاء الملف (Sysmon) | 11 |
| أحداث التسجيل (Sysmon) | 13 |
| كتل السيناريو PowerShell | 4104 |
| خلق العملية | 4688 |
| إنشاء المهام المجدولة | 4698 |
| خلق الخدمة | 7045 |
راجع ملف التعيين للحصول على القائمة الكاملة للحقول التي يتم استخدامها للكشف عن القواعد ، ولا تتردد في تمديدها إلى احتياجاتك.
بالإضافة إلى دعم قواعد Sigma ، يدعم Chainsaw أيضًا تنسيق قاعدة مخصصة. في المستودع ، ستجد دليل rules يحتوي على قواعد مختلفة للمنشار تتيح للمستخدمين:
مع إصدار Chainsaw V2 ، قررنا أن ندرج قواعد Sigma ومستودعات Evtx-Honsack-Samples كفيروسات فرعية للمنشار. نوصيك باستنساخ هذه المستودعات بشكل منفصل لضمان حصولك على أحدث الإصدارات.
إذا كنت لا تزال بحاجة إلى حزمة الكل في واحد تحتوي على ثنائي المنشار ، وقواعد Sigma وسجلات الأحداث على سبيل المثال ، يمكنك تنزيلها من قسم الإصدارات من هذا Github Repo. في قسم الإصدارات هذا ، ستجد أيضًا نسخًا ثنائية فقط من المنشار لمختلف المنصات والبنية.
إذا كنت ترغب في تجميع المنشار بنفسك ، فيمكنك استنساخ repo بالمنشار:
git clone https://github.com/WithSecureLabs/chainsaw.git
وتجميع الكود بنفسك عن طريق التشغيل: cargo build --release . بمجرد الانتهاء من الإنشاء ، ستجد نسخة من الثنائي المترجم في مجلد الهدف/الإصدار.
تأكد من البناء مع العلم --release لأن هذا سيضمن وقت تنفيذ أسرع بكثير.
إذا كنت تريد أن ترى بسرعة كيف يبدو المنشار عند تشغيله ، فيمكنك استنساخ قواعد Sigma ومستودعات Evtx-Hous-Samples:
git clone https://github.com/SigmaHQ/sigma
git clone https://github.com/sbousseaden/EVTX-ATTACK-SAMPLES.git
ثم قم بتشغيل المنشار بالمعلمات أدناه:
./chainsaw hunt EVTX-ATTACK-SAMPLES/ -s sigma/ --mapping mappings/sigma-event-logs-all.yml
├───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'
يتوفر Chainsaw ، كحزمة ، عبر NixPKGS. إذا كنت تستخدم Nixos ، فما عليك سوى إضافة chainsaw إلى ملف تكوين النظام الخاص بك.
ومع ذلك ، إذا كنت لا تستخدم Nixos ، فلا يزال بإمكانك تثبيت المنشار عبر NIX. الطريقة الموصى بها هي عبر nix-shell ، والتي ستعدل مؤقتًا متغير بيئة المسار $. للقيام بذلك ، يرجى تشغيل ما يلي:
nix-shell -p chainsaw
يمكنك أيضًا الاستفادة من حقيقة أن هذا الريبو عبارة عن قشر ، ويمكنك تشغيل ما يلي:
nix profile install github:WithSecureLabs/chainsaw
ومع ذلك ، إذا كنت ترغب في بناء منشار بالمنشار ، باستخدام NIX ، يمكنك مرة أخرى استخدام flake.nix ، والتي يتم توفيرها مع هذا المستودع. لبناء الثنائي ، يرجى تشغيل ما يلي ، في جذر ريبو المستنسخ
nix build .#
سيؤدي هذا ./result/bin/chainsaw إنشاء دليل ./result
عند تنزيل وتشغيل المنشار ، قد تجد أن محرك EDR / Antivirus المحلي يكتشف المنشار على أنه ضار. يمكنك رؤية أمثلة على ذلك في قضايا GitHub التالية: example1 ، example2.
عادةً ما ترجع هذه التحذيرات إلى سجلات الأحداث و/أو قواعد Sigma التي تحتوي على إشارات إلى سلاسل ضارة (على سبيل المثال "Mimikatz"). لقد رأينا أيضًا حالات تم اكتشافها الثنائي بالمنشار من قبل مجموعة فرعية صغيرة من محركات مكافحة الفيروسات بسبب بعض أشكال الكشف عن الاستدلال.
في يوليو 2022 ، أصدرنا الإصدار 2 من المنشار وهو إصلاح شامل لكيفية عمل المنشار. يحتوي Chainsaw V2 على العديد من التحسينات المهمة ، بما في ذلك القائمة التالية من النقاط البارزة:
إذا كنت لا تزال ترغب في استخدام الإصدار 1 من المنشار ، فيمكنك العثور على ثنائيات مجمعة في قسم الإصدارات ، أو يمكنك الوصول إلى الكود المصدر في فرع V1.xx. يرجى ملاحظة أن Chainsaw V1 لم يعد يتم الحفاظ عليه ، ويجب أن يتطلع جميع المستخدمين إلى الانتقال إلى Chainsaw V2.
شكراً هائلاً لـ @alexkornitzer الذي تمكن من تحويل قاعدة كود "مشروع عيد الميلاد" من Chainsaw V1 إلى منتج مصقول في V2.
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"
./chainsaw search mimikatz -i evtx_attack_samples/
*ابحث في جميع ملفات .evtx عن أحداث بلوك برناري PowerShell (معرف الحدث 4014)
./chainsaw search -t 'Event.System.EventID: =4104' evtx_attack_samples/
ابحث في سجل evtx محدد لأحداث تسجيل الدخول ، مع نمط regex مطابق ، الإخراج بتنسيق JSON
./chainsaw search -e "DC[0-9].insecurebank.local" evtx_attack_samples --json
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
اصطياد جميع ملفات evtx باستخدام قواعد Sigma للمنطق الكشف
./chainsaw hunt evtx_attack_samples/ -s sigma/ --mapping mappings/sigma-event-logs-all.yml
اصطياد جميع ملفات evtx باستخدام قواعد Sigma وقواعد المنشار للمنطق للاكتشاف والإخراج بتنسيق CSV إلى مجلد النتائج
./chainsaw hunt evtx_attack_samples/ -s sigma/ --mapping mappings/sigma-event-logs-all.yml -r rules/ --csv --output results
اصطياد جميع ملفات EVTX باستخدام قواعد Sigma لمنطق الكشف ، والبحث فقط بين الطوابع الزمنية المحددة ، وإخراج النتائج بتنسيق JSON
./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
$ ./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:AtomicRedTeamatomic- │ MSEDGEWIN10IEUser │
│ │ │ │ │ │ M │ red-team-masteratomicsT1056 │ │
│ │ │ │ │ │ │ Get-Keystrokes.ps1 │ │
├─────────────────────┼────────────────────┼──────────┼───────────┼─────────────┼────────────────────────────────┼──────────────────────────────────┼────────────────────┤
│ 2019-07-18 20:53:31 │ ‣ Windows Defender │ 1117 │ 106 │ MSEDGEWIN10 │ Trojan:XML/Exeselrun.gen!A │ file:_C:AtomicRedTeamatomic- │ MSEDGEWIN10IEUser │
│ │ │ │ │ │ │ red-team-masteratomicsT1086 │ │
│ │ │ │ │ │ │ payloadstest.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" │
└─────────────────────┴────────────────────────────────┴───────┴────────────────────────────────┴──────────┴───────────┴──────────────────────────┴──────────────────────────────────┘
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 في التحليل/shimcache_patterns.txt.قم بتحليل قطعة أثرية shimcache مع أنماط regex المقدمة ، واستخدم إثراء Amcache مع تمكين الطابع الزمني بالقرب من اكتشاف الزوج. الإخراج إلى ملف CSV.
./chainsaw analyse shimcache ./SYSTEM --regexfile ./analysis/shimcache_patterns.txt --amcache ./Amcache.hve --tspair --output ./output.csv
قم بتحليل قطعة أثرية shimcache مع أنماط regex المقدمة (دون تخصيب amcache). الإخراج إلى المحطة.
./chainsaw analyse shimcache ./SYSTEM --regexfile ./analysis/shimcache_patterns.txt
يختلف محلل قاعدة بيانات SRUM الذي تم تنفيذه في المنشار عن محلات أخرى لأنه لا يعتمد على القيم المتشددين حول الجداول. يتم استخراج المعلومات مباشرة من خلية البرنامج ، وهي حجة إلزامية. الهدف هو تجنب الأخطاء المتعلقة بجداول غير معروفة.
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 (خلية البرنامج إلزامية)
./chainsaw analyse srum --software ./SOFTWARE ./SRUDB.dat --output ./output.json
$ ./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%System32eeprov.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%System32eeprov.dll | No records | 3 days |
+------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
| {D10CA2FE-6FCF-4F6D-848E-B2E99266FA86} | WPN SRUM Provider | %SystemRoot%System32wpnsruprov.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%System32appsruprov.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%System32energyprov.dll | No records | 60 days |
+------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
| {FEE4E14F-02A9-4550-B5CE-5FA2DA202E37}LT | Energy Usage Provider (Long Term) | %SystemRoot%System32energyprov.dll | No records | 1820 days |
+------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
| {973F5D5C-1D90-4944-BE8E-24B94231A174} | Windows Network Data Usage Monitor | %SystemRoot%System32nduprov.dll | 2022-03-10 16:34:59 UTC | 60 days |
| | | | 2022-03-10 21:10:00 UTC | |
+------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
| {7ACBBAA3-D029-4BE4-9A7A-0885927F1D8F} | vfuprov | %SystemRoot%System32vfuprov.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%System32eeprov.dll | No records | 7 days |
+------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
| {DD6636C4-8929-4683-974E-22C046A43763} | Windows Network Connectivity Usage Monitor | %SystemRoot%System32ncuprov.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"
يمكن العثور على معلومات حول رؤى الطب الشرعي الجديدة المتعلقة بهذا المصنوعة من الأطراف في The Wiki: https://github.com/withsecurelabs/chainsaw/wiki/srum-analysis.
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
تفريغ خلية البرنامج
./chainsaw dump ./SOFTWARE.hve --json --output ./output.json