论坛: 原创软件 标题: ■■■■■手把手教你写木马(第一章)■■■■■(原创) 复制本贴地址    
作者: jnake [jnake]    论坛用户   登录
写在前面
由于大家对我的支持,以及大家对学习木马编程知识的渴望,还有庆祝我今年考上大学及这些年来我对20CN的
支持。所以,亲自操刀制作了这个教程来回报给20CN的广大网友们。前些年(就是一年前),我写了《本人写
好了一个木马。大家顶一顶!》这个贴子,结果很多网友叫我拿代码。现在看来没什么意思,因为那时候忙着
读书考大学,没什么时间,写的东西不怎么完整就拿出来发表了,后来看到大量作品,才知道什么是高手,现
在想想,那时确有不足之处(自嘲,哈哈!所以,大家对我的那篇《本人写好了一个木马。大家顶一顶!》不
要再回复了咯)。若干年后(也就是一年咯)的今天,我写了这份教程献给大家也算是庆祝我考上大学,  呵
呵~~~~高兴啊!这份教程也许会写比较短的时间(两三个月),也许会写比较长的时间(一两年吧)。取决
我在大学里面所交的女朋友数量,数量多的话,又要学习又要谈恋爱,没时间嘛,呵!好的,切入正题。木马
存在已经很多年了,它不断更新进步,体积越变越小,功能越变越强。我们用的可以说是不亦乐乎,从远程控
制到盗取别人的密码和帐号,是个傻瓜型的工具,可是你们知道那里面所包含的真相和原理吗?难道大家就不
想知道木马的原理和真相吗?啊,想知道啊!好的,你们的救世主“风流才子”来了,他大力的对大家喊到:
我将使你们了解真相,因为真相会使你们更自由!(台下20CN的网友掌声响起,我频频点头,对大家说:感谢
父母,感谢自己,感谢老师,感谢20CN,感谢20CN的网友们!)

木马主要有以下几个类别:(下面是它们的类型和主要特征,由我个人总结,可能有些专业术语讲的不好,呵)
1:正向连接木马    最简单、最典型、最早、最广泛使用的木马。使用TCP/IP或UDP协议,在服务端上开一个
                  端口监听,然后客户端进行连接控制。这种木马的缺点是易被发现和查杀, 特别难过防
                  火强这一关。
2:反弹端口木马    原理和正向连接木马的原理相反, 它是客户端开端口,服务端主动连接客户端进行通信
                  是现在流行的木马之一。 缺点是当服务端连接客户端时,防火墙会发出这样的报警“应
                  用程序XXX试图访问XXX.XXX.XXX.XXX通过端口XXX”容易被发现。
3:PING    木马    有人也称为IGMP木马(可能见解不同) ,它使用IGMP协议进行数据的发送,它们的原理
                  是修改IGMP头的构造, 加入木马的控制命令,不占用端口,不容易被发现,能穿透部分
                  防火墙。缺点是你不知道服务端执行的怎么样了,不过的技术好象解决了这个难题。
4:3  无  木马    即无进程,无端口,无DLL。无进程采用插入线程或创建远程线程的方法;无端口采用重
                  复利用系统已经打开的端口(如80 135 139等)或命名管道技术;无DLL采用代码动态加
                  载目标进程的内存空间的技术。是现在最先进的木马,很不容易被查杀!(对3无木马的
                  编写我有些地方还是不清楚,如果有哪个高手对3无木马的编写有比较深入的研究或有自
                  己独特的见解,请联系我一起讨论)。
5:脚  本  木马    就是ASP/PHP/CGI等脚本木马,通过HTTP来控制目标的机器。严格的来说,它不是一个真
                  正意义上的木马,但是,它能实现木马的功能,所以也可以说是木马。
6:无客户端木马    这种的木马和正向连接的木马差不多,只是客户端不固定,可以是IE/GUTEFTP/FALSHGET
                  /NETSCAPE/TELNET 等,可以跨平台操作,系统可是WINDOWS/UNIX/LINUX/MAC OS 甚至是
                  手机,掌上电脑都可以控制。典型的代表:“蓝色火焰”,缺点和正向连接木马一样。
