User activity analysis

Phần này mình sẽ tiếp tục trình bày về một số Registry key mà dựa vào đó chúng ta có thể phân tích, đoán được một số hành vi của người dùng, những key này cũng rất hữu ích trong quá trình điều tra.

1. OpenSavePidMRU-LastVisitedPidMRU

Windows có một vài basic dialog boxes mà nhiều chương trình thường sử dụng. Khi bạn lưu hoặc mở tệp, bạn có bao giờ nhận thấy rằng nó có thể nhớ vị trí bạn đã lưu hoặc mở tệp không? Ở phần này, hãy cùng phân tích các registry key OpenSaveMRU và LastVisitedMRU. OpenSaveMRU và LastVisitedMRU đã thay đổi đáng kể trong Windows 8.

a)  OpenSave MRU

Key: HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU

Hãy thử làm một ví dụ nhỏ như sau:

Ví dụ thử  lưu và mở một tập tin txt bằng notepad:

Sau đó save tập tin này lại, chúng ta sẽ thấy một dialog box như hình dưới:

Tiếp theo ta thử Open tập tin đó lên:

Và bây giờ, quay lại registry key và kiểm tra kết quả:

Một ví dụ khác khi xem bằng Registry Explorer, key này sẽ được hiển thị khá dễ xem như sau:

Nói một cách đơn giản nhất, khóa này theo dõi các tệp đã được mở hoặc lưu trong Windows shell dialog box. Đây là một tập dữ liệu lớn, không chỉ bao gồm các trình duyệt web như Internet Explorer và Firefox, mà còn là phần lớn các ứng dụng thường được sử dụng. Điều đôi khi bị bỏ sót là key này cũng dõi các autocomplete terms cho cùng dialog box đó.

Khi lưu hay mở một tập tin, người dùng thường sẽ chỉ điền tên của tệp mà không có phần mở rộng (extension) và dialog box OpenSave cho phép bạn chọn loại tệp của mình (ví dụ: .jpg, .png và .bmp). Do đó, những gì được lưu trữ trong key là thông tin tự động hoàn thành cho thao tác đó.

Tồn tại một số lượng lớn các key con trong khóa OpenSaveMRU. Và mỗi key con là một loại tệp tin (vd như docx, txt, …) chứa một danh sách các tập tin được mở hay lưu gần đây. Có một ngoại lệ là key con “ * ” key này theo dõi mười tệp cuối cùng được nhập vào hộp thoại OpenSave, tức là nó sẽ lưu 10 tập tin được lưu hoặc mở gần nhất mà không quan tâm thuộc loại tập tin nào. Từ win Vista và Win7 trở đi key con “ *”  chứa hai mươi tệp cuối cùng và hiện đang sử dụng tệp nhị phân thay vì định dạng chuỗi.

b) LastVisited MRU

Key: HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer \ComDig32\LastVisitedMRU (LastVisitedPidlMRU in Win7-Win10)

Key này theo dõi tệp thực thi cụ thể được ứng dụng sử dụng để mở tệp được ghi trong key OpenSaveMRU. Ngoài ra, mỗi giá trị cũng chứa vị trí thư mục của tệp cuối cùng được ứng dụng đó truy cập. Dữ liệu được lưu trữ ở định dạng nhị phân.

Bạn có bao giờ tự hỏi làm thế nào một ứng dụng nhớ được nơi bạn mở tệp gần đây nhất? Key này được sử dụng bởi OpenSave dialog box để hiển thị thư mục cuối cùng được ứng dụng đó sử dụng khi bạn đang cố gắng mở hoặc lưu tệp.

Kiểm tra thủ công trực tiếp thường cần thiết trên HĐH Windows mới vì khóa chưa directly been reversed tại thời điểm viết tài liệu này. Tên thực thi trong nhiều trường hợp vẫn có thể được nhìn thấy dưới dạng với một dãy số.

Ví dụ: Hãy thử phân tích ví dụ dưới đây:

Chúng ta sử dụng notepad để lưu và mở tập tin, vậy ứng dụng thực thi gần nhất được sử dụng để mở tệp trong OpenSave MRU.

Trong MRUListEx để ý thấy những byte đầu tiên là 16…, đổi ra ta hệ thập phân ta được 22, và value data ở key name 22 sẽ cho ta kết quả của tập tin thực ghi gần nhất:

