木马 设计_台湾木马程序设计

hacker|
196

什么叫木马程序?

“木马程序”全称是“特洛伊木马(Trojan Horse)”,原指古希腊士兵藏在木马内进入敌方城市从而占领敌方城市的故事。在Internet上,“特洛伊木马”指一些程序设计人员在其可从 *** 上下载(Download)的应用程序或游戏中,包含了可以控制用户的计算机系统的程序,可能造成用户的系统被破坏甚至瘫痪。

关于此 特洛伊木马程序 已检测到: PWS-LegMir (特洛伊木马程序), PWS-LegMir (特洛伊木马程序)

特洛伊木马没有复制能力,它的特点是伪装成一个实用工具或者一个可爱的游戏,这会诱使用户将其安装在PC或者服务器上。

详解木马原理

特洛伊木马是如何启动的

作为一个优秀的木马,自启动功能是必不可少的,这样可以保证木马不会因为你的一次关机操作而彻底失去作用。正因为该项技术如此重要,所以,很多编程人员都在不停地研究和探索新的自启动技术,并且时常有新的发现。一个典型的例子就是把木马加入到用户经常执行的程序 (例如explorer.exe)中,用户执行该程序时,则木马自动发生作用。当然,更加普遍的 *** 是通过修改Windows系统文件和注册表达到目的,现经常用的 *** 主要有以下几种:

1.在Win.ini中启动

在Win.ini的[windows]字段中有启动命令"load="和"run=",在一般情况下 "="后面是空白的,如果有后跟程序,比方说是这个样子:

run=c:\windows\file.exe

load=c:\windows\file.exe

要小心了,这个file.exe很可能是木马哦。

2.在System.ini中启动

System.ini位于Windows的安装目录下,其[boot]字段的shell=Explorer.exe是木马喜欢的隐藏加载之所,木马通常的做法是将该何变为这样:shell=Explorer.exefile.exe。注意这里的file.exe就是木马服务端程序!

另外,在System.中的[386Enh]字段,要注意检查在此段内的"driver=路径\程序名"这里也有可能被木马所利用。再有,在System.ini中的[mic]、[drivers]、[drivers32]这3个字段,这些段也是起到加载驱动程序的作用,但也是增添木马程序的好场所,现在你该知道也要注意这里喽。

3.利用注册表加载运行

如下所示注册表位置都是木马喜好的藏身加载之所,赶快检查一下,有什么程序在其下。

4.在Autoexec.bat和Config.sys中加载运行

请大家注意,在C盘根目录下的这两个文件也可以启动木马。但这种加载方式一般都需要控制端用户与服务端建立连接后,将己添加木马启动命令的同名文件上传到服务端覆盖这两个文件才行,而且采用这种方式不是很隐蔽。容易被发现,所以在Autoexec.bat和Confings中加载木马程序的并不多见,但也不能因此而掉以轻心。

5.在Winstart.bat中启动

Winstart.bat是一个特殊性丝毫不亚于Autoexec.bat的批处理文件,也是一个能自动被Windows加载运行的文件。它多数情况下为应用程序及Windows自动生成,在执行了Windows自动生成,在执行了Win.com并加截了多数驱动程序之后

开始执行 (这一点可通过启动时按F8键再选择逐步跟踪启动过程的启动方式可得知)。由于Autoexec.bat的功能可以由Witart.bat代替完成,因此木马完全可以像在Autoexec.bat中那样被加载运行,危险由此而来。

等一系列……………………

木马的隐藏方式

1.在任务栏里隐藏

这是最基本的隐藏方式。如果在windows的任务栏里出现一个莫名其妙的图标,傻子都会明白是怎么回事。要实现在任务栏中隐藏在编程时是很容易实现的。我们以VB为例。在VB中,只要把from的Visible属性设置为False,ShowInTaskBar设为False程序就不会出现在任务栏里了。

2.在任务管理器里隐藏

查看正在运行的进程最简单的 *** 就是按下Ctrl+Alt+Del时出现的任务管理器。如果你按下Ctrl+Alt+Del后可以看见一个木马程序在运行,那么这肯定不是什么好木马。所以,木马会千方百计地伪装自己,使自己不出现在任务管理器里。木马发现把自己设为 "系统服务“就可以轻松地骗过去。

因此,希望通过按Ctrl+Alt+Del发现木马是不大现实的。

3.端口

一台机器有65536个端口,你会注意这么多端口么?而木马就很注意你的端口。如果你稍微留意一下,不难发现,大多数木马使用的端口在1024以上,而且呈越来越大的趋势;当然也有占用1024以下端口的木马,但这些端口是常用端口,占用这些端口可能会造成系统不正常,这样的话,木马就会很容易暴露。也许你知道一些木马占用的端口,你或许会经常扫描这些端口,但现在的木马都提供端口修改功能,你有时间扫描65536个端口么?

4.隐藏通讯

隐藏通讯也是木马经常采用的手段之一。任何木马运行后都要和攻击者进行通讯连接,或者通过即时连接,如攻击者通过客户端直接接人被植人木马的主机;或者通过间接通讯。如通过电子邮件的方式,木马把侵入主机的敏感信息送给攻击者。现在大部分木马一般在占领主机后会在1024以上不易发现的高端口上驻留;有一些木马会选择一些常用的端口,如80、23,有一种非常先进的木马还可以做到在占领80HTTP端口后,收到正常的HTTP请求仍然把它交与Web服务器处理,只有收到一些特殊约定的数据包后,才调用木马程序。

