内容摘要:今天我们将给大家带来一个重量级后门的使用、编程方法,让广大新手朋友们有好后门玩,让编程技术爱好者有好的后门编程技术可以借鉴。当然,更多的新技术还等你去发掘。
设计&编程
在这一部分中我不列举完整的代码,因为它太长了,我将引用关键代码来说明编写思路。
首先是怎样隐藏自身的进程?一个普遍采用的方法就是远程线程注射。但它最大的问题是注射代码到了远程进程的地址空间后,由于地址空间的变化,依赖于原来地址空间的所有直接寻址指令需要重定位。这点对汇编老手来手是很容易理解的,对高级语言程序编写者来说这意味着所有显式和非显式的全局变量(如API地址和字符串)都需要进行手工重定位。
相比于病毒程序,我们很幸福,因为我们的的注射器可以同时向远程进程注射一个“全局变量块”,再把这个块的地址传送到远程函数,然后在远程函数中使用这个块来替代直接寻址的全局变量,从而免于编写完全“自身可重定位”的代码。后者被认为是非常烦琐并且几乎无法用高级语言实现的。但即使是这样,编写可以重定位的代码复杂度仍然比较大,写功能模块比较多的后门程序将会非常累。农民前辈的Cmdbind2实现了完全手工重定位的注射后门,我们看他的源代码可以发现他仅仅在实现最普通的Bind Shell上就花费了很多代码,像ByShell v0.64这样的功能复杂的后门,如果也这样实现功能的话,无疑是难以想象的。
取代直接编写可重定位代码的普遍方法是在注射进入远程进程的函数中加载一个DLL,这样的话系统将为你做重定位工作,后门主要功能实现在DLL中。例如以前的黑防中,单长虹介绍过这种方法。这种方法也有一个小弊端就是管理员在审核被你注射的进程时会发现一个不明的DLL从而导致后门暴露。农民前辈提出了一种思路,先加载DLL,然后把这一块内存全部拷贝到其它地方,卸载DLL,再申请与原来加载DLL相同的地址空间,把其它地方“寄存”的DLL代码拷贝回这个空间。然后直接调用这个DLL,就解决了所有的重定位问题,还不会在被注射进程的加载模块列表里出现我们的DLL。农民前辈并没有实现他的想法为代码,一会给出我用这种方法实现的主要代码。
责编:豆豆技术应用
- 金山毒霸 2009 杀毒套装 下载 免费 试用
- 金山毒霸 9 互联网安全套装下载
- 巧用“记事本”程序让病毒白白运行
- qq盗号木马变种Trojan-PSW.Win32.QQPass.kht
- jsnndya.exe,gozowzeuisnxd.exe,dkzuimwvx.exe等的清除
- Trojan.DL.Win32.Mnless.ahy(DODOLOOK139.EXE)分析查杀
- Adware.Win32.Agent.nys(mfjdkhk.sys)查杀
- cag1ynw1.com,d32dx9.sys等恶意文件删除解决方案
- wgsfun.dll,456320.exe等cnbeta恶意木马清除解决方案
- ssrcservice.exe,ssrcservice.dll等恶意病毒清除解决方案