木马编写培训教程.docx
《木马编写培训教程.docx》由会员分享,可在线阅读,更多相关《木马编写培训教程.docx(35页珍藏版)》请在优知文库上搜索。
1、木马编写培训教程特洛依木马这个名词大家应该不陌生,自从98年“死牛崇拜”黑客小组公布BaekorifiCe以来,木马犹如平地上的惊雷,使在DOS一WindoWS时代中长大的中国网民从五彩缤纷的网络之梦中惊醒,终于认识到的网络也有它邪恶的一面,一时间人心惶惶。我那时在电脑报上看到一篇文章,大意是一个菜鸟被人用BO操纵了,吓得整天吃不下饭、睡不着觉、上不了网,到处求救!要明白,木马(Trojan)的历史是很悠久的:早在AT&TUnix与BSDUniX十分盛行的年代,木马是由一些玩程式(要紧是C)水平很高的年轻人(要紧是老美)用C或者Shell语言编写的,基本是用来窃取登陆主机的口令,以取得更高的权
2、限。那时木马的要紧方法是诱骗一一先修改你的.profile文件,植入木马;当你登陆时将你敲入的口令字符存入一个文件,用Email的形式发到攻击者的邮箱里。国内的年轻人大都是在盗版DOS的熏陶下长大的,对网络能够说很陌生。直到Win9x横空出世,特别是WinNt的普及,大大推动了网络事业的进展的时候,BO这个用三年后的眼光看起来有点简单甚至能够说是简陋的木马(甚至在Win9x的“关闭程序”对话框能够看到进程)给了当时中国人极大的震撼,它在中国的网络安全方面能够说是一个划时代的软件。自己编写木马,听起来很Cool是不是?!木马一定是由两部分构成一服务器程序(Server)与客户端程序(ClienI
3、),服务器负责打开攻击的道路,就像一个内奸特务;客户端负责攻击目标,两者需要一定的网络协议来进行通讯(通常是TCP/IP协议)。为了让大家更好的熟悉木马攻击技术,破除木马的神秘感,我就来粗略讲一讲编写木马的技术并顺便编写一个例子木马,使大家能更好地防范与查杀各类已知与未知的木马。首先是编程工具的选择。目前流行的开发工具有C+Builder、VC、VB与DeIPhi,这里我们选用C+Builder(下列简称BCB);VC尽管好,但GUl设计太复杂,为了更好地突出我的例子,集中注意力在木马的基本原理上,我们选用可视化的BCB;DelPhi也不错,但缺陷是不能继承已有的资源(如“死牛崇拜”黑客小组公
4、布的B02000源代码,是VC编写的,网上俯拾皆是);VB嘛,谈都不谈一一难道你还给受害者传一个1兆多的动态链接库Msvbvm60.dll吗?启动C+Builder5.0企业版,新建一个工程,添加三个VCL控件:一个是Inlemel页中的SerVerSOCkeI,另两个是Fastnet页中的NMFTP与NMSMTP0ServerSocket的功能是用来使本程序变成一个服务器程序,能够对外服务(对攻击者敞开大门)。SOCkel最初是在UniX上出现的,后来微软将它引入了WindOWS中(包含Win98与WinNt);后两个控件的作用是用来使程序具有FTP(FileTransferProtocol
5、文件传输协议)与SMTP(SimPIeMaiITranSferPrOlOCOI简单邮件传输协议)功能,大家一看都明白是使软件具有上传下载功能与发邮件功能的控件。FOrm窗体是可视的,这当然是不可思议的。不光占去了大量的空间(光一个FOrm就有300K之大),而且使软件可见,根本没什么作用。因此实际写木马时能够用一些技巧使程序不包含FOrm,就像DeIPhi用过程实现的小程序通常只有17K左右那样。我们首先应该让我们的程序能够隐身。双击FOrm,首先在FOrmCreale事件中添加可使木马在Win9x的“关闭程序”对话框中隐藏的代码。这看起来很神秘,事实上说穿了只是是一种被称之为SerViCe的
6、后台进程,它能够运行在较高的优先级下,能够说是非常靠近系统核心的设备驱动程序中的那一种。因此,只要将我们的程序在进程数据库中用RegiSterSerViCePrOCeSSO函数注册成服务进程(SerViCePrOCeSS)就能够了。只是该函数的声明在BOrIand预先打包的头文件中没有,那么我们只好自己来声明这个位于KERNEL32.DLL中的鸟函数了。首先推断目标机的操作系统是Win9x还是WinNt:DWORDdwVersion=GeiVersion();/得到操作系统的版本号if(dwVersion=0x80000000)操作系统是Win9x,不是WinNlIypedefDWORD(CA
7、LLBACK*LPREGISTERSERVICEPROCESS)(DWORD.DWORD);定义RegiSIerSerViCeProCeSS()函数的原型HinstancehDLL;1.pregisterserviceprocessIPRegiSterSerViCeProCess;hDLL=LoadLibrary(,KERNEL32);力口载RegiSlerSerViCePicessO函数所在的动态链接库KERNEL32.DLLIpRegisterserviceProcess=(LPREGISTERSERVICEPROCESS)GetProcAddress(hDLL,RegisterServi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 木马 编写 培训 教程