5.隐藏隐加载方式

木马加载的方式可以说千奇百怪,无奇不有。但殊途同归,都为了达到一个共同的目的,那就是使你运行木马的服务端程序。如果木马不做任何伪装,就告诉你这是木马,你会运行它才怪呢。而随着网站互动化避程的不断进步,越来越多的东西可以成为木马的传播介质,Java Script、VBScript、ActiveX.XLM....几乎WWW每一个新功能部会导致木马的快速进化。

6.最新隐身技术

在Win9x时代,简单地注册为系统进程就可以从任务栏中消失,可是在Windows2000盛行的今天。这种 *** 遭到了惨败。注册为系统进程不仅仅能在任务栏中看到,而且可以直接在Services中直接控制停止。运行(太搞笑了,木马被客户端控制)。使用隐藏窗体或控制台的 *** 也不能欺骗无所不见的Admlin大人(要知道,在NT下,Administrator是可以看见所有进程的)。在研究了其他软件的长处之后,木马发现,Windows下的中文汉化软件采用的陷阱技术非常适合木马的使用。。

QUOTE:

特洛伊木马具有的特性

1.包含干正常程序中,当用户执行正常程序时,启动自身,在用户难以察觉的情况下,完成一些危害用户的操作,具有隐蔽性

由于木马所从事的是 "地下工作",因此它必须隐藏起来,它会想尽一切办法不让你发现它。很多人对木马和远程控制软件有点分不清,还是让我们举个例子来说吧。我们进行局域网间通讯的常用软件PCanywhere大家一定不陌生吧?我们都知道它是一款远程控制软件。PCanywhere比在服务器端运行时,客户端与服务器端连接成功后,客户端机上会出现很醒目的提示标志;而木马类的软件的服务器端在运行的时候应用各种手段隐藏自己,不可能出现任何明显的标志。木马开发者早就想到了可能暴露木马踪迹的问题,把它们隐藏起来了。例如大家所熟悉木马修改注册表和而文件以便机器在下一次启动后仍能载入木马程式,它不是自己生成一个启动程序,而是依附在其他程序之中。有些木马把服务器端和正常程序绑定成一个程序的软件,叫做exe-binder绑定程序,可以让人在使用绑定的程序时,木马也入侵了系统。甚至有个别木马程序能把它自身的exe文件和服务端的图片文件绑定,在你看图片的时候,木马便侵人了你的系统。它的隐蔽性主要体现在以下两个方面:

(1)不产生图标

木马虽然在你系统启动时会自动运行,但它不会在 "任务栏"中产生一个图标,这是容易理解的,不然的话,你看到任务栏中出现一个来历不明的图标,你不起疑心才怪呢!

(2)木马程序自动在任务管理器中隐藏,并以"系统服务"的方式欺骗操作系统。

2.具有自动运行性。

木马为了控制服务端。它必须在系统启动时即跟随启动,所以它必须潜人在你的启动配置文件中,如win.ini、system.ini、winstart.bat以及启动组等文件之中。

3.包含具有未公开并且可能产生危险后果的功能的程序。

4.具备自动恢复功能。

现在很多的木马程序中的功能模块巴不再由单一的文件组成,而是具有多重备份,可以相互恢复。当你删除了其中的一个,以为万事大吉又运行了其他程序的时候,谁知它又悄然出现。像幽灵一样,防不胜防。

5.能自动打开特别的端口。

木马程序潜人你的电脑之中的目的主要不是为了破坏你的系统,而是为了获取你的系统中有用的信息,当你上网时能与远端客户进行通讯,这样木马程序就会用服务器客户端的通讯手段把信息告诉黑客们,以便黑客们控制你的机器,或实施进一步的入侵企图。你知道你的电脑有多少个端口?不知道吧?告诉你别吓着:根据TCP/IP协议,每台电脑可以有256乘以256个端口,也即从0到65535号 "门",但我们常用的只有少数几个,木马经常利用我们不大用的这些端口进行连接,大开方便之 "门"。

6、功能的特殊性。

通常的木马功能都是十分特殊的,除了普通的文件操作以外,还有些木马具有搜索cache中的口令、设置口令、扫描目标机器人的IP地址、进行键盘记录、远程注册表的操作以及锁定鼠标等功能。上面所讲的远程控制软件当然不会有这些功能,毕竟远程控制软件是用来控制远程机器,方便自己操作而已,而不是用来黑对方的机器的。

QUOTE:

木马采用的伪装 ***

1.修改图标

木马服务端所用的图标也是有讲究的,木马经常故意伪装成了XT.HTML等你可能认为对系统没有多少危害的文件图标,这样很容易诱惑你把它打开。看看,木马是不是很狡猾?

2.捆绑文件

这种伪装手段是将木马捆绑到一个安装程序上,当安装程序运行时,木马在用户毫无察觉的情况下,偷偷地进入了系统。被捆绑的文件一般是可执行文件 (即EXE、COM一类的文件)。

3.出错显示

有一定木马知识的人部知道,如果打开一个文件,没有任何反应,这很可能就是个木马程序。木马的设计者也意识到了这个缺陷,所以已经有木马提供了一个叫做出错显示的功能。当服务端用户打开木马程序时,会弹出一个错误提示框 (这当然是假的),错误内容可自由定义,大多会定制成一些诸如 "文件已破坏,无法打开!"之类的信息,当服务端用户信以为真时,木马却悄悄侵人了系统。