7:其  他  木马    不好定义,我们通常会使用他们偷QQ/传奇/奇迹/联众 等游戏帐号。或是键盘记录,或
                  后台监视等等。

以上的几种木马我都会讲到,请大家看以后的学习。
学习编写木马最基本的条件是有一点VB的知识,如果你连VB是什么都不知道的话,那看了也没用。
我使用的平台是:WIN98+VB6 因为我对VC的学习深度没有VB的多,在加上VB语言好懂,对初学者来说比较适合。
至于为什么要用WIN98,因为在98下写东西比较容易,而在NT级内核的系统(2000/XP/2003),由于受到系统
安全机制的影响,写起来比较麻烦,不适合初学者,当然在以后我们学习主要会以NT级内核的系统下写程序,
因为现在除了网吧,用98的人不多,呵呵。我比较喜欢WIN2000+VB6的。
我会用循序渐进的方法进行,会从正向连接木马到反弹端口木马在到3无木马,从简单的控制到屏幕控制,会
从单线程到多线程,从盗QQ到盗传奇!希望在学习中共同进步。


这份教程对高手来讲是小菜一碟,可以止步咯!呵呵!


好了,不多说了,开始咯!

第一节:木马的主要特征是什么
其实,这节不讲也可以的,我简单讲一下,木马的主要特征是:隐蔽性,危害性。(哎哟,谁丢的西红柿,给
我站出来!)

第二节:如何隐蔽木马
好了,我们今天的主要内容出来了,如果有完过木马的朋友可能会知道木马的服务端运行时没有窗体、在进程
栏中不可见(NT级内核的系统是可见的,如WIN2000,除非使用插入线程的方法,但前期我们主要以98为目标)
有时回带有迷惑的信息。
恩,我们今天的目标出来了:
1:程序运行时隐藏窗体
2:使程序在WIN98的进程栏中不可见
3:发出一些迷惑人的信息

开工了,我们先来完成第一的目标
好,运行VB6(什么,你没装啊?快去装!),新建一个“标准EXE”工程,如图:

出现如下窗体:

好了么,我的目标是什么来着,哦是 1:程序运行时隐藏窗体  好的,我们找到Form1的属性窗口(不要告诉我
你不知道在那里),找到其中的一个属性Visible 这个属性决定程序在运行时是否可见,我们把它的值设置为
False  整个意思是 程序在运行时的窗体=不可见。如图:

好了,启动一下看看,什么,不知道啊,是这个:

好了没?好了。恩,发现什么,是不是程序在执行的时候窗体不见了呢。呵呵,我的第一个目标完成。
(哦,你说这很简单啊,是的,好,那么我们继续!)

为了和等下的学习成对比,我们先把这个程序编译一下。
点击菜单条上的  文件→生成工程1.EXE→将文件命名为NO1.EXE。
编译完了。运行一下NO1.EXE这个程序,哈哈,是不是,窗体不见了,只是鼠标闪了一下,呵呵。好了,把它给
关闭了,什么?你不会关啊?哦,同时按住Ctrl+Shift+Del(哎哟,谁给我的鸡蛋),出现如下的图:

把工程1这个任务给结束掉!

下一步我们的目标是什么? 是:2:使程序在WIN98的进程栏中不可见
来,这一步我们需要写代码。双击窗体对象(不要告诉我你不会,呵呵!),出现代码窗口。如图:

在这两行代码(这两行代码是说当程序载入时所要执行的代码)
            Private Sub Form_Load()
            (中间是你要写的代码)
            End Sub
中间加上一句
App.TaskVisible=False
如图:

我来解释一下这行代码的意思,这行代码是说:应用程序运行时候在任务栏中=不可见。
完了,我们把它编译一下。如上面所说的:点击菜单条上的  文件→生成工程1.EXE→将文件命名为NO2.EXE。
程序NO2.EXE和刚才的NO1.EXE对比。运行NO2.EXE,窗体没出现,好。关闭它,按住Ctrl+Shift+Del
发生了什么事?任务栏里没有“工程1”这个任务,如图:

和NO1.EXE运行时的任务栏对比一下:

很明显,我们把任务给隐藏了,呵呵,使程序在WIN98的进程栏中不可见的目标,成功!

