微点交流论坛
» 游客:  注册 | 登录 | 帮助

 

作者:
标题: [sudami]友情提醒微点的工程师 -- MmLoadSystemImage(微点的响应速度真快)
点饭的百度空间
银牌会员




积分 2315
发帖 2236
注册 2007-11-30
#1  [sudami]友情提醒微点的工程师 -- MmLoadSystemImage(微点的响应速度真快)


WINDOWS内核疯狂爱好者 sudami


2008年11月21日 星期五 00:05

哦,今天熬夜来了,得学习一下啦.比如微点驱动MP110013.SYS调用MP110003.SYS导出的一些函数,很有意思.然后都是CALL HOOK啊,什么栈回溯判断调用者啊([nt]WriteProcessMemory,CreateRemoteThread...),patch人家的IAT啊... 哎,该好好猥琐一下啦~~~

2008年12月06日 星期六 22:24

老技术,所以随便提醒下.

      关于HOOK MmLoadSystemImage.可以监测到由SCM、ZwLoadDriver、ZwSetSystemInformation等加载的驱动信息,以便进行及时的记录,patch, 当然瑞星的卡卡助手06年用的老技术 -- 从DriverEntry回溯一层找到IopLoadDriver中call DriverEntry,再进行patch拦截,也是个不错的选择. 其他诸如SSDT层面的就不说了. by sudami 2008-12-06

      微点之所以在拦截驱动加载方面过滤不严格,不是他们没有注意这块,而是在处理hook MmLoadSystemImage上code的写法有问题,如下:

     1. MP110003.SYS 调用ZwSetSystemInformation来加载到C盘根目录的测试驱动"\\??\\c:\\hook.sys".时未attach到CSRSS.EXE进程空间, 而是在SYSTEM空间中去调,显然EPROCESS中的ProcessInSession标志位是0, 自然没有足够的section来存放新的Driver,于是很强大的返回0xC0000017(STATUS_NO_MEMORY)错误.根本进不到微点瞬间下的钩子里面去.

     2. 微点很猥琐的通过栈回溯找到了Call MmLoadSystemImage地址,既而找到原始的MmLoadSystemImage地址.不过微点的驱动开发人员却还要进一步特征匹配,在地址-0x100h内搜索出 0x266Ah 才肯HOOK. 这样匹配还不如找Call MmLoadSystemImage下方的call RtlImageNtHeader校验. 我测试了N中环境,都没有出现过0x266Ah字符串,所以微点自然放弃了对ZwSetSystemInformation内部调用MmLoadSystemImage处的CALL HOOK.

不过微点挂了NtMapViewOfSection,还有个ImageNotify,监控起来也差不多了.据MJ同学说ImageNotify比MmLoadSystemImage更底层,所有的回调都是很底层的,不过我觉得Notify太容易被摘了(当然HOOK也很好恢复,没有万能的对策).

找MmLoadSystemImage的地址,方法很多,若要暴搜,绝对不要全部硬编码特征匹配,很搓很不稳定, 所以啊MJ同学说搜一个XX即可,"(应某同学要求,打成马赛克)"哈哈,我的想法是在xxxx里面找每个call,分析call的函数地址开头0x20字节,就可以快速找到了. 不过我是这样做的,通过栈回溯找到MmLoadSystemImage,然后把它里面的那个xx搞成别的, 嘿嘿,这样我的程序强奸完系统后,其他恶意程序暴搜的话就够呛了...

简单用栈回溯做了个监控的,如下:







至于在fake_MmLoadSystemImage里面做处理,就可随自己做了. 比如黑白名单判断,patch 驱动的XX,单纯的记录... 也可在创建ObjectSection时候拦截,效果也不错.

其实没必要这样复杂嘛.挂钩下ZwLoadDriver足矣,再把几个进R0的关键API挂上, 一个小型监控驱动加载的HIPS就成型了. 啊啊啊啊啊啊啊啊~~~

我呢,非常搓,看见微点更挫,所以我便用更加搓的方式来搞了.各位同学切勿效仿切勿效仿~


【boy_hacker】微点的工程师会感动滴

【killvxk】还是hook RtlImageNtHeader强大~

【360safe keenjoy95】 邪了门0xC0000017...

[ Last edited by 点饭的百度空间 on 2008-12-23 at 10:34 ]

※ ※ ※ 本文纯属【点饭的百度空间】个人意见,与【 微点交流论坛 】立场无关※ ※ ※

你的微笑 is 微点的骄傲!
http://hi.baidu.com/new/micropoint
2008-12-8 14:15
查看资料  发送邮件  访问主页  发短消息   编辑帖子
点饭的百度空间
银牌会员




