首页
社区
课程
招聘
[讨论]ring0隐藏调试端口
2009-1-22 22:32 7188

[讨论]ring0隐藏调试端口

2009-1-22 22:32
7188
ring3使用StrongOD可以把调试器隐藏得比较好了,但一到ring0它就无能为力。ring0目标进程被调试的最大特征就是DebugPort不为空,就算目标进程被调试中,一旦DebugPort被置零那么调试器也接收不到任何调试信息。如果DebugPort可以被隐藏,那么这种反调试方法就要废掉了。
    初步研究,调试端口隐藏是可能的。要处理那些Dbgk**函数,如果隐藏后还要比较完美接收到调试信息,那么所有涉及到DebugPort的地方几乎都要处理,但这些Dbgk**函数比较多而且都是不导出的,处理起来比较麻烦。
    有没有简单点的方法呢?

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (5)
雪    币: 437
活跃值: (243)
能力值: ( LV12,RANK:240 )
在线值:
发帖
回帖
粉丝
bzhkl 5 2009-1-22 22:47
2
0
可能 shadow walk 可以

原理 :http://blog.csdn.net/linux2linux/archive/2005/08/26/465701.aspx

以前搞了下 测试下 时间长了会蓝 不太稳定 不知道为什么   = =
雪    币: 214
活跃值: (24)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
wowelf 2 2009-1-22 23:03
3
0
受教了,谢谢。
雪    币: 66
活跃值: (16)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
炉子 3 2009-1-23 17:43
4
0
hook Lpc系列函数,然后把Port改成0,碰到DebugPort的lpc信息直接转发或者直接处理。
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
DazzleJ 2009-1-24 16:10
5
0
shadow walker原理上是可行的,不过用来隐藏数据内存的话......开销会比较大...
雪    币: 218
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
NaX 2009-1-24 16:50
6
0
DebugPort=0不会再向调试器发送端口信息了,转而直接发向异常端口,所以HOOK了也收不到调试信息。
游客
登录 | 注册 方可回帖
返回