Một lưu ý rằng là các bạn nên kết hợp các thông tin với nhau. Thông tin này không dễ bị xóa cho đến khi sử dụng một trình privacy cleaner. Hoạt động này sẽ rất hữu ích trong trường hợp bạn cho rằng người dùng đã mở một tệp có chứa một phần mềm độc hại. Hai key này là một trong những nơi đầu tiên nên kiểm tra để xem liệu các tệp được liệt kê ở đây có thể chứa mã độc hay không.

2. Last Commands Executed

Khi người dùng thực hiện lệnh bằng cách nhập tại Start -> Run, nó sẽ lưu lại mục nhập cho lệnh họ đã thực hiện. Key này sẽ liệt kê các lệnh được thực thi từ Start-> Run. Thứ tự thực hiện các lệnh được liệt kê trong danh sách RunMRU. Các chữ cái thể hiện thứ tự thực hiện các lệnh.

Bạn có thể  tìm thấy Last Commands Executed tại registry key:

\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU

Chẳng hạn như thử:

Sau đó vào registry key kiểm tra ta sẽ được:

Như đã nói ở trên, MRUList ở key này được thể hiện bằng chữ cái và như hình trên value name = “e” sẽ là value mới nhất và đó đúng là những gì mà mình vừa thực hiện bên trên.

3. RecentApps

Reg Key: NTUSER.DAT\SOFTWARE\Microsoft\Windows\CurrentVersion \Search\RecentApps

  • Key RecentApps theo dõi quá trình chương trình thực thi khởi chạy trên hệ thống Win10.
  • Key RecentItems là key con của RecentApps theo dõi các tệp được mở gần đây nhất bởi ứng dụng đó.

RecentApps GUID

  • APPID == Name of Application
  • LastAccessTime = Last execution time in UTC
  • LaunchCount = Number of times executed

Recentltems GUID

  • Đường dẫn của file được mở bởi parent key application
  • LastAccessTime embedded as value in Recentltems Key

Lưu ý: Last Access Time có thể được xác định bằng cách sử dụng thời gian ghi gần đây nhất của Recentltems GUID key

Một trong những registry key thú vị hơn đã được thêm vào Windows 10 là  registry key “RecentApps“. Tương tự như ComDLG32, nó sẽ theo dõi việc thực thi các ứng dụng dựa trên GUI và các tệp được mở gần đây bởi ứng dụng.

Trong RecentApps, mỗi GUID đại diện cho một ứng dụng khác nhau đã được thực thi. Các giá trị của khóa con GUID sẽ bao gồm APPID (Tên ứng dụng), LastAccessTime (Thời gian thực hiện cuối cùng theo UTC) và Launch Count (số lần khởi chạy).

Giá trị Launch Count sẽ khớp với giá trị runcount của key UserAssist. Có một điều là có vẻ như key này sẽ được “Reset” khi hệ điều hành cập nhật hoặc một bản cập nhật lớn xảy ra. LastAccessTime là một mốc thời gian theo chuẩn UTC của Windows 64-bit có thể dễ dàng giải mã. Một số GUID của RecentApps sẽ có một key con có tiêu đề ” Recentltems “.

Bên dưới key Recentitems, bạn cũng sẽ thấy tối đa 10 key con được đặt tên bởi Windows GUID. Mỗi giá trị của key GUID sẽ chứa thông tin của một tệp khác nhau được ứng dụng đó mở. Mỗi tệp sẽ liệt kê mười tệp cuối cùng được mở bởi ứng dụng cụ thể đó. Ngoài đường dẫn và tên tệp, key có thể sẽ có LastAccessTime, nếu có, sẽ bao gồm thời gian tệp được ứng dụng mở lần cuối. Nếu LastAccessTime không có, thời gian mở tệp có thể được xác định bằng cách kiểm tra thời gian ghi cuối cùng của khóa Recentltems GUID. Cả GUID Recentitem cho tệp đã được mở và LastAccessTime phải khớp với nhau.

Registry Explorer của Eric Zimmerman đi kèm với một plugin tự động trích xuất dữ liệu cho tất cả các giá trị GUID và Recentltem’s subkey GUIDs. Điều này giúp công việc phân tích dễ dàng hơn.

Mình xin kết thúc phần này ở đây!

By,

RE_Team

58 lượt xem