4.自我销毁

这项功能是为了弥补木马的一个缺陷。我们知道,当服务端用户打开含有木马的文件后,木马会将自己拷贝到Windows的系统文件夹中(C;\wmdows或C:\windows\system目录下),一般来说,源木马文件和系统文件夹中的木马文件的大小是一样的 (捆绑文件的木马除外),那么,中了木马的朋友只要在近来收到的信件和下载的软件中找到源木马文件,然后根据源木马的大小去系统文件夹找相同大小的文件,判断一下哪个是木马就行了。而木马的自我销毁功能是指安装完木马后,源木马文件自动销毁,这样服务端用户就很难找到木马的来源,在没有查杀木马的工具帮助下。就很难删除木马了。

5.木马更名

木马服务端程序的命名也有很大的学问。如果不做任何修改,就使用原来的名字,谁不知道这是个木马程序呢?所以木马的命名也是千奇百怪,不过大多是改为和系统文件名差不多的名字,如果你对系统文件不够了解,那可就危险了。例如有的木马把名字改为window.exe,如果不告诉你这是木马的话,你敢删除吗?还有的就是更改一些后缀名,比如把dll改为dl等,不仔细看的,你会发现吗?

木马的种类

1、破坏型

惟一的功能就是破坏并且删除文件,可以自动的删除电脑上的DLL、INI、EXE文件。

2、密码发送型

可以找到隐藏密码并把它们发送到指定的信箱。有人喜欢把自己的各种密码以文件的形式存放在计算机中,认为这样方便;还有人喜欢用WINDOWS提供的密码记忆功能,这样就可以不必每次都输入密码了。许多黑客软件可以寻找到这些文件,把它们送到黑客手中。也有些黑客软件长期潜伏,记录操作者的键盘操作,从中寻找有用的密码。

在这里提醒一下,不要认为自己在文档中加了密码而把重要的保密文件存在公用计算机中,那你就大错特错了。别有用心的人完全可以用穷举法暴力破译你的密码。利用WINDOWS API函数EnumWindows和EnumChildWindows对当前运行的所有程序的所有窗口(包括控件)进行遍历,通过窗口标题查找密码输入和出确认重新输入窗口,通过按钮标题查找我们应该单击的按钮,通过ES_PASSWORD查找我们需要键入的密码窗口。向密码输入窗口发送WM_SETTEXT消息模拟输入密码,向按钮窗口发送WM_COMMAND消息模拟单击。在破解过程中,把密码保存在一个文件中,以便在下一个序列的密码再次进行穷举或多部机器同时进行分工穷举,直到找到密码为止。此类程序在黑客网站上唾手可得,精通程序设计的人,完全可以自编一个。

3、远程访问型

最广泛的是特洛伊马,只需有人运行了服务端程序,如果客户知道了服务端的IP地址,就可以实现远程控制。以下的程序可以实现观察"受害者"正在干什么,当然这个程序完全可以用在正道上的,比如监视学生机的操作。

程序中用的UDP(User Datagram Protocol,用户报文协议)是因特网上广泛采用的通信协议之一。与TCP协议不同,它是一种非连接的传输协议,没有确认机制,可靠性不如TCP,但它的效率却比TCP高,用于远程屏幕监视还是比较适合的。它不区分服务器端和客户端,只区分发送端和接收端,编程上较为简单,故选用了UDP协议。本程序中用了DELPHI提供的TNMUDP控件。

4.键盘记录木马

这种特洛伊木马是非常简单的。它们只做一件事情,就是记录受害者的键盘敲击并且在LOG文件里查找密码。据笔者经验,这种特洛伊木马随着Windows的启动而启动。它们有在线和离线记录这样的选项,顾名思义,它们分别记录你在线和离线状态下敲击键盘时的按键情况。也就是说你按过什么按键,下木马的人都知道,从这些按键中他很容易就会得到你的密码等有用信息,甚至是你的信用卡账号哦!当然,对于这种类型的木马,邮件发送功能也是必不可少的。

5.DoS攻击木马

随着DoS攻击越来越广泛的应用,被用作DoS攻击的木马也越来越流行起来。当你入侵了一台机器,给他种上DoS攻击木马,那么日后这台计算机就成为你DoS攻击的最得力助手了。你控制的肉鸡数量越多,你发动DoS攻击取得成功的机率就越大。所以,这种木马的危害不是体现在被感染计算机上,而是体现在攻击者可以利用它来攻击一台又一台计算机,给 *** 造成很大的伤害和带来损失。

还有一种类似DoS的木马叫做邮件炸弹木马,一旦机器被感染,木马就会随机生成各种各样主题的信件,对特定的邮箱不停地发送邮件,一直到对方瘫痪、不能接受邮件为止。

6. *** 木马

黑客在入侵的同时掩盖自己的足迹,谨防别人发现自己的身份是非常重要的,因此,给被控制的肉鸡种上 *** 木马,让其变成攻击者发动攻击的跳板就是 *** 木马最重要的任务。通过 *** 木马,攻击者可以在匿名的情况下使用Telnet,ICQ,IRC等程序,从而隐蔽自己的踪迹。

7.FTP木马

这种木马可能是最简单和古老的木马了,它的惟一功能就是打开21端口,等待用户连接。现在新FTP木马还加上了密码功能,这样,只有攻击者本人才知道正确的密码,从而进入对方计算机。