好了,我们完成了两个目标了,接下来我们要完成 3:发出一些迷惑人的信息  这个目标
现在,人们的安全意识越来越强烈,如果他们运行程序时候没有出现什么东西,只是鼠标闪了几下,就会让人
怀疑。我们如果在程序运行的时候发出一些迷惑人的消息,来麻痹对方的话,可能会更安全。
我们现在就来实现。
双击Form1对象,出现代码窗口,如图:

在下面的代码中:
                Private Sub Form_Load()
                App.TaskVisible = False

                End Sub
加上这么一句代码:
                MsgBox "程序损坏,请重新安装!", vbCritical, "系统提示"
如图:

这里用到的Msgbox函数我简单的说一下:
消息对话框函数MsgBox
语法:MsgBox "提示文本",按钮及图标值,"对话框标题"
功能:出现一个消息对话框,在此对话框中显示提示文本,等待用户单击按钮。
我们这句话的意思是:程序运行时出现一个消息对话框。在对话框中显示“程序损坏,请重新安装!”
这样的系统警告!
好了,我们编译一下,点击菜单条上的  文件→生成工程1.EXE→将文件命名为NO3.EXE
编译完成后,我们有:NO1.EXE NO2.EXE NO3.EXE用来做对比。
运行NO3.EXE,怎么样,是不是出现如下的对话框:

呵呵,是不是具有欺骗性呢?
就这样,我的今天的3个目标都完成了。
这些东西是最基础的,也许很多很都会,我只是想照顾以下不会的朋友。
可能大家回问:木马的自启动,关联文件,以及如何隐蔽也是最基础的,怎么不讲?
其实,这些东西涉及到一些比较复杂的东西,我会在以后学习中讲到如何在注册表和win.ini中加入木马
的自启动。以及拷贝到隐蔽的地方,还有和.txt/.exe/.hlp/.chm等如何关联。

第一章到此结束。
这一章花了我天的时间,原因是:本来我半天就写好了,准备发表的时候,突然停电,没来的及保存白写
了,结果我又花了我半天的时间。
第二章我准备在一个礼拜里面发出来!主要将一下如何使用  winsock 控件进行端口的监听和连接,以及一些
简单的远程控制技术。

这篇文章在高手看来,确实是小菜一碟!
如果哪位高手对VB插入线程或创建远程线程;或命名管道技术;代码动态加载目标进程的内存空间的技术。
有写过或有比较深刻的了解,和我探讨一下,不要小气啊!



如果老大有看这篇文章,请你履行以下的协议哦,呵呵呵!

贡献度的获得
版主的管理操作会获得一定的贡献度,所有用户更新文章,软件,参与投票以及在论坛提出有效建议被接纳同样获得贡献度
当前更新文章和参与投票已经完成自动增加贡献度,情况如下:
更新文章通过审核:
原创:经验值+10 贡献度+3
转载:经验值 +5 贡献度+1

更新文章通过审核但是因类别不对或排版不好需要编辑:
原创:经验值+10 贡献度+1
转载:经验值 -5 贡献度+0

更新文章没有通过审核:
不变

胡乱更新文章,所更新内容并不是技术文章而是问题等:
经验值-20
贡献度-6

更新文章通过审核,但把转载文章做原创发表被查出:
经验值 - 200
贡献度 - 60


每参与一项投票增加贡献度5

  2004-1-8
  NetDemon


好了, 下次见!


[此贴被 风流才子(jnake) 在 08月04日09时14分 编辑过]

地主 发表时间: 04-08-04 09:05

回复: lqfrla [lqfrla]   论坛用户   登录
我支持楼主,虽然今天讲的我会

B1层 发表时间: 04-08-04 15:06

回复: iamzhaokun [iamzhaokun]      登录
新生报到,学习中……

B2层 发表时间: 04-08-05 22:27

回复: w5676 [w5676]   论坛用户   登录
虽然我把10年前学的编程忘记得差不多了,现在看起来还很亲切

B3层 发表时间: 04-08-06 16:13

回复: jnake [jnake]   论坛用户   登录
谢谢支持,第二章正在写,就快完了。

B4层 发表时间: 04-08-07 09:59

