การตรวจสอบครั้งแรก¶
ขั้นตอนนี้สมมติว่าคุณได้รับชุด triage ที่เก็บรวบรวมแบบออฟไลน์ไว้ใน evidence/
1. เก็บรักษาแหล่งข้อมูลต้นทาง¶
ทำงานจากสำเนาที่ตรวจสอบแล้ว บันทึกแฮช เวลาที่เก็บรวบรวม เขตเวลา โฮสต์ วอลุ่ม และเครื่องมือที่ใช้ เก็บรวบรวม Juntei อ่านหลักฐานเท่านั้น แต่ตัวเลือกบางอย่าง เช่น การดึง resident stream หรือการดึงข้อมูลที่ถูกกักกันออกมา จะสร้างไฟล์เอาต์พุตใหม่ ให้กำหนดเป้าหมายของไฟล์เหล่านั้นไปยังไดเรกทอรีวิเคราะห์แยกต่างหาก
2. สำรวจสิ่งที่คุณมี¶
ค้นหาพาธที่ระบุไว้ในการเก็บรวบรวมหลักฐาน การที่อาร์ติแฟกต์บางรายการขาดหายไปเป็นเรื่องปกติ อย่าสันนิษฐานว่าชุดที่เก็บรวบรวมมี transaction log เพียงเพราะมีไฮฟ์รีจิสทรีอยู่
3. เรียกดูสรุปผลก่อน¶
คำสั่งจำนวนมากจะพิมพ์สรุปผลแบบกระชับเมื่อไม่ได้ระบุไฟล์เอาต์พุต
juntei parse-file prefetch -d evidence/
juntei parse-registry shimcache -d evidence/
juntei parse-file defender-quarantine -d evidence/
อ่านคำเตือนเกี่ยวกับความเสียหาย ฐานข้อมูลที่อยู่ในสถานะ dirty และ log ที่ยังไม่ได้นำมาใช้ ก่อนเชื่อถือเรคคอร์ด
หากต้องการวิเคราะห์อาร์ติแฟกต์ที่รองรับทั้งหมดในชุดที่เก็บรวบรวมจากคอมพิวเตอร์หลายเครื่องด้วยการดำเนินการครั้งเดียว ให้ใช้
ดูวิเคราะห์ข้อมูลที่รวบรวมโดยอัตโนมัติ สำหรับการค้นหาโฮสต์ การทำงานแบบขนาน โครงสร้างเอาต์พุต และ JSONL แบบรวมสำหรับนำเข้า SIEM
4. บันทึกเอาต์พุตแบบมีโครงสร้าง¶
mkdir -p analysis
juntei parse-file prefetch -d evidence/ -T -o analysis/prefetch.csv
juntei parse-ntfs mft -d evidence/ -o analysis/mft
juntei parse-ntfs usn-journal -d evidence/ -o analysis/usn
juntei parse-registry services -d evidence/ -o analysis/services.jsonl -t jsonl
ควรใช้ JSONL สำหรับการเขียนสคริปต์และค่าที่ซ้อนกัน และใช้ CSV สำหรับสเปรดชีตหรือโปรแกรมดูไทม์ไลน์
5. เชื่อมโยง (pivot) จากตัวระบุที่เชื่อถือได้¶
เริ่มต้นด้วยชื่อไฟล์ พาธแบบเต็ม SHA-1/SHA-256, SID ของผู้ใช้, MFT entry/sequence, GUID ของงาน, ชื่อบริการ หรือช่วงเวลา ให้ทำตัวพิมพ์ให้เป็นมาตรฐานเฉพาะฟิลด์ที่ Windows ถือว่าไม่แยกตัวพิมพ์เล็ก-ใหญ่
juntei parse-file prefetch -d evidence/ -t jsonl \
| jq 'select(.ExecutableName? | ascii_downcase == "suspicious.exe")'
6. เชื่อมโยงหลักฐาน¶
ใช้การตรวจสอบข้ามอาร์ติแฟกต์ ลำดับที่ใช้ได้จริงคือ
- Prefetch สำหรับการเรียกใช้งานและเวลาเรียกใช้ล่าสุด
$MFTและ USN Journal สำหรับการสร้าง พาธ การเปลี่ยนชื่อ และการลบ- Amcache และ ShimCache สำหรับการมีอยู่ในอดีตและเมทาดาทา
- LNK, Jump Lists, RecentDocs และ SRUM สำหรับบริบทของผู้ใช้/แอปพลิเคชัน
- บริการในรีจิสทรีและ TaskCache สำหรับการคงอยู่ (persistence)
- ข้อมูลที่ Defender กักกัน สำหรับการตรวจจับ การนำออก แหล่งที่มา และแฮช
7. บันทึกข้อมูลเพื่อให้ทำซ้ำได้¶
บันทึกพาธต้นทาง แฮชของต้นทาง เวอร์ชันของ Juntei คำสั่งที่ใช้ทุกประการ แฮชของเอาต์พุต เขตเวลาของระบบ และการกรองใด ๆ ที่ทำภายหลัง อย่าแก้ไขเอาต์พุตหลักฐานที่สร้างขึ้นโดยไม่บันทึกไว้