Monday, January 10, 2022

Digital Forensics:Windows prefetch part III

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:

  1. Windows XP to Windows 7: 128
  2. 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


Download file

What time was Internet Explorer opened?

ใข้ PECmd เพื่อดึงค่า prefetch

#H:\Software\PECmd>PECmd.exe -d "H:\Hacktober2020\prefetch\prefetch" --csv "H:\CTF\Hacktober2020\prefetch"



จะได้ไฟล์ออกมา  2 file

timestamp_PECmd_Output.csv - detailed access log and timestamp of the process

timestamp_PECmd_Output_timeline.csv - last launch time of the process

ทำการค้นหาค่า RunTime คำว่า IEXPLORE.EXE   จากไฟล์  20220111070609_PECmd_Output_Timeline.csv


5/1/2017  9:11:41 PM

flag{2017–05–01 21:11:41}


สรุปจากทดสอบ

    1.ข้อมูลจากPrefetch สามารถบอก ประวัติการใช้งานแอปพลิเคชัน  IEXPLORE.EXE  เปิดใช้งานเมื่อใด

    2. ค่า PF File Signatures คือ'SCCA'

    3. เราสามารถตรวจสอบได้ว่าค่า Windows Prefetch เปิดหรือปิดอยู่  ใน Prefetch Registry Setting


ทีมา :  prefetch-forensics


ดูเพิ่มเติม : Windows prefetch part II
                 Windows_Prefetch_File_Format
                  Hacktober2020 
                 prefetch-files-in-windows 
               

* หากมีข้อมูลข้อผิดพลาดประการใด ขออภัยมา ณ ที่นี้ด้วย  รบกวนแจ้ง Admin เพื่อแก้ไขต่อไป
ขอบคุณครับ

#WINDOWSFORENSIC #COMPUTERFORENSICS #DFIR #FORENSICS #DIGITALFORENSICS #COMPUTERFORENSIC #INVESTIGATION #CYBERCRIME #FRAUD

No comments:

Post a Comment