8.程序杀手木马

上面的木马功能虽然形形 *** ,不过到了对方机器上要发挥自己的作用,还要过防木马软件这一关才行。常见的防木马软件有ZoneAlarm,Norton Anti-Virus等。程序杀手木马的功能就是关闭对方机器上运行的这类程序,让其他的木马更好地发挥作用。

9.反弹端口型木马

木马是木马开发者在分析了防火墙的特性后发现:防火墙对于连入的链接往往会进行非常严格的过滤,但是对于连出的链接却疏于防范。于是,与一般的木马相反,反弹端口型木马的服务端 (被控制端)使用主动端口,客户端 (控制端)使用被动端口。木马定时监测控制端的存在,发现控制端上线立即弹出端口主动连结控制端打开的主动端口;为了隐蔽起见,控制端的被动端口一般开在80,即使用户使用扫描软件检查自己的端口,发现类似TCP UserIP:1026 ControllerIP:80ESTABLISHED的情况,稍微疏忽一点,你就会以为是自己在浏览网页。

QUOTE:

中木马后出现的状况

对于一些常见的木马,如SUB7、BO2000、冰河等等,它们都是采用打开TCP端口监听和写人注册表启动等方式,使用木马克星之类的软件可以检测到这些木马,这些检测木马的软件大多都是利用检测TCP连结、注册表等信息来判断是否有木马入侵,因此我们也可以通过手工来侦测木马。

也许你会对硬盘空间莫名其妙减少500M感到习以为常,这的确算不了什么,天知道Windows的临时文件和那些乌七八糟的游戏吞噬了自己多少硬盘空间。可是,还是有一些现象会让你感到警觉,一旦你觉得你自己的电脑感染了木马,你应该马上用杀毒软件检查一下自己的计算机,然后不管结果如何,就算是Norton告诉你,你的机器没有木马,你也应该再亲自作一次更深入的调查,确保自己机器安全。经常关注新的和出名的木马的特性报告,这将对你诊断自己的计算机问题很有帮助。

(1)当你浏览一个网站,弹出来一些广告窗口是很正常的事情,可是如果你根本没有打开浏览器,而览浏器突然自己打开,并且进入某个网站,那么,你要小心。

(2)你正在操作电脑,突然一个警告框或者是询问框弹出来,问一些你从来没有在电脑上接触过的间题。

(3)你的Windows系统配置老是自动莫名其妙地被更改。比如屏保显示的文字,时间和日期,声音大小,鼠标灵敏度,还有CD-ROM的自动运行配置。

(4)硬盘老没缘由地读盘,软驱灯经常自己亮起, *** 连接及鼠标屏幕出现异常现象。

这时,最简单的 *** 就是使用netstat-a命令查看。你可以通过这个命令发现所有 *** 连接,如果这时有攻击者通过木马连接,你可以通过这些信息发现异常。通过端口扫描的 *** 也可以发现一些弱智的木马,特别是一些早期的木马,它们捆绑的端口不能更改,通过扫描这些固定的端口也可以发现木马是否被植入。

当然,没有上面的种种现象并不代表你就绝对安全。有些人攻击你的机器不过是想寻找一个跳板。做更重要的事情;可是有些人攻击你的计算机纯粹是为了好玩。对于纯粹处于好玩目的的攻击者,你可以很容易地发现攻击的痕迹;对于那些隐藏得很深,并且想把你的机器变成一台他可以长期使用的肉鸡的黑客们,你的检查工作将变得异常艰苦并且需要你对入侵和木马有超人的敏感度,而这些能力,都是在平常的电脑使用过程日积月累而成的。

我们还可以通过软件来检查系统进程来发现木马。如利用进程管理软件来查看进程,如果发现可疑进程就杀死它。那么,如何知道哪个进程是可疑的呢?教你一个笨 *** ,有以下进程绝对是正常的:EXPLORER.EXE、KERNEL32.DLL、MPREXE.EXE、MSGSRVINTERNAT.EXE、32.EXE、SPOOL32.EXEIEXPLORE.EXE(如果打开了IE),而出现了其他的、你没有运行的程序的进程就很可疑了。一句话,具体情况具体分析。

QUOTE:

被感染后的紧急措施

如果不幸你的计算机已经被木马光临过了,你的系统文件被黑客改得一塌糊涂,硬盘上稀里糊涂得多出来一大堆乱七八糟的文件,很多重要的数据也可能被黑客窃取。这里给你提供3条建议,希望可以帮助你:

(1)所有的账号和密码都要马上更改,例如拨号连接,ICQ,mIRC,FTP,你的个人站点,免费邮箱等等,凡是需要密码的地方,你都要把密码尽快改过来。

(2)删掉所有你硬盘上原来没有的东西。

(4)检查一次硬盘上是否有病毒存在 。

木马技术篇

这里就不介绍木马是如何写成的了,毕竟大多数网友不会去编写什么木马,也没有足够的知识和能力来编写,包括我自己:)

QUOTE:

黑客是如何骗取你执行木马的

1、冒充为图像文件

首先,黑客最常使用骗别人执行木马的 *** ,就是将特洛伊木马说成为图像文件,比如说是照片等,应该说这是一个最不合逻辑的 *** ,但却是最多人中招的 *** ,有效而又实用 。

