瑞星卡卡安全论坛

首页 » 企业产品讨论区 » 2012版瑞星杀毒软件公测专区 » 对抗debugport清零的另一种方法
shulun743 - 2012-6-1 17:20:00
前几天晚上看intel手册突然想到了一种另类的对抗debug port的方法,理论上蛮通用的,于是写了几百行代码实验了下
但是结果很悲催,IDT HOOK死活蓝屏,群里几个人帮我查那段代码错误,结果一致认为代码没错,说我RP不行
哎……好吧,我认了,我很久没扶老奶奶过马路了

我简单说下思路,如果你能搞定,请联系我,让我把这些代码close,谢了
前提:你必须知道目标驱动保护(简称213.sys)的哪个进程(简称213.exe),从而得到此进程的debugport地址
      你必须确认213.sys是否创建了一个线程来不断清零这个debugport

好了,不卖关子了,嘿嘿,进入正题
1:先hook 掉NtGetContextThread,NtSetContextThread,如果目标驱动没对这两个函数做手脚,此步略过
2:IDT HOOK 一号向量
3:枚举系统线程,对每个线程下硬件写入断点,地址就是213.sys要保护的进程的debugport
理论流程是这样的,保护线程对debugport进程,触发断点->1号向量接管->进入我们的函数->简单的处理是把debugport改回来,复杂的处理是自动寻找213.sys清零213.exe的debugport的函数体内可以modify的位置,改掉它,使清零操作无效,我用XDE(一个反汇编引擎)试过,后来把这块代码去了,太浪费生命了

现在思路有了,写代码就简单了。但是我很悲催的没有完成……主啊,饶恕我吧,我以后一定好好做人……

贴代码会不会太多了……而且我写代码不习惯写很多注释。呃……将就着看吧



http://blog.sina.com.cn/s/blog_738b50740100q6zr.html

用户系统信息:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.12 (KHTML, like Gecko) Maxthon/3.3.8.3000 Chrome/18.0.966.0 Safari/535.12
shulun743 - 2012-6-2 15:37:00
就是利用调试 端口 ,看看 瑞星是否存在 此弱点

过瑞星的调试保护 ,干掉瑞星

看看是否瑞星2012是否存在此问题
瑞星工程师12 - 2012-6-4 11:54:00
请楼主提供样本。
shulun743 - 2012-6-4 13:13:00
没有样本,就是从网上看到这个帖子,让写驱动的老师看看吧?

是否瑞星存在这样的问题呢???
瑞星工程师12 - 2012-6-4 16:02:00
请详细说说,您想达到什么效果?
温馨提示:希望把经您测试后确定的问题反馈到论坛,便于工程师复现并解决问题。
1
查看完整版本: 对抗debugport清零的另一种方法