隐藏驱动完整攻略(猥琐篇)
来源:互联网 发布:钉钉办公软件 编辑:程序博客网 时间:2024/04/29 04:15
基础篇里说的那些东西搞完以后,任何正常的位置都找不到我们的Driver了,此时相应的手段基本上只剩下暴搜PE镜像或暴搜DriverObject了。而且,基础篇讲的那些东西,因为都是M$定好的一些格式和位置,代码怎么写都差不多,固定的路子而已。而抹PE镜像或抹DriverObject,真的是看你怎么猥琐了~
四、抹PE镜像
SYS文件也是标准的PE文件,加载驱动时由MmLoadSystemImage将其载入内存,于是内存中就有了完整的PE镜像。ring3我们可以暴搜内存查找隐藏的DLL模块,ring0我们基于同样的道理可以暴搜高端内存查找隐藏的SYS~为了对抗这种暴力搜索,必须将PE镜像的特征抹掉。
基本抹法就是抹掉MZ,PE标志,或者DosHeader->elfanew清0使找不到PE标记等等,但这些都是不够的,可以参考两个帖子:
MJ0011的《检测GMAE:HideDriver的工具》
http://www.debugman.com/read.php?tid=1250
PS:想要隐藏驱动bin的也可以在这里找到,建议先看刀客的HideDrv是怎么写的(方法在基础篇里讲了一部分),再看看MJ的drvdet是如何猥琐地进行检测。
还有老V拿WinHex改了之后的bin(要bin的也可以来这里,都差不多):
http://www.debugman.com/read.php?tid=1993
看看老V是如何更猥琐地绕过drvdet,然后MJ更更猥琐地提出的搜索DataDirectory法...
所以要抹还是彻底一点,整个抹了PEHeader,此时你已经没有任何特征,just a pool of executable Code~~
具体点,PE结构中pOptinalHeader->SizeofHeaders取PE头大小,然后直接整个Zero掉就可以了,但是要注意时机,否则会蓝蓝。至于文件后面的pdb路径,可以直接用WinHex填零,然后重新计算校验和即可,加载后自然也不会出现在内存中~
如果你使用了线程,按《RKU的StealthCode检测》的方法处理下StartAddress,免得被人查到
五、抹DriverObject
这个可以参考前面写的《对抗内存搜索对象》
没有Device,DriverObject就没有存在的必要,所以这里你爱怎么抹怎么抹,因为我们完全不需要它
对象头可以整个填零,或者用Fake ObjectType填充一下ObjectHeader->Type
DriverObject->DriverSection所指向的LDR_DATA_TABLE_ENTRY结构也要抹一抹,主要是几个关键数据和路径信息,全都填零吧
使用以上五种方法之后,隐藏驱动已经差不多到位,可以轻松bypass目前许多ARK了。关于此时的驱动如何与ring3通信,再说~
- 隐藏驱动完整攻略(猥琐篇)
- 隐藏驱动完整攻略(猥琐篇)
- 隐藏驱动完整攻略(基础篇)
- 隐藏驱动完整攻略(基础篇)
- 金庸群侠传之武林浩荡1.7全隐藏完整攻略流程(图文)
- [转载]在肉鸡上开VPN的猥琐隐藏技巧
- C# Datagridview完整攻略
- C# Datagridview完整攻略
- C# Datagridview完整攻略
- 驱动隐藏
- 金庸群侠转2完整攻略(Flash)
- J2EE中文乱码完整攻略
- 买台式整机完整攻略
- 完整海购攻略教程
- CentOS 安装mediawiki完整攻略
- Pomelo环境搭建完整攻略
- 【猥琐流】制作一个隐藏在黑页下的大马并且添加后门
- 显示隐藏文件全攻略
- PHP5最新中文版CHM手册
- Microsoft Word Documents from ASP.NET
- 常见调试器
- shell字符串操作方法,以及实例
- WGET的使用方法与技巧
- 隐藏驱动完整攻略(猥琐篇)
- 从log文件看MeeGo播放器性能
- 用户投资SOA四大顾虑
- android多线程断点下载
- 先测试还是先代码
- 关于i18n
- APACHE 2.2.8+TOMCAT6.0.14配置负载均衡 (apache集成mod_jk.so)
- Adobe air 安装软件解析
- Vista/Win7下的直接磁盘写入