只要入侵者扮成美眉及更改服务器程序的文件名(例如 sam.exe )为“类似”图像文件的名称 ,再假装传送照片给受害者,受害者就会立刻执行它。为甚么说这是一个不合逻辑的 *** 呢?图像文件的扩展名根本就不可能是 exe,而木马程序的扩展名基本上又必定是 exe ,明眼人一看就会知道有问题,多数人在接收时一看见是exe文件,便不会接收了,那有什么 *** 呢? 其实 *** 很简单,他只要把文件名改变,例如把“sam.exe” 更改为“sam.jpg” ,那么在传送时,对方只会看见sam.jpg 了,而到达对方电脑时,因为windows 默认值是不显示扩展名的,所以很多人都不会注意到扩展名这个问题,而恰好你的计算机又是设定为隐藏扩展名的话,那么你看到的只是sam.jpg 了,受骗也就在所难免了!

还有一个问题就是,木马本身是没有图标的,而在电脑中它会显示一个windows 预设的图标,别人一看便会知道了!但入侵者还是有办法的,这就是给文件换个“马甲”,即修改文件图标。

2、合并程序欺骗

通常有经验的用户,是不会将图像文件和可执行文件混淆的,所以很多入侵者一不做二不休,干脆将木马程序说成是应用程序:反正都是以 exe 作为扩展名的。然后再变着花样欺骗受害者,例如说成是新出炉的游戏,无所不能的黑客程序等等,目地是让受害者立刻执行它。而木马程序执行后一般是没有任何反应的,于是在悄无声息中,很多受害者便以为是传送时文件损坏了而不再理会它。

如果有更小心的用户,上面的 *** 有可能会使他们的产生坏疑,所以就衍生了一些合拼程序。合拼程序是可以将两个或以上的可执行文件(exe文件) 结合为一个文件,以后只需执行这个合拼文件,两个可执行文件就会同时执行。如果入侵者将一个正常的可执行文件(一些小游戏如 wrap.exe) 和一个木马程序合拼,由于执行合拼文件时 wrap.exe会正常执行,受害者在不知情中,背地里木马程序也同时执行了。而这其中最常用到的软件就是joiner,由于它具有更大的欺骗性,使得安装特洛伊木马的一举一动了无痕迹,是一件相当危险的黑客工具。让我们来看一下它是如何运作的:

以往有不少可以把两个程序合拼的软件为黑客所使用,但其中大多都已被各大防毒软件列作病毒了,而且它们有两个突出的问题存在,这问题就是:

(1)合拼后的文件体积过大

(2)只能合拼两个执行文件

正因为如此,黑客们纷纷弃之转而使用一个更简单而功能更强的软件,那就是Joiner 了。此软件不但把软件合拼后的体积减少,而且可以待使用者执行后立马就能收到一个icq 的信息,告诉你对方已中招及对方的IP ,更重要的是这个软件可以把图像文件、音频文件与可执行文件合拼,用起来相当方便。

首先把Joiner 解压,然后执行Joiner ,在程序的画面里,有“First executable : ”及“ Second File : ”两项,这两行的右方都有一个文件夹图标,分别各自选择想合拼的文件。

下面还有一个Enable ICQ notification 的空格,如果选取后,当对方执行了文件时,便会收到对方的一个ICQ Web Messgaer ,里面会有对方的ip ,当然要在下面的ICQ number 填上欲收取信息的icq 号码。但开启这个功能后,合拼后的文件会比较大。

最后便按下“Join” ,在Joiner 的文件夹里,便会出现一个Result.exe 的文件,文件可更改名称,因而这种“混合体”的隐蔽性是不言而喻的。

3、以Z-file 伪装加密程序

Z-file 伪装加密软件是台湾华顺科技的产品,其经过将文件压缩加密之后,再以 bmp图像文件格式显示出来(扩展名是 bmp,执行后是一幅普通的图像)。当初设计这个软件的本意只是用来加密数据,用以就算计算机被入侵或被非法使使用时,也不容易泄漏你的机密数据所在。不过如果到了黑客手中,却可以变成一个入侵他人的帮凶。 使用者会将木马程序和小游戏合拼,再用 Z-file 加密及将 此“混合体”发给受害者,由于看上去是图像文件,受害者往往都不以为然,打开后又只是一般的图片,最可怕的地方还在于就连杀毒软件也检测不出它内藏特洛伊木马,甚至病毒!当打消了受害者警惕性后,再让他用WinZip 解压缩及执行 “伪装体 (比方说还有一份小礼物要送给他),这样就可以成功地安装了木马程序。 如果入侵者有机会能使用受害者的电脑(比如上门维修电脑),只要事先已经发出了“混合体,则可以直接用 Winzip 对其进行解压及安装。由于上门维修是赤着手使用其电脑,受害者根本不会怀疑有什么植入他的计算机中,而且时间并不长,30秒时间已经足够。就算是“明晃晃”地在受害者面前操作,他也不见得会看出这一双黑手正在干什么。特别值得一提的是,由于 “混合体” 可以躲过反病毒程序的检测,如果其中内含的是一触即发的病毒,那么一经结开压缩,后果将是不堪设想。

4、伪装成应用程序扩展组件

