1. Чтобы отладчик выводил логи, можно использовать команду .logopen
2. Чтобы просмотреть сервисы, на которых стоят хуки, надо просмотреть таблицу KiServiceTable, делается это командой dds KiServiceTable L130
3. Чтобы просмотреть информацию о процессах, сущестувет команда !process 0 0 - она выводит все процессы. такая же команда с параметром 1 выведет краткую инфу о процессе, которая будет включать DirBase, которая понадобится для перехода в контекст процесса ( .context
Поговорим подробнее о просмотре дерева VAD
1. получим инфу, где находится Vad в процессе firefox.exe
0: kd> !process 8a3758a8 1
PROCESS 8a3758a8 SessionId: 0 Cid: 06c8 Peb: 7ffdf000 ParentCid: 0288
DirBase: 0b3c81c0 ObjectTable: e3721438 HandleCount: 1257.
Image: firefox.exe
VadRoot 8a0cac38 Vads 613 Clone 0 Private 27256. Modified 19445. Locked 0.
Далее, используем команду !vad отладчика ядра:
0: kd> !vad 8a0cac38Обратим внимание на адреса с Execute_writecopy:
VAD level start end commit
8a2540a8 (16) 10 10 1 Private READWRITE
8a241b80 (17) 20 20 1 Private READWRITE
8a23cc98 (15) 30 12f 52 Private READWRITE
8a175f08 (17) 130 132 0 Mapped READONLY
8a254600 (16) 140 141 0 Mapped READONLY
8a393850 (18) 150 18f 64 Private READWRITE
8a141910 (17) 190 19f 7 Private READWRITE
89f98d98 (19) 1a0 1af 0 Mapped READWRITE
8a144bc8 (18) 1b0 1c5 0 Mapped READONLY
8a1d8fb0 (20) 1d0 210 0 Mapped READONLY
8a1a3eb8 (19) 220 260 0 Mapped READONLY
8a1dafd8 (21) 270 275 0 Mapped READONLY
8a0e6910 (20) 280 2eb 96 Mapped Exe EXECUTE_WRITECOPY
8a2cb270 (21) 2f0 3d3 213 Mapped Exe EXECUTE_WRITECOPY
8a27e630 (22) 3e0 3f7 18 Mapped Exe EXECUTE_WRITECOPY
0: kd> !vad 8a0e6910 1
VAD @ 8a0e6910
Start VPN 280 End VPN 2eb Control Area 8a211ca0
FirstProtoPte e1486460 LastPte fffffffc Commit Charge 60 (96.)
Secured.Flink 0 Blink 0 Banked/Extend 0
File Offset 0
ImageMap ViewShare EXECUTE_WRITECOPY
ControlArea @ 8a211ca0
Segment e1486420 Flink 00000000 Blink 00000000
Section Ref 0 Pfn Ref 6a Mapped Views 1
User Ref 1 WaitForDel 0 Flush Count 0
File Object 8a36fd78 ModWriteCount 0 System Views 0
Flags (90000a0) Image File HadUserReference Accessed
File: \Program Files\Mozilla Firefox\sqlite3.dll
Segment @ e1486420
......................................................................
Reload command: .reload sqlite3.dll=280000,6c000
Как видим, там содержится модуль sqlite3.dll
Чтобы просмотреть, что именно содержится по адресу StartVPN есть замечательные команды , !dd!da, !du, !dc. Если вы заметили, то при еще при выводе !vad 8a0cac38, у нас выводятся StartVPN & EndVPN адреса. Так что можно смело писать !dc
Что самое интересное, командой dс 280*1000 невозможно просмотреть что находится по этому адресу, точнее выдается инфа, но не та. Для этого, нужно переключиться в комнтекст данного процесса, как пишет MSDN, юзаем команду .process 8a3758a8 , далее - смотрим dc 280*1000 и убеждаемся, что там находится на 1-й строчке сигнатура РЕ файла - 'MZ'.... вот для меня только вопрос.. как выйти из контекста ? Об этом и PEB - в следующей статье )
Комментариев нет:
Отправить комментарий