การตรวจสอบข้ามอาร์ติแฟกต์¶
ไม่ควรมีอาร์ติแฟกต์ใดรองรับข้อสรุปที่สำคัญเพียงลำพัง ขั้นตอนการทำงานเหล่านี้แสดงวิธีเปลี่ยนเบาะแส ให้เป็นห่วงโซ่หลักฐานที่สามารถยืนยันได้
การเรียกใช้ไฟล์ปฏิบัติการที่น่าสงสัย¶
- Prefetch: ยืนยันเวลาเรียกใช้ที่เก็บไว้ บริบทของพาธ/แฮช จำนวนครั้งที่เรียกใช้ และไฟล์ที่ถูกโหลด
$MFT: ค้นหาพาธ ขนาด timestamp, ADS สถานะการถูกลบ และ MFT reference- USN Journal: สร้างลำดับการสร้าง การเขียน การเปลี่ยนชื่อ และการลบขึ้นใหม่
- Amcache: เพิ่ม SHA-1 เมทาดาทา PE เวอร์ชัน และพาธในอดีต
- ShimCache: เพิ่มพาธ/ลำดับใน compatibility cache และแฟล็กการเรียกใช้งาน (ในเวอร์ชันที่รองรับ)
- SRUM: ค้นหาการใช้ทรัพยากร/เครือข่ายโดยไฟล์ปฏิบัติการ/ผู้ใช้เดียวกัน
- Defender: ตรวจสอบเวลากักกัน พาธเดิม แฮช และแหล่งที่มาของการดาวน์โหลด
- Event log/EDR: ระบุโพรเซสแม่ บรรทัดคำสั่ง บัญชี เครือข่าย และบริบทความปลอดภัย
ข้อสรุปควรแยกแยะระหว่างการมีอยู่ของไฟล์ การเรียกใช้งาน และการระบุว่าเป็นของบุคคลหรือการบุกรุกใด
กิจกรรมไฟล์ของแรนซัมแวร์¶
- ระบุนามสกุลไฟล์ที่ถูกเข้ารหัสและพาธของเหยื่อใน
$MFT - ใช้ reason และลำดับของ USN เพื่อสร้างการเขียน/การเปลี่ยนชื่อ/การลบจำนวนมากขึ้นใหม่
- ใช้ Prefetch เพื่อระบุโปรแกรมเข้ารหัสที่เป็นผู้ต้องสงสัยและเวลาเรียกใช้
- ใช้ SRUM เพื่อดูการใช้ CPU/ดิสก์/เครือข่ายที่พุ่งสูงขึ้นโดยโพรเซสที่เป็นผู้ต้องสงสัย
- ตรวจสอบบริการและ TaskCache เพื่อหาการติดตั้งใช้งาน/การคงอยู่
- ตรวจสอบข้อมูลที่ Defender กักกันและ event log เพื่อหาการตรวจจับ/การแก้ไข
MFT/USN สามารถพิสูจน์ผลกระทบต่อระบบไฟล์ได้แม้ไม่มีอาร์ติแฟกต์การเรียกใช้งานหลงเหลืออยู่ แต่โดยทั่วไป ไม่สามารถระบุโพรเซสที่รับผิดชอบได้หากไม่มี telemetry ของโพรเซสหรือการเชื่อมโยงหลักฐาน
การเข้าถึงเริ่มต้นผ่านเอกสาร/ทางลัดที่เป็นอันตราย¶
- RecentDocs และ Jump Lists ระบุปฏิสัมพันธ์ของผู้ใช้/แอปพลิเคชันและบริบท MRU
- วิเคราะห์ LNK ที่ตรงกันในโฟลเดอร์ Recent เพื่อหาเป้าหมาย วอลุ่ม/แชร์ MFT reference และอาร์กิวเมนต์
- ใช้ Zone.Identifier จาก resident ADS ใน
$MFTหรือเนื้อหาของ Defender เพื่อหา URL/โซนต้นทาง - ใช้ Prefetch/event log สำหรับแอปพลิเคชันเอกสารและโพรเซสลูก
- ใช้ USN/MFT เพื่อติดตามการสร้างและการลบ payload ที่ถูกแตกออกมา
การคงอยู่ผ่านบริการ¶
- ถอดรหัสชื่อบริการ
ImagePath,ServiceDllบัญชี ชนิดการเริ่มทำงาน และ failure action - แปลงค่าตัวแปรสภาพแวดล้อมและพฤติกรรมของพาธที่มี/ไม่มีเครื่องหมายคำพูด
- ค้นหาไฟล์ปฏิบัติการ/DLL ใน
$MFTและประวัติ USN - ตรวจสอบ Prefetch และ event log เพื่อหาการเริ่มทำงานจริงของบริการ/โพรเซส
- เปรียบเทียบ control set ที่ไม่ใช่ชุดปัจจุบันและเรคคอร์ดรีจิสทรีที่กู้คืนได้ เพื่อหาการกำหนดค่าก่อนหน้า
การคงอยู่ผ่านงานตามกำหนดเวลา¶
- ถอดรหัส action ของ TaskCache, principal/context, เมทาดาทาการลงทะเบียน/ขณะทำงาน และสถานะการซ่อน
- เปรียบเทียบกับ XML ใน
C:\Windows\System32\Tasks - เชื่อมโยงชื่อ/GUID ของงานกับเหตุการณ์ Security และ Task Scheduler Operational
- ค้นหาและคำนวณแฮชของไฟล์ปฏิบัติการ/สคริปต์ ตรวจสอบ Prefetch และประวัติระบบไฟล์
- กู้คืนเรคคอร์ด TaskCache ที่ถูกลบหากงานถูกนำออกไปแล้ว
การลักลอบนำข้อมูลออกที่น่าสงสัย¶
- ใช้ SRUM เพื่อระบุจำนวนไบต์ที่ส่งออกผิดปกติตามแอป/ผู้ใช้/โปรไฟล์ และช่วงเวลาที่วัด
- ยืนยันตัวตนของไฟล์ปฏิบัติการด้วย Prefetch, Amcache และ
$MFT - ระบุไฟล์ที่ถูกเข้าถึง/เปิดผ่าน Jump Lists, LNK, RecentDocs และข้อมูล event/EDR
- ใช้ telemetry จาก proxy, firewall, DNS, packet หรือ EDR เพื่อหาปลายทาง/โปรโตคอล
ปริมาณข้อมูลใน SRUM สนับสนุนสมมติฐานการลักลอบนำข้อมูลออก แต่ไม่ได้ระบุเนื้อหาที่ถูกถ่ายโอนหรือพิสูจน์ เจตนาร้ายได้ด้วยตัวเอง
คีย์สำหรับเชื่อมโยงที่ควรเก็บรักษาไว้¶
| คีย์ | อาร์ติแฟกต์ |
|---|---|
| พาธแบบเต็ม / ชื่อไฟล์ | อาร์ติแฟกต์แทบทุกชนิด |
| SHA-1 / SHA-256 | Amcache, Defender, ไฟล์ที่กู้คืนได้ |
| MFT entry + sequence | $MFT, Prefetch, LNK, Jump Lists, USN |
| USN | Amcache, $MFT, USN Journal |
| Volume serial / droid | Prefetch, LNK, Jump Lists, MFT object ID |
| SID / ชื่อผู้ใช้ | SRUM, SAM, รีจิสทรี, event log |
| GUID ของงาน / ชื่องาน | TaskCache, XML ของงาน, event log |
| ชื่อบริการ | บริการ, event log, ข้อมูลโพรเซส/ไดรเวอร์ |
| Defender EntryId / ScanId | การกักกัน, ประวัติ Defender, event log |