ข้ามไปที่เนื้อหา

การตรวจสอบข้ามอาร์ติแฟกต์

ไม่ควรมีอาร์ติแฟกต์ใดรองรับข้อสรุปที่สำคัญเพียงลำพัง ขั้นตอนการทำงานเหล่านี้แสดงวิธีเปลี่ยนเบาะแส ให้เป็นห่วงโซ่หลักฐานที่สามารถยืนยันได้

การเรียกใช้ไฟล์ปฏิบัติการที่น่าสงสัย

  1. Prefetch: ยืนยันเวลาเรียกใช้ที่เก็บไว้ บริบทของพาธ/แฮช จำนวนครั้งที่เรียกใช้ และไฟล์ที่ถูกโหลด
  2. $MFT: ค้นหาพาธ ขนาด timestamp, ADS สถานะการถูกลบ และ MFT reference
  3. USN Journal: สร้างลำดับการสร้าง การเขียน การเปลี่ยนชื่อ และการลบขึ้นใหม่
  4. Amcache: เพิ่ม SHA-1 เมทาดาทา PE เวอร์ชัน และพาธในอดีต
  5. ShimCache: เพิ่มพาธ/ลำดับใน compatibility cache และแฟล็กการเรียกใช้งาน (ในเวอร์ชันที่รองรับ)
  6. SRUM: ค้นหาการใช้ทรัพยากร/เครือข่ายโดยไฟล์ปฏิบัติการ/ผู้ใช้เดียวกัน
  7. Defender: ตรวจสอบเวลากักกัน พาธเดิม แฮช และแหล่งที่มาของการดาวน์โหลด
  8. Event log/EDR: ระบุโพรเซสแม่ บรรทัดคำสั่ง บัญชี เครือข่าย และบริบทความปลอดภัย

ข้อสรุปควรแยกแยะระหว่างการมีอยู่ของไฟล์ การเรียกใช้งาน และการระบุว่าเป็นของบุคคลหรือการบุกรุกใด

กิจกรรมไฟล์ของแรนซัมแวร์

  1. ระบุนามสกุลไฟล์ที่ถูกเข้ารหัสและพาธของเหยื่อใน $MFT
  2. ใช้ reason และลำดับของ USN เพื่อสร้างการเขียน/การเปลี่ยนชื่อ/การลบจำนวนมากขึ้นใหม่
  3. ใช้ Prefetch เพื่อระบุโปรแกรมเข้ารหัสที่เป็นผู้ต้องสงสัยและเวลาเรียกใช้
  4. ใช้ SRUM เพื่อดูการใช้ CPU/ดิสก์/เครือข่ายที่พุ่งสูงขึ้นโดยโพรเซสที่เป็นผู้ต้องสงสัย
  5. ตรวจสอบบริการและ TaskCache เพื่อหาการติดตั้งใช้งาน/การคงอยู่
  6. ตรวจสอบข้อมูลที่ Defender กักกันและ event log เพื่อหาการตรวจจับ/การแก้ไข

MFT/USN สามารถพิสูจน์ผลกระทบต่อระบบไฟล์ได้แม้ไม่มีอาร์ติแฟกต์การเรียกใช้งานหลงเหลืออยู่ แต่โดยทั่วไป ไม่สามารถระบุโพรเซสที่รับผิดชอบได้หากไม่มี telemetry ของโพรเซสหรือการเชื่อมโยงหลักฐาน

การเข้าถึงเริ่มต้นผ่านเอกสาร/ทางลัดที่เป็นอันตราย

  1. RecentDocs และ Jump Lists ระบุปฏิสัมพันธ์ของผู้ใช้/แอปพลิเคชันและบริบท MRU
  2. วิเคราะห์ LNK ที่ตรงกันในโฟลเดอร์ Recent เพื่อหาเป้าหมาย วอลุ่ม/แชร์ MFT reference และอาร์กิวเมนต์
  3. ใช้ Zone.Identifier จาก resident ADS ใน $MFT หรือเนื้อหาของ Defender เพื่อหา URL/โซนต้นทาง
  4. ใช้ Prefetch/event log สำหรับแอปพลิเคชันเอกสารและโพรเซสลูก
  5. ใช้ USN/MFT เพื่อติดตามการสร้างและการลบ payload ที่ถูกแตกออกมา

การคงอยู่ผ่านบริการ

  1. ถอดรหัสชื่อบริการ ImagePath, ServiceDll บัญชี ชนิดการเริ่มทำงาน และ failure action
  2. แปลงค่าตัวแปรสภาพแวดล้อมและพฤติกรรมของพาธที่มี/ไม่มีเครื่องหมายคำพูด
  3. ค้นหาไฟล์ปฏิบัติการ/DLL ใน $MFT และประวัติ USN
  4. ตรวจสอบ Prefetch และ event log เพื่อหาการเริ่มทำงานจริงของบริการ/โพรเซส
  5. เปรียบเทียบ control set ที่ไม่ใช่ชุดปัจจุบันและเรคคอร์ดรีจิสทรีที่กู้คืนได้ เพื่อหาการกำหนดค่าก่อนหน้า

การคงอยู่ผ่านงานตามกำหนดเวลา

  1. ถอดรหัส action ของ TaskCache, principal/context, เมทาดาทาการลงทะเบียน/ขณะทำงาน และสถานะการซ่อน
  2. เปรียบเทียบกับ XML ใน C:\Windows\System32\Tasks
  3. เชื่อมโยงชื่อ/GUID ของงานกับเหตุการณ์ Security และ Task Scheduler Operational
  4. ค้นหาและคำนวณแฮชของไฟล์ปฏิบัติการ/สคริปต์ ตรวจสอบ Prefetch และประวัติระบบไฟล์
  5. กู้คืนเรคคอร์ด TaskCache ที่ถูกลบหากงานถูกนำออกไปแล้ว

การลักลอบนำข้อมูลออกที่น่าสงสัย

  1. ใช้ SRUM เพื่อระบุจำนวนไบต์ที่ส่งออกผิดปกติตามแอป/ผู้ใช้/โปรไฟล์ และช่วงเวลาที่วัด
  2. ยืนยันตัวตนของไฟล์ปฏิบัติการด้วย Prefetch, Amcache และ $MFT
  3. ระบุไฟล์ที่ถูกเข้าถึง/เปิดผ่าน Jump Lists, LNK, RecentDocs และข้อมูล event/EDR
  4. ใช้ 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