Tìm hiểu về Windows Forensics - Part 1

Xuất bản: 27/6/2024

Tìm hiểu về Windows Forensics - Part 1

1/ Windows Forensics là gì ?

Windows Forensics là một nhánh trong Digital Forensics, nó liên quan tới việc thu thập, phân tích và giải mã các thông tin trên hệ điều hành windows. Đây là một mảng khá rộng nên rất khó để có thể tìm hiểu hết trong một bài viết nên mình chia nó ra nhiều phần, và phần đầu tiên chính là tìm hiểu về windows process.

2/ Windows Process Genealogy

Mình chọn nghiên cứu về Windows Process Genealogy trước tiên vì nó cho mình cái nhìn tổng quan và trọn vẹn về hệ điều hành windows cũng như cung cấp kiến thức để có thể làm một số bài về memory forensic. Ở bài viết này mình tập trung vào các key system process cũng như mối quan hệ giữa những process đó.

image

SYSTEM

System process là process đầu tiên khởi chạy ngay sau khi hệ điều hành windows khởi động, hầu hết các module, các kernel thread chạy bên dưới system process là các trình điều khiển, file hệ thống và một số tệp thực thi quan trọng. Đặc biệt, system process không có image path, nghĩa là không tồn tại tệp thực thi như system.exe, nó cũng không có parent process, pid của nó là 4 và luôn luôn chỉ có một system process chạy trong windows, nếu có nhiều hơn thì đây chính là điều bất thường.

image

SMSS.EXE

Smss process là tiến trình con của system process, nó là viết tắt của cụm Session Manager Subsystem. Đây là process đầu tiên trong chế độ user, nhiệm vụ của nó là quản lý session, sử dụng thông tin từ registry để cấu hình session của người dùng cũng như tương tác với các thành phần win32 subsytem. Path của smss.exe là %SystemRoot%\system32\smss.exe và process con là csrss.exe, wininit.exe, winlogon.exe.

image

CSRSS.EXE

Csrss.exe (Client/Server Runtime Subsystem) là một process quan trọng, nó hỗ trợ toàn bộ hệ thống user GUI gồm kiểm soát console windows, cũng như phân luồng và xử lý tín hiệu. Csrss.exe không có process con và path của nó là %SystemRoot%\system32\csrss.exe.

image

WININIT.EXE

Wininit.exe là một process cốt lỗi xuất hiện lần đầu tiên trong windows XP, nó đọc và xử lý các lệnh lưu trữ bên trong tệp wininit.ini, cho phép chương trình được thực hiện ngay khi máy vẫn đang ở chế độ booting, vậy nên wininit.exe hoạt động như một launcher cho phần lớn ứng dụng nền. Các process con của nó là services.exe, lsaiso.exe, lsass.exe và path là %SystemRoot%\system32\wininit.exe.

image

SERVICES.EXE

Services.exe chịu trách nhiệm cho việc quản lý các dịch vụ hệ thống và liên kết động chúng với các tệp .dll tương ứng. Process này chịu trách nhiệm xử lý một loạt các dịch vụ bao gồm kết nối mạng, bảo mật, trình điều khiển và ghi nhật ký sự kiện. Process con của nó là svchost.exe và path là %SystemRoot%\system32\services.exe.

image

LSASS.EXE

Lsass.exe (Local Security Authority Subsystem Service) là một process ở chế độ user, có nhiệm vụ xác thực người dùng bằng cách gọi các authentication package được chỉ định bên trong registry key. Thông thường các authentication packet này sẽ là kerberos cho các domain account hoặc là msv1_0 cho local account. Ngoài xác thực người dùng thì lsass còn ghi các sự kiện vào Security Event Log và triển khai các chính sách bảo mật cục bộ như password policies và audit policies. Lsass.exe thường không có process con nhưng vẫn có trường hợp ngoại lệ (rất hiếm), thế nên nếu thấy một process con của lsass thì đây có thể là dấu hiệu của hành vi trộm cắp data. Lsass lưu trữ hàm hash password nên nó cũng trở thành mục tiêu cho các dumping password attack và mimikatz là một trong những tool mà attacker hay dùng để dump password trong lsass. Path của lsass là %SystemRoot%\system32\lsass.exe.

