首页
社区
课程
招聘
[讨论]ntdll.dll中精确获取ssdt函数索引id
发表于: 2014-8-29 08:06 6353

[讨论]ntdll.dll中精确获取ssdt函数索引id

2014-8-29 08:06
6353
突然想到个好点子.

众所周知,在内核中进行ssdt hook得获取ssdt函数的函数索引id,一般情况下,我们都是"勤劳"
地定义各个操作系统版本的函数索引id,

聪明点的程序员,就会用更加聪明一点的手法,比如在内存中加载一份ntdll.dll,然后获取导出表,
然后得到函数体,再硬编码来获取各操作系统 索引id 的数字的编码,然后获取得到函数索引id,(此不是我想说的,
此方案依然落后.)

我们先看下面的2个ntdll中的函数,
67936678 NtSetInformation   B8 4D010000     mov eax,14D
6793667D                    BA 0003FE7F     mov edx,7FFE0300
67936682                    FF12            call dword ptr ds:[edx]
67936684                    C2 1000         retn 10
67936687                    90              nop
67936688 NtSetInformation   B8 4E010000     mov eax,14E
6793668D                    BA 0003FE7F     mov edx,7FFE0300
67936692                    FF12            call dword ptr ds:[edx]
67936694                    C2 1000         retn 10
67936697                    90              nop

我的方案更加进步~,运用函数指令反汇编引擎,确定这些函数体大概有多少条指令,哪些指令是不同的,
然后根据不同,运用人工智能类似的方法来确定函数索引id(最主要的就是评价你的引擎有多少点
人工智能~).

ps,别喷啊,应该有很多人都早就想到了,咱突然想到,赶紧保存下来,论坛为什么就没看到这种引擎方法呢~

[课程]Android-CTF解题方法汇总!

收藏
免费 1
支持
分享
最新回复 (10)
雪    币: 400
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
路过。看看。。。
2014-8-29 08:32
0
雪    币: 1392
活跃值: (4862)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
3
getproaddress + mov eax锁定就足够了
2014-8-29 10:48
0
雪    币: 55
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
楼主知道有限状态机么?逻辑推理?机器学习?进化?
如果你不知道或者觉得你的算法用不着这些东西的话,还是别谈AI了吧……
2014-8-29 10:51
0
雪    币: 1443
活跃值: (96)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
确实算不上人工智能,这里只要识别一下特征码然后匹配一下就足够了。
2014-8-29 11:20
0
雪    币: 293
活跃值: (287)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
不是很多人想到了,而是很多人实现了,驱动映射一份ntdll到内核就可以找了,函数首字母确定是B8就可以取后面的DWORD了
2014-8-29 11:23
0
雪    币: 750
活跃值: (228)
能力值: ( LV9,RANK:780 )
在线值:
发帖
回帖
粉丝
7
不明白为什么弄那么复杂,通过对应的Zw系列函数就可以很容易获得

例如:SYSCALL_INDEX(ZwTerminateProcess);
2014-8-29 14:38
0
雪    币: 23
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
- -!每个版本的fastcall多多少少都有不同,其实可以无视fastcall,自建ring3调用。这是个体力活,嘿哟
2014-8-30 09:56
0
雪    币: 2143
活跃值: (720)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
9
这都什么年代了,谁还在硬编码定索引?
2014-8-30 10:14
0
雪    币: 5
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
人工智能真牛。
2014-8-30 12:40
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
11
都导出表了还需要硬编码???
2014-8-30 21:49
0
游客
登录 | 注册 方可回帖
返回
//