Digital Forensics:Windows prefetch part III
วันนี้มาลองทดสอบ Windows prefetch โดยใช้เครื่องมือ PECmd
Author: Eric Zimmerman
https://github.com/EricZimmerman/PECmd
Prefetch เป็นโฟลเดอร์อยู่ที่ C: WindowsWindows ใช้สำหรับเก็บข้อมูลการใช้งานแอปพลิเคชันต่าง ๆ หลักการทำงาน คือ เมื่อเครื่องคอมพิวเตอร์เริ่มทำงานในแต่ละครั้ง วินโดว์จะติดตามวิธีการที่เครื่องคอมพิวเตอร์ของผู้ใช้งานเริ่มต้นทำงานและโปรแกรมที่ผู้ใช้เปิดใช้เป็นประจำ วินโดว์จะบันทึกข้อมูลนี้เป็นไฟล์เล็ก ๆ ไว้ในนี้ ดังนั้น ครั้งต่อไปที่ผู้ใช้เปิดเครื่องคอมพิวเตอร์ วินโดว์จะอ้างถึงไฟล์ต่าง ๆ เหล่านี้ เพื่อช่วยร่นระยะเวลาของกระบวนการเริ่มต้น สรุปคือจะทำให้ผู้ใช้สามารถใช้งานได้เร็วขึ้นนั่นเอง
Prefetch ไฟล์ มีนามสกุล .pf
เมื่อผู้ใช้เปิดแอปพลิเคชันจากตำแหน่งเฉพาะเป็นครั้งแรก Windows จะสร้างไฟล์ Prefetch (.pf) สำหรับแอปพลิเคชันนั้นภายใต้ %SystemRoot%\Prefetch (C:\Windows\Prefetch).
ไฟล์เหล่านี้ถูกใช้โดยระบบปฏิบัติการเพื่อโหลดข้อมูลที่เก็บไว้ล่วงหน้าจากดิสก์ไปยังหน่วยความจำล่วงหน้า เพื่อเพิ่มความเร็วในการบู๊ตครั้งต่อๆ ไปหรือการเริ่มต้นแอพพลิเคชั่น คิดว่ามันเป็นกลไก AI บางประเภทที่คาดการณ์สิ่งที่คุณต้องการและ "ดึงข้อมูลล่วงหน้า" ให้กับคุณ
Maximum Number of Prefetch files:
- Windows XP to Windows 7: 128
- Windows 8 to Windows 10: 1024
File Header Offset 04, length of 4 bytes SCCA (0×53, 0×43, 0×43, 0×41)Signature 'SCCA' (or in hexadecimal representation 0x53 0x43 0x43 0x41)
Prefetch Registry Setting
To see if the Prefetch/ Superfetch is on or off check the following location in the System hive:
HKLM\System\CurrentControlSet\Control\SessionManager\MemoryManagement\PrefetchParameters
EnablePrefetcher Values
0 – Disable PreFetcher
1 – Application launch Prefetching enabled
2 – Boot Prefetching enabled
3 – Application launch and Boot Prefetching enabled
โดยค่าตัวเลขจะมีความหมายดังต่อไปนี้
- 0 ปิดการใช้งาน Prefetch
- 1 เปิดใช้งานแอปพลิเคชันเปิดใช้งานการดึงข้อมูลล่วงหน้า
- 2 เปิดใช้งาน Boot Prefetching
- 3 เปิดทั้งข้อ 1 และ ข้อ 2 (จะเป็นค่าเริ่มต้นจะอยู่ที่เลข 3 นี้)
EnableSuperfetcher Values
0 – Disable SuperFetch
1 – Enable SuperFetch for boot files only
2 – Enable SuperFetch for applications only
3 – Enable SuperFetch for both boot files and applications
ไมโครซอฟท์คิดค้นฟีเจอร์ที่เรียกว่า Superfetch ขึ้นมาและเปลี่ยนชื่อเป็น SysMain ในตอนหลัง เพื่อให้สามารถเก็บข้อมูลพวกนี้เอาไว้ใน RAM เองเลย และถ้ามันถูกเรียกกลับมาใช้งานจะถูกเรียกจาก RAM ได้เลย
ทดลองทำโจทย์ Hacktober2020 - Prefetch Perfection
What time was Internet Explorer opened?
ใข้ PECmd เพื่อดึงค่า prefetch
#H:\Software\PECmd>PECmd.exe -d "H:\Hacktober2020\prefetch\prefetch" --csv "H:\CTF\Hacktober2020\prefetch"
สรุปจากทดสอบ
1.ข้อมูลจากPrefetch สามารถบอก ประวัติการใช้งานแอปพลิเคชัน IEXPLORE.EXE เปิดใช้งานเมื่อใด
2. ค่า PF File Signatures คือ'SCCA'
3. เราสามารถตรวจสอบได้ว่าค่า Windows Prefetch เปิดหรือปิดอยู่ ใน Prefetch Registry Setting
No comments:
Post a Comment