image

LSAISO.EXE

lsaio.exe hay còn gọi là Lsa Isolate , như cái tên thì nó là một process chạy trong môi trường ảo hóa bằng cách tận dụng công nghệ ảo hóa phần cứng. Lsaiso xuất hiên trong cây process khi bật credential guard trong win 10, điều này cung cấp tính năng bảo mật giúp chống lại các credential dumping attack mà lsass phải đối mặt. Chỉ luôn có một lsaiso.exe xuất hiện và không có process con của nó, path của lsaiso là %SystemRoot%\system32\lsaiso.exe

image

SVCHOST.EXE

Svchost.exe (Service Host Process) là một process lưu trữ dịch vụ, nó lưu trữ nhiều tệp .dll của nhiều dịch vụ để triển khai mô hình dịch vụ chia sẻ để giúp bảo toàn tài nguyên CPU. Nhưng điều này đã không còn hợp lệ từ windows 10 phiên bản 1703 trở đi, các dịch vụ bây giờ được lưu trong svchost.exe của riêng nó với điều kiện máy tính có bộ nhớ lớn hơn 3.5 GB. Số lượng svchost.exe phụ thuộc vào số lượng dịch vụ chạy trên máy, giống như lsass.exe thì svchost.exe cũng là mục tiêu phổ biến của của malwares vì tính chất phổ biến của nó, cho phép phần mềm độc hại dễ dàng ẩn nấp , ví dụ scvhost.exe có thể là malwares và khiến người dùng dễ nhầm lẫn với svchost.exe.

Nó có các process con là Runtimebroker.exe, taskhostw.exe và path là %SystemRoot%\system32\svchost.exe.

image

TASKHOSTW.EXE

Taskhostw.exe lưu trữ các tệp .dll liên quan đến task scheduled,nó quản lý các task liên quan đến COM (Component Object Model) và các process khác. Taskhostw.exe không có process con và path là %SystemRoot%\system32\taskhostw.exe.

RUNTIMEBROKER.EXE

Process này được giới thiệu trong win 8 và có sẵn trong win 10, nhiệm vụ của nó là kiểm tra các quyền cần thiết của các ứng dụng Windows Store, chẳng hạn như quyền truy cập micro, truy cập vị trí. Runtimebroker không có process con và path của nó là %SystemRoot%\System32\runtimebroker.exe

image

WINLOGON.EXE

Winlogon.exe xử lý các lần đăng nhập và đăng xuất của người dùng, nó launch UI đăng nhập để người dùng nhập thông tin vào, sau khi có được thông tin thì nó sẽ chuyển đến lsass.exe để xác thực, nếu xác thực thành công thì người dùng sẽ đăng nhập vào win, lúc này winlogon sẽ load các tệp NTUSER.DAT vào Current User Registry Hive và khởi động shell của người dùng thường là explorer.exe thông qua userinit.exe. Process con của winlogon.exe là explorer.exe và path là %SystemRoot%\system32\winlogon.exe

image

USERINIT.EXE

Userinit.exe sẽ thoát sau khi chạy các tập lên ban đầu và khởi tạo explorer.exe do đó sẽ không thấy userinit.exe trong Task Manager.

image

Userinit.exe chịu trách nhiệm khởi tạo môi trường phiên người dùng sau khi người dùng đăng nhập vào hệ thống Windows. Path của nó là %SystemRoot%\system32\userinit.exe và explorer.exe vẫn là process con của nó.

EXPLORER.EXE

process này cung cấp shell hoặc giao diện người dùng mặc định thông qua đó người dùng có thể tương tác windows. Nó hiển thị taskbar, start menu... cũng như quản lý file và thư mục. Path của explorer.exe là %SystemRoot%\explorer.exe

image

Nguồn: hackmd.io