- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MJ0011内核研究所——绕过现代AntiRookit工具的内核模块扫描
创建时间:2007-10-24 更新时间:2007-10-25文章属性:原创文章提交:MJ0011?(tyjaaa_at_163.com)绕过现代Anti-Rookit工具的内核模块扫描(Bypass modern anti-rootkit toolss kernel mode scan)MJ0011th_decoder@126.com2007-10-24本文描述了一些方法,可以绕过目前主流的现代Anti-rootkit工具,包括但不限于:Icesword 最新版Gmer最新版Rootkit unhooker 最新版DarkSpy 最新版AVG Anti-rootkit最新版等等目前的anti-rootkit工具中,对于内核模块主要采用如下几种扫描方式:1.恢复ZwQuerySystemInformation的hook,然后利用功能号SystemModuleInformation进行枚举例如Icesword2.遍历PsLoadModuleList,Driver/Device/Section Object链,或者TypeList链等(总之是找驱动相关对象)进行枚举例如Rootkit Unhooker,Gmer等3.内核镜象暴力搜索,搜索MZ,PE等等标志结合进行判断内存里是否有PE镜象,如rootkit unhooker,rutkowska的modgreper等,通常只能显示为unknow image4.函数引用,各种routine\hook等,先HOOK一些常用函数,然后当驱动去调用这些函数时,记下其地址,检测时使用,或者是根据各种routine(dispatch routine,IDT,Image Notfiy等)或各种hook(inline hook,iat/eat hook等等),通常只能显示为unknow image或unknow xxx handler等5.使用系统ImageLoad Notfiy,使用一个BOOT驱动,记录所有模块load的消息,检测时进行分析 如AVG Anti-rootkit等先说绕过1,2,3,5的办法很简单,使用诸如ZwSetSystemInformation的函数加载驱动,然后在DriverEntry中分配NonPagedPool的内存,然后将功能代码/函数copy到该内存中,然后进行必要的HOOK,最后返回STATUS_UNSUCCESSFULL.这样驱动在PsLoadModuleList、各种对象链里就消失了,自然也就不存在于ZwQuerySystemInformation枚举的列表里需要注意的是,copy到内存中的代码要尽量简单,基本不会生成需要重定位的代码了,但调用系统函数还是要另想办法我的某个RK里是这样做的,例如A Function用来hook 系统函数B,其中需要调用系统函数C,那么分配一块内存,大小= len(A) + sizeof(ULONG) * 2在内存的前两个DWORD放OrgB,以及C的地址,后面开始放函数代码函数中使用call +5 对自身的位置进行定位,找到内存开始的位置,然后得到OrgB和C当然也可以在COPY入内存前自己用绝对地址定位函数~不过不如这个方法灵活相关代码://hook call CmEnumerateValueKeyvoid InstallCMRegHook(){????PVOID _CmEnumerateKeyValueLoc ;?????????_CmEnumerateKeyValueLoc = FindCmEnumerateValueKey();????//找到 call CmEnumerateValueKey????HookCodeLen = (ULONG)NopFunc8 - (ULONG)NewCmEnumerateValueKey ;????//获得NewCmEnumerateValueKey长度????HookCode3 = ExAllocatePoolWithTag(NonPagedPool ,????HookCodeLen + 4 ,????MEM_TAG_HOOKCODE3);????????//分配内存????*(ULONG*)HookCode3 = *(ULONG*)_CmEnumerateKeyValueLoc ;?????????//原函数地址放入内存????RtlCopyMemory((PVOID)HookCode3 + sizeof(ULONG) , (PVOID)NewCmEnumerateValueKey ,HookCodeLen);????//cop
您可能关注的文档
最近下载
- 人流健康宣教ppt课件.pptx VIP
- 国开一网一 电子商务概论 实践任务(B2B电子商务网站调研报告).doc
- 工厂电工班安全培训课件.pptx VIP
- 《干粉灭火装置技术规程》CECS322:2012.docx
- (一诊)绵阳市2023级高三第一次诊断考试物理试卷A卷(含答案).docx
- 正和岛入岛申请表(更新版20141022).docx VIP
- 第二单元(知识清单)-2023-2024学年四年级语文上册单元速记·巧练(统编版).docx VIP
- DL_T 793.7-2022 发电设备可靠性评价规程 第7部分:光伏发电设备.docx VIP
- 整理超级个人简历模板(修改完后别忘了生成pdf再打印).doc VIP
- 2024智慧仓储解决方案[48页PPT].pptx VIP
原创力文档


文档评论(0)