首页
社区
课程
招聘
[求助]r3下有办法知道ntoskrnl所在物理地址范围么
发表于: 2023-5-14 23:19 8905

[求助]r3下有办法知道ntoskrnl所在物理地址范围么

2023-5-14 23:19
8905

我看各个版本的虚拟机,感觉像是随机分配,大概范围也不好确定,r3下有没有啥办法找出个大概范围?


[注意]看雪招聘,专注安全领域的专业人才平台!

收藏
免费
支持
分享
最新回复 (12)
雪    币: 914
活跃值: (2678)
能力值: ( LV5,RANK:68 )
在线值:
发帖
回帖
粉丝
2
你说的东西,也许火哥知道
2023-5-15 09:30
0
雪    币: 477
活跃值: (1412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
大黄狗知道
2023-5-15 09:48
0
雪    币: 864
活跃值: (5144)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
华哥知道,不过他正在西瓜摊买瓜
2023-5-15 14:24
0
雪    币: 11436
活跃值: (3365)
能力值: ( LV5,RANK:71 )
在线值:
发帖
回帖
粉丝
5
ntquerysysteminfromation
2023-5-16 11:54
0
雪    币: 827
活跃值: (3253)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6

ZwQuerySystemInformation +SystemModuleInformation

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
NTSTATUS nStatus = STATUS_SUCCESS;
ULONG ulBytes = 0;
PRTL_PROCESS_MODULES pMods = nullptr;
std::unique_ptr<char[]> pBuffers = nullptr;
do
{
    nStatus = ZwQuerySystemInformation(SystemModuleInformation, 0, ulBytes, &ulBytes);
    if (ulBytes == 0)
    {
        break;
    }
    pBuffers = std::make_unique<char[]>(ulBytes);
    RtlZeroMemory(pBuffers.get(), ulBytes);
 
    pMods = (PRTL_PROCESS_MODULES)pBuffers.get();
    nStatus = ZwQuerySystemInformation(SystemModuleInformation, pMods, ulBytes, &ulBytes);
    if (!NT_SUCCESS(nStatus))
    {
        break;
    }
 
    PRTL_PROCESS_MODULE_INFORMATION pMod = pMods->Modules;
    for (ULONG i = 0; i < pMods->NumberOfModules; i++)
    {
        PCHAR pFileName = strrchr((char*)(pMod[i].FullPathName), '\\');
        if (NULL != pFileName)
        {
            if (0 == _stricmp("\\ntoskrnl.exe", pFileName) ||
                0 == _stricmp("\\ntkrnlmp.exe", pFileName) ||
                0 == _stricmp("\\ntkrnlpa.exe", pFileName) ||
                0 == _stricmp("\\ntkrpamp.exe", pFileName)
                )
            {
                std::cout << pMod[i].FullPathName << "-->0x" << std::hex << pMod[i].ImageBase << std::endl;
                break;
            }
        }
        else
        {
            if (0 == _stricmp("ntoskrnl.exe", (char*)pMod[i].FullPathName) ||
                0 == _stricmp("ntkrnlmp.exe", (char*)pMod[i].FullPathName) ||
                0 == _stricmp("ntkrnlpa.exe", (char*)pMod[i].FullPathName) ||
                0 == _stricmp("ntkrpamp.exe", (char*)pMod[i].FullPathName)
                )
            {
                std::cout << pMod[i].FullPathName << "-->0x" << std::hex << pMod[i].ImageBase << std::endl;
                break;
            }
        }
    }
 
while (0); 


2023-5-16 12:00
0
雪    币: 12871
活跃值: (9322)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
7
saloyun ZwQuerySystemInformation +SystemModuleInformation NTSTATUS&nbsp;nStatus&nbsp;=&nbsp;STAT ...
经典审题不仔细
2023-5-16 14:27
0
雪    币: 7054
活跃值: (4906)
能力值: ( LV10,RANK:163 )
在线值:
发帖
回帖
粉丝
8
NtSystemDebugControl SysDbgReadPhysical
if ( KdPitchDebugger && !KdLocalDebugEnabled && ((a1 - 0x1D) & 0xFFFFFFF7) != 0 )
    return;
2023-5-16 16:00
0
雪    币: 827
活跃值: (3253)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
hzqst 经典审题不仔细
,物理地址,这是想干啥。。。。
2023-5-16 16:50
0
雪    币: 14
活跃值: (1013)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
yimingqpa NtSystemDebugControl SysDbgReadPhysical if ( KdPitchDebugger && !KdLocalDebugEnabled && ...
这个函数是直接读物理内存吗,你下面的判断貌似和调试器标志有关?看不懂
2023-5-16 20:24
0
雪    币: 187
活跃值: (863)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
saloyun [em_10][em_10][em_10],物理地址,这是想干啥。。。。
猜测是有个漏洞驱动,暴露的ioctl没有vtop,只有写物理内存,他想利用下
2023-5-17 08:55
0
雪    币: 14
活跃值: (1013)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
crackcc 猜测是有个漏洞驱动,暴露的ioctl没有vtop,只有写物理内存,他想利用下
哈哈,被你猜到了.不能映射页表只能直接读写物理内存,只要能定位到nt的物理地址,别的啥都解决,目前暴力搜索.观察了一些电脑,发现w11以前的物理地址是4字节,w11后就是8字节了,还有跟物理内存容量也有些关系,不好确定
2023-5-17 10:54
0
雪    币: 220
活跃值: (656)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
saloyun ZwQuerySystemInformation +SystemModuleInformation NTSTATUS&nbsp;nStatus&nbsp;=&nbsp;STAT ...
可以参考下枚举楼上回复的枚举内核模块地址,大小那个。那个枚举出来的是虚拟地址例如说0xFFFFF8000545B000,但是大多数情况这个地址的低32位就是物理地址
2023-7-13 03:15
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册