绕过主动防御的代码注入方法一点思考

目前大多数的杀软都是hook NtWriteVirtualMemory和NtUserSetWindowsHookAW、NtUserSetWindowsHookE来防止代码注入。

关于代码注入Ring3层的方法主要有:
  • 远程线程CreateRemoteThread
  • 消息钩子SetWindowsHookEx
  • Ring3 APC QueueUserApc
  • 修改线程上下文SetContextThread
其中第一种和第三种方法需要传入一个param,但是要求这个param必须在目标进程内存空间,之前的一些方法比较笨重,直接在目标进程VirtualAllocEx内存,然后把希望的参数内容写入这个内存,使用了WriteProcessMemory函数,而这个函数是被hook的,所以杀软可以很容易的拦截代码注入行为。
仔细想想,杀软的这种防御是很失败的!原因是为了要一个param,攻击者完全没有必要做这么大的动作去目标进程内存空间申请内存并写内存,我在思考是否可以不用WriteProcessMemory函数呢?反正我的目的就是得到一个合理的param,并且这个param是在目标进程内存空间即可! Read More »

构造无人之境: Exploiting Realtek RTL8139单芯片以太网控制器

优良的rootkit(以下简写为rk)通常应该具备隐蔽稳定的通信功能。正如优秀的程序员一直追求用最简洁的代码完成功能需求一样,优秀的rk coder也一直秉承着绝不在rk中加入过多无用的远程命令,让rk尽量回归其原始定义–获得“root”权限的kit的宗旨。而如何实现隐蔽是rk通信首先要考虑的问题。
因此,出现了各式各样的隐蔽隐藏技术。几年前的高级手段随着内核技术的公开与普及在时下被理所当然地判定为浅“藏”辄止,而时受深度检测工具干扰的在内核级深藏不露的rk亦不能使rk coder感到一劳永逸。因为构造隐蔽通信中的无人之境才是他们永恒不变的追求。 Read More »

Vista Bootmgr/Winload使用的大部分选项ID

vista bootmgr的选项存储在systemdevice\boot\bcd,这个HIVE文件类似以前的boot,ini

boot.ini的选项在该HIVE中是以guid->option id的形式来体现的

除了保留了原来boot.ini可以使用的大部分选项外,还新增了许多选项,例如test signing, disable integrity checks,hypervisor debug options,cmdcons等等等

以下是我分析WINLOAD.EXE和bootmgr找出的一些选项ID(50个,包括大部分选项),通过这些选项ID可以查看、修改VISTA的许多启动设置(结合参考:http://www.debugman.com/read.php?tid=1999Read More »

[POC]基于IO Packet隐藏文件和注册表,过磁盘解析和总线解析

昨天晚上玩过游戏,睡觉前写了一点代码,下午醒来又稍微改了改

只是POC~

文件的貌似有时候能隐藏又时候不行~郁闷的是每次跟过去就可以隐藏了,不跟的话有时候又隐藏不了~最后懒得改了~~~另外 由于没有动CACHE,所以对于用API或者FSD的文件检查反而过不去~ Read More »

About Handling Nmi

本文基于Windows2003以上32位系统,因为XP处理NMI很弱,我们后面再说。
最近为硬件写驱动,需要处理关于NMI的一些东西,2003或者Vsita32上如果你不想弄的太复杂,可以调用新增的KeRegisterNmiCallback函数注册一个回调函数等待处理.但是在XP下就很困难,解决的办法有两个:hook或者update.所谓hook,这个不难理解,hook在哪里就仁者见仁了;而update就是仿造2003下的实现方法,在XP下自己实现一些处理例程,虽然要建立一些必要的结构,也要修改特定的描述符,显得繁杂,但是比起hook来更有成就感.另外,研究和处理中断的方法类似,大家可以自己调试编码其他的中断,会有很多启发的. 项目的代码不好公开,那就把以前记录的一些资料和最新的体会写下来,希望对大家有用。 Read More »

About the SMM rootkit

这几天回上海搬家累坏了,回来北京也没什么好东西放出来,整理点以前的乱东西凑数 :) Read More »

[国庆礼]Exploiting Windows Device Drivers译文版

        本来是打算在昨天发布这个译文的,但是由于一些翻译上的问题和联系作者版权的问题,导致了译文发布的延迟。这次不一定是最完美的版本,但是大家先可以凑合下看吧。这篇文章是作为上手文章而作的,是配合着前段时间某个paper一起出来的姊妹篇,不过同期的姊妹篇不打算翻译了。文中提到了两篇paper也有打算汉化的想法,不过希望不要是无限期拖稿了…呵呵。高手是完全可以无视这篇文章的的。

        文章中如果存在什么错误,欢迎在回复中指出。

        注意:文章中的代码可能存在一定破坏性,是请使用者酌情处理,以上。代码可能由于合并转换导致存在问题,请自行修正。

        下载地址:本站下载(数据未恢复) | BRSBOX | RayFile | Box.net

文章预告:Exploiting Windows Device Drivers

本来可以在今天上传具体的文章的,但是由于翻译和代码调试等等一些的问题,所以今天暂时不能上传了。不过说来有趣,作为外国作者的一个小习惯,通常会添加一段小小的名言名句什么的作为一个引子或者总结语什么的。一般来说,这些还算比较常见的句子,还算好翻译。但是这次文章里出现的这句话确实十分有趣的,你可以尝试翻译一下:

"By the pricking of my thumbs, something wicked this way comes . . ."

- "Macbeth", William Shakespeare.

呵呵,不要以为你翻译的就是对的啊,实际上作者写的有点问题,但是句子没有错,导致翻译出来这个句子始终不是那个意思。偶然之下,我发现了问题的答案。(我懒得去看电影找答案了…)你也可以尝试下哦~文章中这句话就不再翻译了。而且文章挺有趣,完全可以作为新手上路来看,当然了,高手完全可以无视这篇文章了。Just for fun。