积分 2315
发帖 2236
注册 2007-11-30
#2  [sudami]哎,微点的响应速度真快.MmLoadSystemImage

2008/12/10     

哎,微点的响应速度真快,一下就改进了.微点升级后的效果如下:

nt!NtSetSystemInformation+0x358:
8061071e db0400          fild    dword ptr [eax+eax]
80610721 008b038945d8    add     byte ptr [ebx-27BA76FDh],cl
80610727 8b4304          mov     eax,dword ptr [ebx+4]
8061072a 8945dc          mov     dword ptr [ebp-24h],eax
8061072d 8d45ac          lea     eax,[ebp-54h]
80610730 50              push    eax
80610731 8d45b4          lea     eax,[ebp-4Ch]
80610734 50              push    eax
80610735 6a01            push    1
80610737 57              push    edi
80610738 57              push    edi
80610739 8d45d8          lea     eax,[ebp-28h]
8061073c 50              push    eax
8061073d e8cb4a7701      call    81d8520d ; 很挫...
80610742 8945e4          mov     dword ptr [ebp-1Ch],eax
80610745 3bc7            cmp     eax,edi
80610747 0f8cb0040000    jl      nt!NtSetSystemInformation+0x837 (80610bfd)
8061074d ff75ac          push    dword ptr [ebp-54h]
80610750 e8c1edf1ff      call    nt!RtlImageNtHeader (8052f516)

或许微点在有的机器上有效,在有的机器上无效??? 还是看了这篇搓文后立马修改了代码??? 靠, 真不厚道!!!升级之后总得说一声吧,害得我为了兼容微点,还得换其他方法搞. 囧

13 匿名网友  2008年12月11日 星期四 21:13
sudami 作为一个公司的程序员,应该尊重竞争对手,并以自我技术的创新为乐,而不是找别人的茬。

15 sudami  2008年12月12日 星期五 09:34
嗯,有道理,不过我目前技术太菜.
需要分析学习其他安全软件的一些技术,才能不断提高自己.
这个也不算找"微点"的茬,倒是帮他们纠正了一个小错误,难道是坏事啊?

哎,以后我就不会把其他安全软件的这种漏洞写出来了,留着自己用倒是不错~~~
人家又不给钱我,干么费那么大劲去提醒他们,还吃力不讨好的....

还又一个月学校就放假啦.哈哈,终于可以回家咯~~~

留言回复作者:
http://hi.baidu.com/sudami/blog/ ... 3df6084bfb51ab.html

※ ※ ※ 本文纯属【点饭的百度空间】个人意见,与【 微点交流论坛 】立场无关※ ※ ※

你的微笑 is 微点的骄傲!
http://hi.baidu.com/new/micropoint
2008-12-15 10:55
查看资料  发送邮件  访问主页  发短消息   编辑帖子
lotei
版主

病毒区地方父母官


积分 776
发帖 775
注册 2006-10-14
来自 被人们遗忘了的村庄
#3  

觉得大米还是很不错的,哎!好好学习技术!MJ能教你技术却教不了你做人!呵呵!有时候不是看起来搓而是还没看懂!

[ Last edited by lotei on 2008-12-19 at 18:51 ]

※ ※ ※ 本文纯属【lotei】个人意见,与【 微点交流论坛 】立场无关※ ※ ※


让自己更加睿智,其实看透了!你就放下了!
2008-12-19 18:47
查看资料  发送邮件  发短消息   编辑帖子
点饭的百度空间
银牌会员




积分 2315
发帖 2236
注册 2007-11-30
#4  

可爱的mj她好像被“禁止发言”了

※ ※ ※ 本文纯属【点饭的百度空间】个人意见,与【 微点交流论坛 】立场无关※ ※ ※

你的微笑 is 微点的骄傲!
http://hi.baidu.com/new/micropoint
2008-12-19 21:02
查看资料  发送邮件  访问主页  发短消息   编辑帖子
snhao
银牌会员




积分 1791
发帖 1782
注册 2007-6-12
#5  

不能人家提出了批评意见就封人家的嘴吧?那以后谁还给你提意见?
不但不能封嘴,还应当鼓励大家提出批评意见,对于正确的意见应该给予一定的奖励。只有这样才能不断进步。

※ ※ ※ 本文纯属【snhao】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2008-12-23 11:20
查看资料  发短消息   编辑帖子



论坛跳转:

可打印版本 | 推荐 | 订阅 | 收藏


[ 联系我们 - 东方微点 ]


北京东方微点信息技术有限责任公司 福建东方微点信息安全有限责任公司

闽ICP备05030815号