此类属于最难识别的特洛伊木马。黑客们通常将木马程序写成为任何类型的文件 (例如 dll、ocx等) 然后挂在一个十分出名的软件中,例如 OICQ 。由于OICQ本身已有一定的知名度,没有人会怀疑它的安全性,更不会有人检查它的文件多是否多了。而当受害者打开OICQ时,这个有问题的文件即会同时执行。 此种方式相比起用合拼程序有一个更大的好处,那就是不用更改被入侵者的登录文件,以后每当其打开OICQ时木马程序就会同步运行 ,相较一般特洛伊木马可说是“踏雪无痕”。更要命的是,此类入侵者大多也是特洛伊木马编写者,只要稍加改动,就会派生出一支新木马来,所以即使杀是毒软件也拿它没有丝毫办法。

木马程序是怎么个概念?用什么办法可以有效防范?

木马(Trojan)这个名字来源于古希腊传说,它是指通过一段特定的程序(木马程序)来控制另一台计算机。木马通常有两个可执行程序:一个是客户端,即控制端,另一个是服务端,即被控制端。木马的设计者为了防止木马被发现,而采用多种手段隐藏木马。木马的服务一旦运行并被控制端连接,其控制端将享有服务端的大部分操作权限,例如给计算机增加口令,浏览、移动、复制、删除文件,修改注册表,更改计算机配置等。

随着病毒编写技术的发展,木马程序对用户的威胁越来越大,尤其是一些木马程序采用了极其狡猾的手段来隐蔽自己,使普通用户很难在中毒后发觉。

防治木马的危害,应该采取以下措施:

之一,安装杀毒软件和个人防火墙,并及时升级。

第二,把个人防火墙设置好安全等级,防止未知程序向外传送数据。

第三,可以考虑使用安全性比较好的浏览器和电子邮件客户端工具。

第四,如果使用IE浏览器,应该安装卡卡安全助手或者360安全卫士等,防止恶意网站在自己电脑上安装不明软件和浏览器插件,以免被木马趁机侵入。

如何编写木马程序?

怎样编写木马程序

您好

建议您不要去学习使用木马病毒,是属于违法犯罪行为。而且,如果您接收了木马病毒,那么该病毒会自动在您的电脑中优先运行。

建议您到腾讯电脑管家官网下载一个电脑管家。

在平时使用电脑的时候,打开电脑管家,可以受到电脑管家16层实时防护的保护和云智能预警系统,可以在木马活动早期侦测并阻断木马的破坏行为,通过云查杀技术秒杀最新流行木马。

如果还有其他疑问和问题,欢迎再次来电脑管家企业平台进行提问,我们将尽全力为您解答疑难

腾讯电脑管家企业平台:zhidao.baidu/c/guanjia/

如何编写木马程序??

你想干什么?如果你只想玩玩,建议你学一下vbs脚本或bat脚本,如果你想把脚本做成exe程序,最简单的 *** 就是把脚本压缩到自解压文件里,再用16进制编辑器修改一下某个数值,就成功了。

如果你想干坏事,嘻嘻,木马也不是那么好写的,首先你要成为一个出色的程序员,不仅要打好C语言基础,更要精通汇编语言和计算机硬件以及操作系统原理,逻辑思维要强,当然要学的还很多,如mfc,C#等等,所以,如果你不是非常痴迷于编程,我劝你玩玩就行了,当然,更不要走上违法犯罪的道路吆!

good luck。

呀,还有,请采纳我吧,宝贝儿,嘻!

如何编写木马程序

如果对电脑感兴趣的话可以学习下,一般软件开发工程师都是学的高级语言,但是如果写木马,我们一般是要接触低级语言的,低级语言比高级语言学起来枯燥,但学成之后进阶高级语言很快而且比一般的程序员牛逼,高级语言配合底层知识才能写出更好的木马。底层知识越牢固越好。

怎样才能编程木马程序

北上广深这么多程序员,怎么没几个搞这种编程的?

一个原因就是没钱赚,另一个原因就是技术上要求太高。

好好的学编程,从你提这个问题来看,你都还没入门吧。

慢慢学,你会发现学得越多自己越无知,等你有五年以上开发经验的时候,再来看你现在的这个提问的时候,一定会笑话这个时候的自己的。

祝你在开发的路上快速成长!

木马是如何编写的(三)

很高兴为您解答:

木马编写是需要你懂的C++语言

首先是程序的大小问题,本程序经编译链接后得到的可执行文件竟有400多K,用Aspack1.07压了一下也还有200多K。可以看出不必要的Form是应该去掉的;并且尽量由自己调用底层的API函数,而尽量少使用Borland打好包的VCL控件;要尽量使用汇编语言(BCB支持C++和汇编混编),不但速度会加快,而且大小可以小很多,毕竟木马是越小越好。

还有启动方式的选择。出了Win.ini、System.ini之外,也还是那几个注册表键值,如:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\

RunServices

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

都已被其他的木马用烂了。现在又开始对exe、dll和txt文件的关联程序动手脚了(如冰河和广外女生)。这里涉及到参数传递的问题。得到ParamStr()函数传来的参数,启动自己后再启动与之关联的程序,并将参数传递给它,这样就完成了一次“双启动”,而受害者丝毫感觉不到有任何异常。具体键值如:

与exe文件建立关联:HKEY_CLASSES_ROOT\exefile\shell\open\mand

与txt文件建立关联:HKEY_CLASSES_ROOT\txtfile\shell\open\mand

与dll文件建立关联:HKEY_CLASSES_ROOT\dllfile\shell\open\mand

等,当然还可以自己扩充。目前还有一种新 *** :在

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

