Đây là 1 số cách bạn dùng plugin này:
- Quá trình liên kết với quá trình đăng nhập của họ: bạn thấy abc.exe đang chạy và bạn muốn biết nếu nó được đưa ra bởi 1 người qua RDP hoặc bởi 1 người dùng ngồi ở bàn điều khiển.
- Phát hiện quá trình ẩn: mỗi cấu trúc phiên có chứa 1 danh sách liên kết của các quá trình cho phiên đó. Nếu phần mềm độc hại bỏ liên kết 1 quá trình từ PsActiveProcessHead, bạn cũng có thể tận dụng danh sách thay thế quá trình này như 1 phương tiện để xác định các quá trình ẩn.
- Xác định trình điều khiển nhân: Mỗi cấu trú phiên có chứa 1 danh sách các trình điều khiển ánh xạ vào phiên này. bạn cũng có thể sử dụng điều này để phân biệt các phiên RDP từ giao diện điều khiển hoặc các phiên chuyển đổi người dùng và cũng cho các việc linh tinh như xác định nếu hệ thống là 1 máy ảo Vmware.
Cấu trúc chính của 1 phiên là _MM_SESSION_SPACE. Đây là 1 cấu trúc lớn, do đó 1 phần nhỏ của nó sẽ được hiện thị dưới đây (Từ window 7 64bit)
>>> dt("_MM_SESSION_SPACE")
'_MM_SESSION_SPACE' (8064 bytes)
0x0 : ReferenceCount ['long']
0x4 : u ['__unnamed_2145']
0x8 : SessionId ['unsigned long']
0xc : ProcessReferenceToSession ['long']
0x10 : ProcessList ['_LIST_ENTRY']
0x20 : LastProcessSwappedOutTime ['_LARGE_INTEGER']
0x28 : SessionPageDirectoryIndex ['unsigned long long']
0x30 : NonPagablePages ['unsigned long long']
0x38 : CommittedPages ['unsigned long long']
0x40 : PagedPoolStart ['pointer64', ['void']]
0x48 : PagedPoolEnd ['pointer64', ['void']]
0x50 : SessionObject ['pointer64', ['void']]
0x58 : SessionObjectHandle ['pointer64', ['void']]
0x64 : SessionPoolAllocationFailures ['array', 4, ['unsigned long']]
0x78 : ImageList ['_LIST_ENTRY']
0x88 : LocaleId ['unsigned long']
0x8c : AttachCount ['unsigned long']
0x90 : AttachGate ['_KGATE']
0xa8 : WsListEntry ['_LIST_ENTRY']
0xc0 : Lookaside ['array', 21, ['_GENERAL_LOOKASIDE']]
0xb40 : Session ['_MMSESSION']
0xb98 : PagedPoolInfo ['_MM_PAGED_POOL_INFO']
0xc00 : Vm ['_MMSUPPORT']
0xc88 : Wsle ['pointer64', ['_MMWSLE']]
0xc90 : DriverUnload ['pointer64', ['void']]
0xcc0 : PagedPool ['_POOL_DESCRIPTOR']
0x1e00: PageDirectory ['_MMPTE']
0x1e08: SessionVaLock ['_KGUARDED_MUTEX']
0x1e40: DynamicVaBitMap ['_RTL_BITMAP']
0x1e50: DynamicVaHint ['unsigned long']
0x1e58: SpecialPool ['_MI_SPECIAL_POOL']
0x1ea0: SessionPteLock ['_KGUARDED_MUTEX']
0x1ed8: PoolBigEntriesInUse ['long']
0x1edc: PagedPoolPdeCount ['unsigned long']
0x1ee0: SpecialPoolPdeCount ['unsigned long']
0x1ee4: DynamicSessionPdeCount ['unsigned long']
0x1ee8: SystemPteInfo ['_MI_SYSTEM_PTE_TYPE']
0x1f30: PoolTrackTableExpansion ['pointer64', ['void']]
0x1f38: PoolTrackTableExpansionSize ['unsigned long long']
0x1f40: PoolTrackBigPages ['pointer64', ['void']]
0x1f48: PoolTrackBigPagesSize ['unsigned long long']
[snip]
aaaaa