回复: lqfrla [lqfrla]   论坛用户   登录
好啊,快点啊

B5层 发表时间: 04-08-07 11:12

回复: adeliyas [adeliyas]   论坛用户   登录
高人啊高人


B6层 发表时间: 04-08-10 12:35

回复: clark008 [clark008]   论坛用户   登录
收到

B7层 发表时间: 04-08-11 15:59

回复: hacker521 [hacker521]   论坛用户   登录
请问楼主有其他语言的编写能力吗,可以其他语言遍个看看,VB俺早会了

B8层 发表时间: 04-08-11 21:04

回复: totoy [totoy]   论坛用户   登录
谢谢~

B9层 发表时间: 04-08-12 08:20

回复: coconut [zmdjf]   论坛用户   登录
thanks

B10层 发表时间: 04-08-14 17:39

回复: fcuuff [fcuuff]   论坛用户   登录
谢谢~!

B11层 发表时间: 04-08-16 03:37

回复: guopeng [guopeng]   论坛用户   登录
我也来一个,我很喜欢VB

B12层 发表时间: 04-08-16 15:01

回复: jnake [jnake]   论坛用户   登录
第二章已经推出!

B13层 发表时间: 04-08-19 14:11

回复: jiantian [jiantian]   论坛用户   登录
顶,支持

B14层 发表时间: 04-08-21 11:41

回复: vchuangbo [vchuangbo]   论坛用户   登录
辛苦了  才子

B15层 发表时间: 04-09-10 09:46

回复: bay [coming]   论坛用户   登录
知不知道VB是微软的私有语言啊!
谁在扔我..............

B16层 发表时间: 04-10-03 12:45

回复: shiro [shiro_01]   论坛用户   登录
学习中

B17层 发表时间: 04-10-04 17:47

回复: yaxezha [yaxezha]   论坛用户   登录
强烈支持!!!!!!!!!!!!!!!!!。希望老大多讲好东西。

B18层 发表时间: 04-10-05 19:40

回复: lixiaoke [lixiaoke]   论坛用户   登录
帅哥!!
你QQ多少!

B19层 发表时间: 04-10-06 12:48

回复: angelabo [angelabo]   论坛用户   登录
顶啊 !

B20层 发表时间: 04-10-07 13:47

回复: zuanshizf [zuanshizf]   论坛用户   登录
班主写得通俗易懂但我想问一下:用Vc 和Delphi能一样的用吗?我还真没学过Vb,我的联系方式:zuanshizf1979@sina.com

B21层 发表时间: 04-10-09 14:22

回复: jnake [jnake]   论坛用户   登录
楼上的 
当然不行了
先语法就不同了
而且  Delphi 更不用说了,他和VB不是一个公司的产品 怎么能通用呢?



B22层 发表时间: 04-10-09 16:33

回复: hehe [yujia2000]   论坛用户   登录
才子啊,
  厉害。
    可惜我看不懂。跟着学啊 。没 办法


B23层 发表时间: 04-10-09 17:36

回复: pxx [pxx]   论坛用户   登录
请问写木马用那种语言更好,delphi怎样


B24层 发表时间: 04-10-09 18:57

回复: xingyun [xingyun]   论坛用户   登录


B25层 发表时间: 04-10-10 12:53

回复: yesfxm [yesfxm]   论坛用户   登录
我在网吧上网怎么装VB6啊?????
联系我谢谢..
yesfxm@163.com
qq:24766645 http://yesfxm.ku.net

B26层 发表时间: 05-04-30 21:40

回复: shen1314 [shen1314]   论坛用户   登录
狂顶.

我爱死你了.楼主

B27层 发表时间: 05-05-11 00:52

回复: hackerwk [hackerwk]   论坛用户   登录
继续吧!!!

B28层 发表时间: 05-08-01 10:01

回复: jueguzi [jueguzi]   论坛用户   登录
看了

B29层 发表时间: 05-08-05 11:14

回复: 008 [door2005]      登录
hao

B30层 发表时间: 06-05-21 00:14

回复: lixiao272 [lixiao272]   论坛用户   登录
希望楼住继续加油。。。

B31层 发表时间: 06-05-22 15:31

论坛: 原创软件

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号