\Windows

下添加如下键值 "AppInit_DLLs"="Server.dll",这就把Server.dll注册为系统启动时必须加载的模块(你应该把木马编译成DLL)。下次开机时,木马以动态链接库形式被加载,存在于系统进程中。因为没有它自己的PID(Process ID 进程识别号),所以在NT的任务管理器中也看不见(不过在“系统信息”——“软件环境”——“已加载的32位模块”中还是可以详细看到当前内存中加载的每一个模块的),这样做的目的是可以使自己的程序更加隐蔽,提高木马的生存能力。

木马的功能还可以大大扩充。你可以充分发挥你的想象力——比如上传、下载、新建、改名、移动文件,截图存为jpg文件传回,录音监听成Wav文件,录像成AVI文件,弹光驱,读软驱,关机,重启,不停地挂起,胡乱切换分辨率(烧掉你的显示器),发对话框,不停地打开资源管理器直到死机,杀掉Kernel32.dll进程使机器暴死,交换鼠标左右键,固定鼠标,限制鼠标活动范围,鼠标不听指挥到处乱窜,记录击键记录(记录上网口令,这需要深入了解钩子(Hook)技术,如键盘钩子和鼠标钩子),窃取......

编写木马?

盗号木马~~~~楼主,这不是好玩的东西,不过看在高分悬赏的份上,就告诉你吧。 可以通过 SendMessage 发送 WM_GETTEXT 取得密码框中的值,我们可以利用这一点来完成密码的截取。 使用 Timer 控件,监视 *** 。 用遍查窗口的 *** (EnumWindows),取得所有的窗口标题(GetWindowText),判断其中是否为" *** 用户登录"的标题,取 得 *** 登录窗口的子窗口(窗口上的控件)的类名(GetClassName),然后通过 boBox、Edit 取得用户名和密码(通过 SendMessage 发送 WM_GETTEXT 取得值)。 由于不能判断外部按键事件的发生,只有通过不断的取得密码值,具体 *** 如下: 首先取得 用户名的值,然后不停的取密码的值,再判断窗口的标题是否为用户名,如果为用户名,则最后一次密码的值就是真正的密码,到此程序完成。 程序编制 (1)首先为了避免程序被多次装载,造成系统资源的浪费、及不必要的错误。 声明变量、过程及 API 函数,写在 Module1.bas 文件中 Declare Function CreateFileMapping Lib "kernel32" Alias "CreateFileMappingA" (ByVal hFile As Long, lpFileMappigAttributes As SECURITY_ATTRIBUTES, ByVal flProtect As Long, ByVal dwMaximumSizeHigh As Long, ByVal dwMaximumSizeLow As Long, ByVal lpName As String) As Long '创建一个新的文件映射对象

Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long '关闭一个内核对象

Type SECURITY_ATTRIBUTES

nLength As Long

lpSecurityDescriptor As Long

bInheritHandle As Long

End Type

Const PAGE_READWRITE = 1

Const ERROR_ALREADY_EXISTS = 183

建立判断程序是否多启动的过程

Sub Main()

Dim ynRun As Long

Dim sa As SECURITY_ATTRIBUTES

sa.bInheritHandle = 1

sa.lpSecurityDescriptor = 0

sa.nLength = Len(sa)

ynRun = CreateFileMapping(HFFFFFFFF, sa, PAGE_READWRITE, 0, 128, App.title) '创建内存映射文件

If (Err.LastDllError = ERROR_ALREADY_EXISTS) Then '如果指定内存文件已存在,则退出

CloseHandle ynRun '退出程序前关闭内存映射文件

End

End If

End Sub

(2)即时监视,就需要在系统启动时,程序自启动,这里使用修改注册表的 *** 声明变量、过程及 API......

木马程序是怎么编出来的

一个典型的蠕虫病毒有两个功能型部件:传播和破坏,流行的蠕虫病毒大都是利用操作系统或者应用程序的漏洞(以弱口令和溢出最为常见),但常常并不会对宿主机造成“致命”的破坏。这两个特点使蠕虫病毒比普通电脑病毒传播得更快,影响力更大。一般来说,单一的蠕虫病毒只针对某种特定的漏洞进行攻击,所以一旦这种漏洞得到大范围修补,病毒也就没有了生存空间。

更新这种设计,我把传播部件拆分开来:把扫描、攻击和破坏脚本化,主程序则负责解析这些脚本。例如针对ftp弱口令进行扫描,我们可以定义如下脚本:

code:

uid = iscript-0a21-2331-x #随机唯一编号

using tcp;

port 21;

send “user anonymous”;

send crlf;

send “pass [email protected]”

send crlf;

if (find “200”) resulrt ok;

next;

[copy to clipboard]

解析了这段脚本后(我想这种脚本是很容易读懂的),我们再定义一系列的过程,把我们的蠕虫体upload上去,一次完整的传播动作就完成了。如果是溢出漏洞,为了简单起见我们可以采集远程溢出的数据包,然后修改ip地址等必要数据,再转发溢出数据包进行溢出(这种情况下要实现connect-back就不容易了,不过这些具体问题就待有心人去研究吧),例如:

code:

using raw;

ip offset at 12;

send “\x1a\xb2\xcc” ……

[copy to clipboard]d

