
Chainsaw ให้ความสามารถ 'การตอบสนองครั้งแรก' ที่ทรงพลังในการระบุภัยคุกคามภายในสิ่งประดิษฐ์ทางนิติวิทยาศาสตร์ของ Windows เช่นบันทึกเหตุการณ์และไฟล์ MFT Chainsaw นำเสนอวิธีการทั่วไปและรวดเร็วในการค้นหาผ่านบันทึกเหตุการณ์สำหรับคำหลักและโดยการระบุภัยคุกคามโดยใช้การสนับสนุนในตัวสำหรับกฎการตรวจจับ Sigma และผ่านกฎการตรวจจับเชนซอว์ที่กำหนดเอง
ข้อมูลเพิ่มเติมสามารถพบได้ใน wiki สำหรับเครื่องมือนี้: https://github.com/withsecurelabs/chainsaw/wiki
ด้วยการโต้ตอบกับความปลอดภัยเรานำแหล่งที่มาของ telemetry หลากหลายจากจุดสิ้นสุดผ่านตัวแทน EDR ของเราเพื่อให้บริการตรวจจับและตอบสนองที่ได้รับการจัดการของเรา อย่างไรก็ตามมีสถานการณ์ที่เราจำเป็นต้องวิเคราะห์สิ่งประดิษฐ์ทางนิติวิทยาศาสตร์ที่ไม่ได้ถูกจับโดย EDR ของเราตัวอย่างทั่วไปคือการตรวจสอบการตอบสนองของเหตุการณ์ในอสังหาริมทรัพย์ที่ EDR ของเราไม่ได้ติดตั้งในเวลาที่มีการประนีประนอม Chainsaw ถูกสร้างขึ้นเพื่อให้นักล่าภัยคุกคามและที่ปรึกษาการตอบสนองของเหตุการณ์ของเรามีเครื่องมือในการดำเนินการอย่างรวดเร็วของสิ่งประดิษฐ์ทางนิติวิทยาศาสตร์ในสถานการณ์เหล่านี้
บันทึกเหตุการณ์ของ Windows ให้ข้อมูลทางนิติวิทยาศาสตร์ที่หลากหลายสำหรับการตรวจสอบภัยคุกคามและการตรวจสอบการตอบสนองของเหตุการณ์ น่าเสียดายที่การประมวลผลและการค้นหาผ่านบันทึกเหตุการณ์อาจเป็นกระบวนการที่ช้าและใช้เวลานานและในกรณีส่วนใหญ่ต้องใช้ค่าใช้จ่ายของโครงสร้างพื้นฐานโดยรอบ-เช่นสแต็กกวางหรืออินสแตนซ์ SPLUNK-เพื่อตามล่าอย่างมีประสิทธิภาพผ่านข้อมูลบันทึกและใช้ตรรกะการตรวจจับ ค่าใช้จ่ายนี้มักจะหมายความว่าทีมสีน้ำเงินไม่สามารถบันทึกเหตุการณ์เหตุการณ์ Windows ได้อย่างรวดเร็วเพื่อให้ทิศทางและข้อสรุปที่จำเป็นในการดำเนินการตรวจสอบ Chainsaw แก้ปัญหาได้เนื่องจากช่วยให้การค้นหาอย่างรวดเร็วและตามล่าผ่านบันทึกเหตุการณ์ Windows
ในช่วงเวลาของการเขียนมีเครื่องมือแบบสแตนด์อโลนน้อยมากที่ให้วิธีการที่ง่ายและรวดเร็วในการบันทึกเหตุการณ์เหตุการณ์ Windows ซึ่งระบุองค์ประกอบที่น่าสนใจภายในบันทึกและใช้รูปแบบกฎการตรวจจับตรรกะ (เช่น Sigma) เพื่อตรวจจับสัญญาณของกิจกรรมที่เป็นอันตราย ในการทดสอบของเราเครื่องมือที่มีอยู่พยายามดิ้นรนเพื่อใช้ตรรกะการตรวจจับอย่างมีประสิทธิภาพกับบันทึกเหตุการณ์จำนวนมากทำให้พวกเขาไม่เหมาะสมสำหรับสถานการณ์ที่จำเป็นต้องใช้การ triage อย่างรวดเร็ว
การใช้พารามิเตอร์ --sigma และ --mapping คุณสามารถระบุไดเรกทอรีที่มีชุดย่อยของกฎการตรวจจับ Sigma (หรือเพียงแค่ repo Sigma Git ทั้งหมด) และ Chainsaw จะโหลดโดยอัตโนมัติแปลงและเรียกใช้กฎเหล่านี้กับบันทึกเหตุการณ์ที่ให้ไว้ ไฟล์การแมปบอกเลื่อยโซ่ว่าฟิลด์ในบันทึกเหตุการณ์ใดที่จะใช้สำหรับการจับคู่กฎ โดยค่าเริ่มต้น Chainsaw รองรับประเภทบันทึกเหตุการณ์ที่หลากหลายรวมถึง แต่ไม่ จำกัด เพียง:
| ประเภทเหตุการณ์ | รหัสเหตุการณ์ |
|---|---|
| การสร้างกระบวนการ (Sysmon) | 1 |
| การเชื่อมต่อเครือข่าย (Sysmon) | 3 |
| โหลดภาพ (sysmon) | 7 |
| การสร้างไฟล์ (Sysmon) | 11 |
| เหตุการณ์รีจิสทรี (Sysmon) | 13 |
| บล็อกสคริปต์ PowerShell | 4104 |
| การสร้างกระบวนการ | 4688 |
| การสร้างงานตามกำหนด | 4698 |
| การสร้างบริการ | 7045 |
ดูไฟล์การแมปสำหรับรายการทั้งหมดของฟิลด์ที่ใช้สำหรับการตรวจจับกฎและอย่าลังเลที่จะขยายไปตามความต้องการของคุณ
นอกเหนือจากการสนับสนุนกฎซิกมาแล้วเชนซอว์ยังรองรับรูปแบบกฎที่กำหนดเอง ในที่เก็บคุณจะพบไดเรกทอรี rules ที่มีกฎเลื่อยไฟฟ้าต่าง ๆ ที่อนุญาตให้ผู้ใช้:
ด้วยการเปิดตัว Chainsaw V2 เราจึงตัดสินใจที่จะไม่รวมกฎ Sigma และที่เก็บตัวอย่าง EVTX-Attack-Samples เป็น Submodules Chainsaw เราขอแนะนำให้คุณโคลนที่เก็บเหล่านี้แยกกันเพื่อให้แน่ใจว่าคุณมีเวอร์ชันล่าสุด
หากคุณยังต้องการแพ็คเกจ all-in-one ที่มี Binary Chainsaw, กฎ Sigma และบันทึกเหตุการณ์ตัวอย่างคุณสามารถดาวน์โหลดได้จากส่วนการเปิดตัวของ repo github นี้ ในส่วนที่เผยแพร่นี้คุณจะได้พบกับเลื่อยไฟฟ้าแบบไบนารีรุ่นที่คอมไพล์แล้วสำหรับแพลตฟอร์มและสถาปัตยกรรมต่างๆ
หากคุณต้องการรวบรวมเลื่อยไฟฟ้าด้วยตัวคุณเองคุณสามารถโคลน chainsaw repo:
git clone https://github.com/WithSecureLabs/chainsaw.git
และรวบรวมรหัสด้วยตัวคุณเองโดยใช้งาน: cargo build --release เปิดตัว เมื่อบิลด์เสร็จสิ้นคุณจะพบสำเนาของไบนารีที่รวบรวมไว้ในโฟลเดอร์เป้าหมาย/ปล่อย
ตรวจสอบให้แน่ใจว่าได้สร้างด้วยธง --release เพราะจะช่วยให้เวลาการดำเนินการเร็วขึ้นอย่างมีนัยสำคัญ
หากคุณต้องการดูว่าเลื่อยไฟฟ้าเป็นอย่างไรเมื่อมันทำงานคุณสามารถโคลนกฎซิกม่า
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 ซึ่งจะปรับเปลี่ยนตัวแปรสภาพแวดล้อม $ path ของคุณชั่วคราว ในการทำเช่นนั้นโปรดเรียกใช้สิ่งต่อไปนี้:
nix-shell -p chainsaw
นอกจากนี้คุณยังสามารถใช้ความจริงได้ว่า repo นี้เป็นเกล็ดและคุณสามารถเรียกใช้สิ่งต่อไปนี้:
nix profile install github:WithSecureLabs/chainsaw
อย่างไรก็ตามหากคุณต้องการสร้างเลื่อยไฟฟ้าด้วยตัวเองโดยใช้ Nix คุณสามารถใช้ flake.nix ได้อีกครั้งซึ่งมาพร้อมกับที่เก็บนี้ ในการสร้างไบนารีโปรดเรียกใช้สิ่งต่อไปนี้ในรากของ repo โคลน
nix build .#
สิ่งนี้จะสร้างไดเรกทอรี ./result โดยมี Binary Chainsaw ตั้งอยู่ภายใต้ ./result/bin/chainsaw /bin/chainsaw
เมื่อดาวน์โหลดและใช้งานเลื่อยไฟฟ้าคุณอาจพบว่าเครื่องยนต์ EDR / Antivirus ในพื้นที่ของคุณตรวจพบเลื่อยไฟฟ้าว่าเป็นอันตราย คุณสามารถดูตัวอย่างของสิ่งนี้ได้ในปัญหา GitHub ต่อไปนี้: ตัวอย่างที่ 1, ตัวอย่าง 2
คำเตือนเหล่านี้มักเกิดจากบันทึกเหตุการณ์และ/หรือกฎ Sigma ซึ่งมีการอ้างอิงถึงสตริงที่เป็นอันตราย (เช่น "Mimikatz") นอกจากนี้เรายังได้เห็นกรณีที่การตรวจพบ Binary Binary โดยชุดย่อยขนาดเล็กของเครื่องยนต์ป้องกันไวรัสที่น่าจะเกิดจากการตรวจจับฮิวริสติกบางรูปแบบ
ในเดือนกรกฎาคม 2565 เราเปิดตัวเลื่อยโซ่เวอร์ชัน 2 ซึ่งเป็นการยกเครื่องครั้งใหญ่ว่าเลื่อยไฟฟ้าทำงานอย่างไร Chainsaw V2 มีการปรับปรุงที่สำคัญหลายประการรวมถึงรายการไฮไลท์ต่อไปนี้:
หากคุณยังต้องการใช้เลื่อยรุ่น 1 คุณสามารถค้นหาไบนารีที่รวบรวมได้ในส่วนรุ่นหรือคุณสามารถเข้าถึงซอร์สโค้ดในสาขา v1.xx โปรดทราบว่า Chainsaw V1 จะไม่ได้รับการดูแลอีกต่อไปและผู้ใช้ทุกคนควรมองไปที่ Chainsaw V2
ขอบคุณมากสำหรับ @alexkornitzer ที่สามารถแปลงรหัสฐานคริสต์มาสของ Chainsaw V1 ของ 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 Script (ID เหตุการณ์ 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 (Software Hive เป็นสิ่งจำเป็น)
./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"
ข้อมูลเกี่ยวกับข้อมูลเชิงลึกทางนิติวิทยาศาสตร์ใหม่ที่เกี่ยวข้องกับสิ่งประดิษฐ์นี้สามารถพบได้ใน 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