主程序在完成传播后留下一个后门,其他宿主机可以通过这个后门与本地的蠕虫病毒同步传播脚本,这样每次有新的漏洞产生,宿主机的传播方式可以很快地得到升级。我们当然不会仅满足于这样一个蠕虫程序,扫描/攻击脚本的传播过程也是需要仔细处理的。

我们希望适应力(fitness)最强的脚本得到广泛的应用(看起来有点类似 蚁群算法 和 ga),所以我们要求得每个个体的fitness,当它和另一个体取得联系的时候就可以决定谁的传播脚本将取代另一个:

fitness = number of host infected / number of host scanned

但也不能仅凭fitness就修改传播脚本,我个人觉得一个合适的概率是75%,20%的机会保持各自的传播脚本,剩下的5%则交换脚本。这样在维持每种脚本都有一定生存空间的情况下使适应性更好的个体得到更多的传播机会,同时,一些在某种 *** 环境下适应性不强的脚本也有机会尝试不同的 *** 环境。

木马程序是怎么写出来的?

您好:

建议您不要编写木马程序,木马程序会对您和别人的电脑造成损害的,如果您曾编写过此类不安全的软件的话,为了您电脑的安全,建议您使用腾讯电脑管家对您的电脑进行一下全面的杀毒吧,打开腾讯电脑管家中的杀毒功能选择闪电查杀或者全盘查杀就可以,您可以点击这里下载最新版的腾讯电脑管家:最新版腾讯电脑管家下载

腾讯电脑管家企业平台:zhidao.baidu/c/guanjia/

怎么 *** 木马程序?

你需要学会编程才能编写木马编写木马更好用vc++。enet/eschool/video/c++/ 这是c++的教程,你学懂了这些皮毛的东西再深入研究内核编程吧如果上面的地址打不开可以到这里pconline/pcedu/empolder/gj/vc/0607/820674

怎么编写一个简单的木马程序?

特洛依木马这个名词大家应该不陌生,自从98年“死牛崇拜”黑客小组公布Back Orifice以来,木马犹如平地上的惊雷, 使在Dos——Windows时代中长大的中国网民从五彩缤纷的 *** 之梦中惊醒,终于认识到的 *** 也有它邪恶的一面,一时间人心惶惶。

我那时在《电脑报》上看到一篇文章,大意是一个菜鸟被人用BO控制了,吓得整天吃不下饭、睡不着觉、上不了网,到处求救!要知道,木马(Trojan)的历史是很悠久的:早在ATT Unix和BSD Unix十分盛行的年代,木马是由一些玩程式(主要是C)水平很高的年轻人(主要是老美)用C或Shell语言编写的,基本是用来窃取登陆主机的口令,以取得更高的权限。那时木马的主要 *** 是诱骗——先修改你的.profile文件,植入木马;当你登陆时将你敲入的口令字符存入一个文件,用Email的形式发到攻击者的邮箱里。国内的年轻人大都是在盗版Dos的薰陶下长大的,对 *** 可以说很陌生。直到Win9x横空出世,尤其是WinNt的普及,大大推动了 *** 事业的发展的时候,BO这个用三年后的眼光看起来有点简单甚至可以说是简陋的木马(甚至在Win9x的“关闭程序”对话框可以看到进程)给了当时中国人极大的震撼,它在中国的 *** 安全方面可以说是一个划时代的软件。

自己编写木马,听起来很Cool是不是?!木马一定是由两部分组成——服务器程序(Server)和客户端程序(Client),服务器负责打开攻击的道路,就像一个内奸特务;客户端负责攻击目标,两者需要一定的 *** 协议来进行通讯(一般是TCP/IP协议)。为了让大家更好的了解木马攻击技术,破除木马的神秘感,我就来粗略讲一讲编写木马的技术并顺便编写一个例子木马,使大家能更好地防范和查杀各种已知和未知的木马。

首先是编程工具的选择。目前流行的开发工具有C++Builder、VC、VB和Delphi,这里我们选用C++Builder(以下简称BCB);VC虽然好,但GUI设计太复杂,为了更好地突出我的例子,集中注意力在木马的基本原理上,我们选用可视化的BCB;Delphi也不错,但缺陷是不能继承已有的资源(如“死牛崇拜”黑客小组公布的BO2000源代码,是VC编写的,网上俯拾皆是);VB嘛,谈都不谈——难道你还给受害者传一个1兆多的动态链接库——Msvbvm60.dll吗?

启动C++Builder 5.0企业版,新建一个工程,添加三个VCL控件:一个是Internet页中的Server Socket,另两个是Fastnet页中的NMFTP和NM *** TP。Server Socket的功能是用来使本程序变成一个服务器程序,可以对外服务(对攻击者敞开大门)。Socket最初是在Unix上出现的,后来微软将它引入了Windows中(包括Win98和WinNt);后两个控件的作用是用来使程序具有FTP(File Transfer Protocol文件传输协议)和 *** TP(Simple Mail Transfer Protocol简单邮件传输协议)功能,大家一看都知道是使软件具有上传下载功能和发邮件功能的控件。

Form窗体是可视的,这当然是不可思议的。不光占去了大量的空间(光一个Form就有300K之大),而且使软件可见,根本没什么作用。因此实际写木马时可以用一些技巧使程序不包含Form,就像Delphi用过程实现的小程序一般只有17K左右那样。

我们首先应该让我们的程序能够隐身。双击Form,首先在FormCreate事件中添加可使木马在Win9x的“关闭程序”对话框中隐藏的......

0条大神的评论

发表评论