木马程序编程_分析木马程序

hacker|
529

什么是木马程序?

木马(Trojan)这个名字来源于古希腊传说(荷马史诗中木马计的故事,Trojan一词的本意是特洛伊的,即代指特洛伊木马,也就是木马计的故事)。

“木马”程序是目前比较流行的病毒文件,与一般的病毒不同,它不会自我繁殖,也并不“刻意”地去感染其他文件,它通过将自身伪装吸引用户下载执行,向施种木马者提供打开被种者电脑的门户,使施种者可以任意毁坏、窃取被种者的文件,甚至远程操控被种者的电脑。“木马”与计算机网络中常常要用到的远程控制软件有些相似,但由于远程控制软件是“善意”的控制,因此通常不具有隐蔽性;“木马”则完全相反,木马要达到的是“偷窃”性的远程控制,如果没有很强的隐蔽性的话,那就是“毫无价值”的。

它是指通过一段特定的程序(木马程序)来控制另一台计算机。木马通常有两个可执行程序:一个是客户端,即控制端,另一个是服务端,即被控制端。植入被种者电脑的是“服务器”部分,而所谓的“黑客”正是利用“控制器”进入运行了“服务器”的电脑。运行了木马程序的“服务器”以后,被种者的电脑就会有一个或几个端口被打开,使黑客可以利用这些打开的端口进入电脑系统,安全和个人隐私也就全无保障了! 木马的设计者为了防止木马被发现,而采用多种手段隐藏木马。木马的服务一旦运行并被控制端连接,其控制端将享有服务端的大部分操作权限,例如给计算机增加口令,浏览、移动、复制、删除文件,修改注册表,更改计算机配置等。

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

木马的种类

[编辑本段]

1. 网络游戏木马

随着网络在线游戏的普及和升温,我国拥有规模庞大的网游玩家。网络游戏中的金钱、装备等虚拟财富与现实财富之间的界限越来越模糊。与此同时,以盗取网游帐号密码为目的的木马病毒也随之发展泛滥起来。

网络游戏木马通常采用记录用户键盘输入、Hook游戏进程API函数等方法获取用户的密码和帐号。窃取到的信息一般通过发送电子邮件或向远程脚本程序提交的方式发送给木马作者。

网络游戏木马的种类和数量,在国产木马病毒中都首屈一指。流行的网络游戏无一不受网游木马的威胁。一款新游戏正式发布后,往往在一到两个星期内,就会有相应的木马程序被制作出来。大量的木马生成器和黑客网站的公开销售也是网游木马泛滥的原因之一。

2. 网银木马

网银木马是针对网上交易系统编写的木马病毒,其目的是盗取用户的卡号、密码,甚至安全证书。此类木马种类数量虽然比不上网游木马,但它的危害更加直接,受害用户的损失更加惨重。

网银木马通常针对性较强,木马作者可能首先对某银行的网上交易系统进行仔细分析,然后针对安全薄弱环节编写病毒程序。如2004年的“网银大盗”病毒,在用户进入工行网银登录页面时,会自动把页面换成安全性能较差、但依然能够运转的老版页面,然后记录用户在此页面上填写的卡号和密码;“网银大盗3”利用招行网银专业版的备份安全证书功能,可以盗取安全证书;2005年的“新网银大盗”,采用API Hook等技术干扰网银登录安全控件的运行。

随着我国网上交易的普及,受到外来网银木马威胁的用户也在不断增加。

3. 即时通讯软件木马

现在,国内即时通讯软件百花齐放。QQ、新浪UC、网易泡泡、盛大圈圈……网上聊天的用户群十分庞大。常见的即时通讯类木马一般有3种:

一、发送消息型。通过即时通讯软件自动发送含有恶意网址的消息,目的在于让收到消息的用户点击网址中毒,用户中毒后又会向更多好友发送病毒消息。此类病毒常用技术是搜索聊天窗口,进而控制该窗口自动发送文本内容。发送消息型木马常常充当网游木马的广告,如“武汉男生2005”木马,可以通过MSN、QQ、UC等多种聊天软件发送带毒网址,其主要功能是盗取传奇游戏的帐号和密码。

二、盗号型。主要目标在于即时通讯软件的登录帐号和密码。工作原理和网游木马类似。病毒作者盗得他人帐号后,可能偷窥聊天记录等隐私内容,或将帐号卖掉。

三、传播自身型。2005年初,“MSN性感鸡”等通过MSN传播的蠕虫泛滥了一阵之后,MSN推出新版本,禁止用户传送可执行文件。2005年上半年,“QQ龟”和“QQ爱虫”这两个国产病毒通过QQ聊天软件发送自身进行传播,感染用户数量极大,在江民公司统计的2005年上半年十大病毒排行榜上分列第一和第四名。从技术角度分析,发送文件类的QQ蠕虫是以前发送消息类QQ木马的进化,采用的基本技术都是搜寻到聊天窗口后,对聊天窗口进行控制,来达到发送文件或消息的目的。只不过发送文件的操作比发送消息复杂很多。

4. 网页点击类木马

网页点击类木马会恶意模拟用户点击广告等动作,在短时间内可以产生数以万计的点击量。病毒作者的编写目的一般是为了赚取高额的广告推广费用。此类病毒的技术简单,一般只是向服务器发送HTTP GET请求。

5. 下载类木马

这种木马程序的体积一般很小,其功能是从网络上下载其他病毒程序或安装广告软件。由于体积很小,下载类木马更容易传播,传播速度也更快。通常功能强大、体积也很大的后门类病毒,如“灰鸽子”、“黑洞”等,传播时都单独编写一个小巧的下载型木马,用户中毒后会把后门主程序下载到本机运行。

6. 代理类木马

用户感染代理类木马后,会在本机开启HTTP、SOCKS等代理服务功能。黑客把受感染计算机作为跳板,以被感染用户的身份进行黑客活动,达到隐藏自己的目的。

首先找到感染文件,其手动方法是结束相关进程然后删除文件,但是现在有很多木马专杀的软件.可以借助软件删除。

木马和病毒都是一种人为的程序,都属于电脑病毒,为什么木马要单独提出来说呢?大家都知道以前的电脑病毒的作用,其实完全就是为了搞破坏,破坏电脑里的资料数据,除了破坏之外其它无非就是有些病毒制造者为了达到某些目的而进行的威慑和敲诈勒索的作用,或为了炫耀自己的技术. "木马"不一样,木马的作用是赤裸裸的偷偷监视别人和盗窃别人密码,数据等,如盗窃管理员密码-子网密码搞破坏,或者好玩,偷窃上网密码用于它用,游戏帐号,股票帐号,甚至网上银行帐户等.达到偷窥别人隐私和得到经济利益的目的.所以木马的作用比早期的电脑病毒更加有用.更能够直接达到使用者的目的!导致许多别有用心的程序开发者大量的编写这类带有偷窃和监视别人电脑的侵入性程序,这就是目前网上大量木马泛滥成灾的原因.鉴于木马的这些巨大危害性和它与早期病毒的作用性质不一样,所以木马虽然属于病毒中的一类,但是要单独的从病毒类型中间剥离出来.独立的称之为"木马"程序。

一般来说一种杀毒软件程序,它的木马专杀程序能够查杀某某木马的话,那么它自己的普通杀毒程序也当然能够杀掉这种木马,因为在木马泛滥的今天,为木马单独设计一个专门的木马查杀工具,那是能提高该杀毒软件的产品档次的,对其声誉也大大的有益,实际上一般的普通杀毒软件里都包含了对木马的查杀功能.如果现在大家说某某杀毒软件没有木马专杀的程序,那这家杀毒软件厂商自己也好像有点过意不去,即使它的普通杀毒软件里当然的有杀除木马的功能。

还有一点就是,把查杀木马程序单独剥离出来,可以提高查杀效率,现在很多杀毒软件里的木马专杀程序只对木马进行查杀,不去检查普通病毒库里的病毒代码,也就是说当用户运行木马专杀程序的时候,程序只调用木马代码库里的数据,而不调用病毒代码库里的数据,大大提高木马查杀速度.我们知道查杀普通病毒的速度是比较慢的,因为现在有太多太多的病毒.每个文件要经过几万条木马代码的检验,然后再加上已知的差不多有近10万个病毒代码的检验,那速度岂不是很慢了.省去普通病毒代码检验,是不是就提高了效率,提高了速度呢? 也就是说现在好多杀毒软件自带的木马专杀程序只查杀木马而一般不去查杀病毒,但是它自身的普通病毒查杀程序既查杀病毒又查杀木马!

如何防御木马病毒?

[编辑本段]

木马查杀(查杀软件很多,有些病毒软件都能杀木马)

防火墙(分硬件和软件)家里面的就用软件好了

如果是公司或其他地方就硬件和软件一起用

基本能防御大部分木马,但是现在的软件都不是万能的,是不?还要学点专业知识,有了这些,你的电脑就安全多了

现在高手也很多,只要你不随便访问来历不明的网站,使用来历不明的软件(很多盗版或破解软件都带木马,这个看你自己经验去区分),如果你都做到了,木马,病毒。就不容易进入你的电脑了。

如何删除木马病毒 ?

[编辑本段]

可以下载卡巴斯基(建议先卸载其他杀毒软件)绿鹰PC万能精灵

也可以下载瑞星杀毒软件(建议先卸载其他杀毒软件)

卡巴斯基搜索下就可以找到下载,其授权key到这里下载:

绿鹰PC万能精灵

瑞星杀毒2008

他的sn: Ew7S5NLyptbybbpt

1、禁用系统还原(Windows Me/XP)

如果您运行的是 Windows Me 或 Windows XP,建议您暂时关闭“系统还原”。此功能默认情况下是启用的,一旦计算机中的文件被破坏,Windows 可使用该功能将其还原。如果病毒、蠕虫或特洛伊木马感染了计算机,则系统还原功能会在该计算机上备份病毒、蠕虫或特洛伊木马。

Windows 禁止包括防病毒程序在内的外部程序修改系统还原。因此,防病毒程序或工具无法删除 System Restore 文件夹中的威胁。这样,系统还原就可能将受感染文件还原到计算机上,即使您已经清除了所有其他位置的受感染文件。

此外,病毒扫描可能还会检测到 System Restore 文件夹中的威胁,即使您已将该威胁删除。

注意:蠕虫移除干净后,请按照上述文章所述恢复系统还原的设置。

2、将计算机重启到安全模式或者 VGA 模式

关闭计算机,等待至少 30 秒钟后重新启动到安全模式或者 VGA 模式

Windows 95/98/Me/2000/XP 用户:将计算机重启到安全模式。所有 Windows 32-bit 作系统,除了Windows NT,可以被重启到安全模式。更多信息请参阅文档 如何以安全模式启动计算机 。

Windows NT 4 用户:将计算机重启到 VGA 模式。

扫描和删除受感染文件启动防病毒程序,并确保已将其配置为扫描所有文件。运行完整的系统扫描。如果检测到任何文件被 Download.Trojan 感染,请单击“删除”。如有必要,清除 Internet Explorer 历史和文件。如果该程序是在 Temporary Internet Files 文件夹中的压缩文件内检测到的,请执行以下步骤:

启动 Internet Explorer。单击“工具”“Internet 选项”。单击“常规”选项卡“Internet 临时文件”部分中,单击“删除文件”,然后在出现提示后单击“确定”。在“历史”部分,单击“清除历史”,然后在出现提示后单击“是”。

3、关于病毒的危害,Download.Trojan会 执行以下作:

进入其作者创建的特定网站或 FTP 站点并试图下载新的特洛伊木马、病毒、蠕虫或其组件。

完成下载后,特洛伊木马程序将执行它们。

中了木马不能打开杀毒软件可以用360安全卫士安全启动来先修复一下

木马怎么解析?

大家所熟知的木马程序一般的启动方式有:加载到“开始”菜单中的“启动”项、记录到注册表的[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]项和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]项中,更高级的木马还会注册为系统的“服务”程序,以上这几种启动方式都可以在“系统配置实用程序”(在“开始→运行”中执行“Msconfig”)的“启动”项和“服务”项中找到它的踪迹。 另一种鲜为人知的启动方式,是在“开始→运行”中执行“Gpedit.msc”。打开“组策略”,可看到“本地计算机策略”中有两个选项:“计算机配置”与“用户配置”,展开“用户配置→管理模板→系统→登录”,双击“在用户登录时运行这些程序”子项进行属性设置,选定“设置”项中的“已启用”项并单击“显示”按钮弹出“显示内容”窗口,再单击“添加”按钮,在“添加项目”窗口内的文本框中输入要自启动的程序的路径,如图所示,单击“确定”按钮就完成了。 添加需要启动的文件面 重新启动计算机,系统在登录时就会自动启动你添加的程序,如果刚才添加的是木马程序,那么一个“隐形”木马就这样诞生了。因为用这种方式添加的自启动程序在系统的“系统配置实用程序”是找不到的,同样在我们所熟知的注册表项中也是找不到的,所以非常危险。 通过这种方式添加的自启动程序虽然被记录在注册表中,但是不在我们所熟知的注册表的[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]项和[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]项内,而是在册表的[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]项。如果你怀疑你的电脑被种了“木马”,可是又找不到它在哪儿,建议你到注册表的[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]项里找找吧,或是进入“组策略”的“在用户登录时运行这些程序”看看有没有启动的程序。 现在网页木马无非有以下几种方式中到你的机器里 1:把木马文件改成BMP文件,然后配合你机器里的DEBUG来还原成EXE,网上存在该木马20% 2:下载一个TXT文件到你机器,然后里面有具体的FTP^-^作,FTP连上他们有木马的机器下载木马,网上存在该木马20% 3:也是最常用的方式,下载一个HTA文件,然后用网页控件解释器来还原木马。该木马在网上存在50%以上 4:采用JS脚本,用VBS脚本来执行木马文件,该型木马偷QQ的比较多,偷传奇的少,大概占10%左右 5:ARP欺骗,利用ARP欺骗拦截局域网数据,攻击网关。在数据包中插入木马。解决方案,安装ARP防火墙

特洛伊木马程序原理及传染机制分析

木马,也称特洛伊木马,英文名称为Trojan Horse,是借自“木马屠城记”中那只木马的名字。古希腊有大军围攻特洛伊城,久久不能得手。有人献计制造一只高二丈的大木马假装作战马神,攻击数天后仍然无功,遂留下木马拔营而去。城中得到解围的消息,及得到 “木马”这个奇异的战利品,全城饮酒狂欢。到午夜时分,全城军民尽入梦乡,匿于木马中的将士开密门游绳而下,开启城门四处纵火,城外伏兵涌入,焚屠特洛伊城。后世称这只木马为 “特洛伊木马”,现今计算机术语借用其名,意思是 “一经进入,后患无穷”。特洛伊木马原则上和一些远程控制程序如PCanywhere等一样,只是一种远程管理工具,而且本身不带伤害性,也没有感染力;但却常常被人们视之为病毒,原因是如果有人不当地使用,破坏力可以比病毒更强。

由于很多新手对安全问题了解不多,再加上木马程序具有隐蔽性强的特点,不借助专门的监控软件,很不容易发现特洛伊木马的存在和黑客的入侵。虽然现在市面上有很多新版杀毒软件都可以自动清除“木马”,但它们并不能防范新出现的 “木马”程序,因此最关键的是要知道“木马”的工作原理,这样就会很容易发现 “木马”,并且知道怎么清除自己计算机中的 “木马”了。

木马攻击原理

木马攻击是黑客最常用的攻击方法,因此,在本章中我们将使用较大篇幅来介绍木马的攻防技术。

木马的危害性在于它对电脑系统强大的控制和破坏能力、窃取密码、控制系统操作、进行文件操作等,一台计算机一旦被一个功能强大的木马植入,攻击者就可以像操作自己的计算机一样控制这台计算机,远程监控这台计算机上的所有操作。

在使用木马的人群中菜鸟黑客居多,他们往往接触网络不久,对黑客技术很感兴趣,很想向众人和朋友显示一番,但是攻击技术却不高,不能采取别的方法攻击。于是木马这种半自动的傻瓜式且非常有效的攻击软件成为了他们的最爱,而且随着国产木马的不断出现,多数黑客的入门攻击几乎无一例外都是使用木马。当然对于那些黑客老手来说他们也并不是不使用木马了,他们通常会在得到一个服务器权限的时候植入自己编写的木马作为后门,以便将来随时方便进出这台服务器。

提示

黑客高手们自己编写的木马一般杀毒软件和木马扫描软件都不会认为是木马或病毒,具有很大的危害性。

1、木马的分类

常见的木马主要可以分为以下9大类:

(1)破坏型

这种木马唯一的功能就是破坏并且删除文件,它们非常简单,很容易使用。能自动删除目标机上的DLL、INI、

EXE文件,所以非常危险,一旦被感染就会严重威胁到电脑的安全。不过,一般黑客不会做这种无意义的纯粹

破坏的事,除非你和他有仇。

(2)密码发送型

这种木马可以找到目标机的隐藏密码,并且在受害者不知道的情况下,把它们发送到指定的信箱。有人

喜欢把自己的各种密码以文件的形式存放在计算机中,认为这样方便;还有人喜欢用Windows提供的密码记

忆功能,这样就可以不必每次都输入密码了。这类木马恰恰是利用这一点获取目标机的密码,它们大多数会

在每次启动Windows时重新运行,而且多使用25号端口上送E-mail。如果目标机有隐藏密码,这些木马是非

常危险的。

(3)远程访问型

这种木马是现在使用最广泛的木马,它可以远程访问被攻击者的硬盘。只要有人运行了服务端程序,客户

端通过扫描等手段知道了服务端的IP地址,就可以实现远程控制。

当然,这种远程控制也可以用在正道上,比如教师监控学生在机器上的所有操作。

远程访问型木马会在目标机上打开一个端口,而且有些木马还可以改变端口、设置连接密码等,为的是只

有黑客自己来控制这个木马。

改变端口的选项非常重要,因为一些常见木马的监听端口已经为大家熟知,改变了端口,才会有更大

的隐蔽性。

(4)键盘记录木马

这种特洛伊木马非常简单。它们只做一件事情,就是记录受害者的键盘敲击并且在LOG文件里查找密码,并且随

着Windows的启动而启动。它们有在线和离线记录这样的选项,可以分别记录你在线和离线状态下敲击键盘时的按键

情况,也就是说你按过什么按键,黑客从记录中都可以知道,并且很容易从中得到你的密码等有用信息,甚至是你

的信用卡账号哦!当然,对于这种类型的木马,很多都具有邮件发送功能,会自动将密码发送到黑客指定的邮箱。

(5)DoS攻击木马

随着DoS攻击越来越广泛的应用,被用作DoS攻击的木马也越来越流行起来。当黑客入侵一台机器后,给

他种上DoS攻击木马,那么日后这台计算机就成为黑客DoS攻击的最得力助手了。黑客控制的肉鸡数量越多,发

动DoS攻击取得成功的机率就越大。所以,这种木马的危害不是体现在被感染计算机上,而是体现在黑客利用

它来攻击一台又一台计算机,给网络造成很大的伤害和带来损失。

还有一种类似DoS的木马叫做邮件炸弹木马,一旦机器被感染,木马就会随机生成各种各样主题的信件,对

特定的邮箱不停地发送邮件,一直到对方瘫痪、不能接受邮件为止。

(6)FTP木马

这种木马可能是最简单和古老的木马了,它的惟一功能就是打开21端口,等待用户连接。现在新FTP木马

还加上了密码功能,这样,只有攻击者本人才知道正确的密码,从而进入对方计算机。

(7)反弹端口型木马

木马开发者在分析了防火墙的特性后发现:防火墙对于连入的链接往往会进行非常严格的过滤,但是对于

连出的链接却疏于防范。与一般的木马相反,反弹端口型木马的服务端 (被控制端)使用主动端口,客户端 (控

制端)使用被动端口。木马定时监测控制端的存在,发现控制端上线立即弹出端口主动连结控制端打开的被动

端口;为了隐蔽起见,控制端的被动端口一般开在80,即使用户使用扫描软件检查自己的端口时,发现类似TCP

UserIP:1026 Controller IP:80 ESTABLISHED的情况,稍微疏忽一点,就会以为是自己在浏览网页,因为浏

览网页都会打开80端口的。

(8)代理木马

黑客在入侵的同时掩盖自己的足迹,谨防别人发现自己的身份是非常重要的,因此,给被控制的肉鸡种上

代理木马,让其变成攻击者发动攻击的跳板就是代理木马最重要的任务。通过代理木马,攻击者可以在匿名的

情况下使用Telnet,ICQ,IRC等程序,从而隐蔽自己的踪迹。

(9)程序杀手木马

上面的木马功能虽然形形色色,不过到了对方机器上要发挥自己的作用,还要过防木马软件这一关才行。常

见的防木马软件有ZoneAlarm,Norton Anti-Virus等。程序杀手木马的功能就是关闭对方机器上运行的这类程

序,让其他的木马更好地发挥作用。

提示

(8)、(9)两种类型的木马实际上是其它类型的木马可能具有的功能,如很多远程访问型木马都可以使

用代理服务器的方式连接肉机,而且连上肉机上首先检查对方不是开启了防火墙,如果有,则杀掉其进程,

这样更有利于黑客隐藏身份,从而实现远程控制的目的。

2、木马是如何侵入系统的

我们知道:一般的木马都有客户端和服务器端两个执行程序,其中客户端用于攻击者远程控

制植入木马的计算机,服务器端程序就是我们通常所说的木马程序。攻击者要通过木马攻击计算机系统,所做的第一步就是要把木马的服务器端程序植入到被攻击的计算机里面。

提示

注意木马的客户端和服务器端的称谓,被置了木马的机器称为服务器端,而黑客控制的一端称为客户端。

目前木马入侵的主要途径是通过一定的方法把木马执行文件植入被攻击者的电脑系统里,如通过邮件发送、文件下载、网页浏览等,然后通过一定的提示误导被攻击者打开执行文件,比如谎称该木马执行文件是朋友的贺卡文件,用户在毫无防备的情况下打开这个文件后,确实有贺卡的画面出现,但这时木马可能已经在后台悄悄运行了。

那为什么用户一般都不会发现自己的主机运行了木马程序呢?

这主要是因为木马的执行文件一般都非常小,最大不过几十K。因此,如果把木马捆绑到其他正常文件上是很难发现的。有一些网站提供的软件下载往往是捆绑了木马文件的,在执行这些下载的文件时,也同时运行了木马。

木马在被植入主机后,它一般会通过一定的方式把入侵主机的信息,如主机的IP地址、木马植入的端口等发送给攻击者,攻击者有这些信息才能够与木马里应外合控制攻击主机。

由于任何木马都有一个服务端程序,要对一台目标机进行远程控制都必须将服务端程序送入目标机,并诱骗目标机执行该程序。这是用木马进行远程控制中的重要一步,也是很有技巧的一步。

木马的传播方式主要有两种:

① 通过E-mail,由控制端将木马程序以附件的形式夹在邮件中发送出去,收信人只要打开附件就会感染木马。

这一种方式关键的一点,就是如何让对方打开附件。一般情况可在邮件主题写一些吸引人的、易引起人好奇的内容,促使对方毫无知觉地自动种上木马,被你控制。

② 通过软件下载,一些非正规的网站以提供软件下载为名,将木马捆绑在软件安装程序上,下载后,只要一运行这些程序,木马就会自动安装了。

要想对方下载你放在网站上的软件,可以取一些特诱惑人的名称,如某某明星的图片,某某软件的破解版等让人易上当的名称,从而也让别人在不知不觉中种上木马,将端口开放给你,任你使用。

在早期的木马里面,大多是通过发送电子邮件的方式把入侵主机信息告诉攻击者,有一些木马文件干脆把主机所有的密码用邮件的形式通知给攻击者,这样攻击者就不用直接连接攻击主机即可获得一些重要数据,如攻击OICQ密码的GOP木马即是如此。

不过,使用电子邮件的方式对攻击者来说并不是最好的选择,因为如果木马被发现,就可以通过该电子邮件的地址找出攻击者。现在还有一些木马采用的是通过发送UDP或者ICMP数据包的方式通知攻击者。

除了邮件植入外,木马还可以通过Script、ActiveX及ASP、CGI交互脚本的方式植入,由于IE浏览器在执行Script脚本上存在安全漏洞,因此,木马就可以利用这些漏洞很容易植入被攻击的电脑。

此外,木马还可以利用一些系统漏洞植入,如著名的IIS服务器溢出漏洞,通过一个IISHACK攻击程序使IIS服务器崩溃,同时在服务器上执行木马程序,从而植入木马。

3、木马是如何实施攻击的

木马可以以任何形式出现,可能是任何由用户或客户引入到系统中的程序。它可能泄漏一些系统的私有信息,或者控制该系统,这样,它实际上就潜伏着很大的危险性。

通常木马采取六个步骤实施攻击:配置木马 (伪装木马)→传播木马 (通过E-mail或者下载)→运行木马 (自动安装、自启动)→信息泄漏 (E-mail、IRC或ICQ的方式把你的信息泄露出去)→建立连接→远程控制。

至此,木马就彻底掌握了主动权,而你,就坐以待毙吧!

什么是木马程序,他是怎样盗取密码的,能详细说说吗?应该怎样判断是否是木马程序呢?

什么是木马?

特洛伊木马(以下简称木马),英文叫做“Trojan house”,其名称取自希腊神话的特洛伊木马记。

它是一种基于远程控制的黑客工具,具有隐蔽性和非授权性的特点。

所谓隐蔽性是指木马的设计者为了防止木马被发现,会采用多种手段隐藏木马,这样服务端即使发现感染了木马,由于不能确定其具体位置,往往只能望“马”兴叹。

所谓非授权性是指一旦控制端与服务端连接后,控制端将享有服务端的大部分操作权限,包括修改文件,修改注册表,控制鼠标,键盘等等,而这些权力并不是服务端赋予的,而是通过木马程序窃取的。

从木马的发展来看,基本上可以分为两个阶段。

最初网络还处于以UNIX平台为主的时期,木马就产生了,当时的木马程序的功能相对简单,往往是将一段程序嵌入到系统文件中,用跳转指令来执行一些木马的功能,在这个时期木马的设计者和使用者大都是些技术人员,必须具备相当的网络和编程知识。

而后随着WINDOWS平台的日益普及,一些基于图形操作的木马程序出现了,用户界面的改善,使使用者不用懂太多的专业知识就可以熟练的操作木马,相对的木马入侵事件也频繁出现,而且由于这个时期木马的功能已日趋完善,因此对服务端的破坏也更大了。

所以所木马发展到今天,已经无所不用其极,一旦被木马控制,你的电脑将毫无秘密可言。

参考资料:

回答者:完颜康康 - 探花 十一级 9-18 12:40

--------------------------------------------------------------------------------

DLL 木马揭秘

相信经常玩木马的朋友们都会知道一些木马的特性,也会有自己最喜爱的木马,不过,很多朋友依然不知道近年兴起的“DLL木马”为何物。什么是“DLL木马”呢?它与一般的木马有什么不同?

一、从DLL技术说起

要了解DLL木马,就必须知道这个“DLL”是什么意思,所以,让我们追溯到几年前,DOS系统大行其道的日子里。在那时候,写程序是一件繁琐的事情,因为每个程序的代码都是独立的,有时候为了实现一个功能,就要为此写很多代码,后来随着编程技术发展,程序员们把很多常用的代码集合(通用代码)放进一个独立的文件里,并把这个文件称为“库”(Library),在写程序的时候,把这个库文件加入编译器,就能使用这个库包含的所有功能而不必自己再去写一大堆代码,这个技术被称为“静态链接”(Static Link)。静态链接技术让劳累的程序员松了口气,一切似乎都很美好。可是事实证明,美好的事物不会存在太久,因为静态链接就像一个粗鲁的推销员,不管你想不想要宣传单,他都全部塞到你的手上来。写一个程序只想用到一个库文件包含的某个图形效果,就因为这个,你不得不把这个库文件携带的所有的图形效果都加入程序,留着它们当花瓶摆设,这倒没什么重要,可是这些花瓶却把道路都阻塞了——静态链接技术让最终的程序成了大块头,因为编译器把整个库文件也算进去了。

时代在发展,静态链接技术由于天生的弊端,不能满足程序员的愿望,人们开始寻找一种更好的方法来解决代码重复的难题。后来,Windows系统出现了,时代的分水岭终于出现。Windows系统使用一种新的链接技术,这种被称为“动态链接”(Dynamic Link)的新技术同样也是使用库文件,微软称它们为“动态链接库”——Dynamic Link Library,DLL的名字就是这样来的。动态链接本身和静态链接没什么区别,也是把通用代码写进一些独立文件里,但是在编译方面,微软绕了个圈子,并没有采取把库文件加进程序的方法,而是把库文件做成已经编译好的程序文件,给它们开个交换数据的接口,程序员写程序的时候,一旦要使用某个库文件的一个功能函数,系统就把这个库文件调入内存,连接上这个程序占有的任务进程,然后执行程序要用的功能函数,并把结果返回给程序显示出来,在我们看来,就像是程序自己带有的功能一样。完成需要的功能后,这个DLL停止运行,整个调用过程结束。微软让这些库文件能被多个程序调用,实现了比较完美的共享,程序员无论要写什么程序,只要在代码里加入对相关DLL的调用声明就能使用它的全部功能。最重要的是,DLL绝对不会让你多拿一个花瓶,你要什么它就给你什么,你不要的东西它才不会给你。这样,写出来的程序就不能再携带一大堆垃圾了——绝对不会让你把吃剩的东西带回家,否则罚款,这是自助餐。

DLL技术的诞生,使编写程序变成一件简单的事情,Windows为我们提供了几千个函数接口,足以满足大多数程序员的需要。而且,Windows系统自身就是由几千个DLL文件组成,这些DLL相互扶持,组成了强大的Windows系统。如果Windows使用静态链接技术,它的体积会有多大?我不敢想。

二、应用程序接口API

上面我们对DLL技术做了个大概分析,在里面我提到了“接口”,这又是什么呢?因为DLL不能像静态库文件那样塞进程序里,所以,如何让程序知道实现功能的代码和文件成了问题,微软就为DLL技术做了标准规范,让一个DLL文件像奶酪一样开了许多小洞,每个洞口都注明里面存放的功能的名字,程序只要根据标准规范找到相关洞口就可以取得它要的美味了,这个洞口就是“应用程序接口”(Application Programming Interface),每个DLL带的接口都不相同,尽最大可能的减少了代码的重复。用Steven的一句话:API就是一个工具箱,你根据需要取出螺丝刀、扳手,用完后再把它们放回原处。在Windows里,最基本的3个DLL文件是kernel32.dll、user32.dll、gdi32.dll。它们共同构成了基本的系统框架。

三、DLL与木马

DLL是编译好的代码,与一般程序没什么大差别,只是它不能独立运行,需要程序调用。那么,DLL与木马能扯上什么关系呢?如果你学过编程并且写过DLL,就会发现,其实DLL的代码和其他程序几乎没什么两样,仅仅是接口和启动模式不同,只要改动一下代码入口,DLL就变成一个独立的程序了。当然,DLL文件是没有程序逻辑的,这里并不是说DLL=EXE,不过,依然可以把DLL看做缺少了main入口的EXE,DLL带的各个功能函数可以看作一个程序的几个函数模块。DLL木马就是把一个实现了木马功能的代码,加上一些特殊代码写成DLL文件,导出相关的API,在别人看来,这只是一个普通的DLL,但是这个DLL却携带了完整的木马功能,这就是DLL木马的概念。也许有人会问,既然同样的代码就可以实现木马功能,那么直接做程序就可以,为什么还要多此一举写成DLL呢?这是为了隐藏,因为DLL运行时是直接挂在调用它的程序的进程里的,并不会另外产生进程,所以相对于传统EXE木马来说,它很难被查到。

四、DLL的运行

虽然DLL不能自己运行,可是Windows在加载DLL的时候,需要一个入口函数,就如同EXE的main一样,否则系统无法引用DLL。所以根据编写规范,Windows必须查找并执行DLL里的一个函数DllMain作为加载DLL的依据,这个函数不作为API导出,而是内部函数。DllMain函数使DLL得以保留在内存里,有的DLL里面没有DllMain函数,可是依然能使用,这是因为Windows在找不到DllMain的时候,会从其它运行库中找一个不做任何操作的缺省DllMain函数启动这个DLL使它能被载入,并不是说DLL可以放弃DllMain函数。

五、DLL木马技术分析

到了这里,您也许会想,既然DLL木马有那么多好处,以后写木马都采用DLL方式不就好了吗?话虽然是这么说没错,但是DLL木马并不是一些人想象的那么容易写的。要写一个能用的DLL木马,你需要了解更多知识。

1.木马的主体

千万别把木马模块写得真的像个API库一样,这不是开发WINAPI。DLL木马可以导出几个辅助函数,但是必须有一个过程负责主要执行代码,否则这个DLL只能是一堆零碎API函数,别提工作了。

如果涉及一些通用代码,可以在DLL里写一些内部函数,供自己的代码使用,而不是把所有代码都开放成接口,这样它自己本身都难调用了,更不可能发挥作用。

DLL木马的标准执行入口为DllMain,所以必须在DllMain里写好DLL木马运行的代码,或者指向DLL木马的执行模块。

2.动态嵌入技术

Windows中,每个进程都有自己的私有内存空间,别的进程是不允许对这个私人领地进行操作的,但是,实际上我们仍然可以利用种种方法进入并操作进程的私有内存,这就是动态嵌入,它是将自己的代码嵌入正在运行的进程中的技术。动态嵌入有很多种,最常见的是钩子、API以及远程线程技术,现在的大多数DLL木马都采用远程线程技术把自己挂在一个正常系统进程中。其实动态嵌入并不少见,罗技的MouseWare驱动就挂着每一个系统进程-_-

远程线程技术就是通过在另一个进程中创建远程线程(RemoteThread)的方法进入那个进程的内存地址空间。在DLL木马的范畴里,这个技术也叫做“注入”,当载体在那个被注入的进程里创建了远程线程并命令它加载DLL时,木马就挂上去执行了,没有新进程产生,要想让木马停止惟有让挂接这个木马DLL的进程退出运行。但是,很多时候我们只能束手无策——它和Explorer.exe挂在一起了,你确定要关闭Windows吗?

3.木马的启动

有人也许会迫不及待的说,直接把这个DLL加入系统启动项目不就可以了。答案是NO,前面说过,DLL不能独立运行,所以无法在启动项目里直接启动它。要想让木马跑起来,就需要一个EXE使用动态嵌入技术让DLL搭上其他正常进程的车,让被嵌入的进程调用这个DLL的DllMain函数,激发木马运行,最后启动木马的EXE结束运行,木马启动完毕。

启动DLL木马的EXE是个重要角色,它被称为Loader,如果没有Loader,DLL木马就是破烂一堆,因此,一个算得上成熟的DLL木马会想办法保护它的Loader不会那么容易被毁灭。记得狼狈为奸的故事吗?DLL木马就是爬在狼Loader上的狈。

Loader可以是多种多样的,Windows的rundll32.exe也被一些DLL木马用来做了Loader,这种木马一般不带动态嵌入技术,它直接挂着rundll32进程运行,用rundll32的方法(rundll32.exe [DLL名],[函数] [参数])像调用API一样去引用这个DLL的启动函数激发木马模块开始执行,即使你杀了rundll32,木马本体还是在的,一个最常见的例子就是3721中文实名,虽然它不是木马。

注册表的AppInit_DLLs键也被一些木马用来启动自己,如求职信病毒。利用注册表启动,就是让系统执行DllMain来达到启动木马的目的。因为它是kernel调入的,对这个DLL的稳定性有很大要求,稍有错误就会导致系统崩溃,所以很少看到这种木马。

有一些更复杂点的DLL木马通过svchost.exe启动,这种DLL木马必须写成NT-Service,入口函数是ServiceMain,一般很少见,但是这种木马的隐蔽性也不错,而且Loader有保障。

4.其它

到这里大家也应该对DLL木马有个了解了,是不是很想写一个?别急,不知道大家想过没有,既然DLL木马这么好,为什么到现在能找到的DLL木马寥寥无几?现在让我来泼冷水,最重要的原因只有一个:由于DLL木马挂着系统进程运行,如果它本身写得不好,例如没有防止运行错误的代码或者没有严格规范用户的输入,DLL就会出错崩溃。别紧张,一般的EXE也是这样完蛋的,但是DLL崩溃会导致它挂着的程序跟着遭殃,别忘记它挂接的是系统进程哦,结局就是……惨不忍睹。所以写一个能公布的DLL木马,在排错检查方面做的工作要比一般的EXE木马多,写得多了自己都烦躁……

六、DLL木马的发现和查杀

经常看看启动项有没有多出莫名其妙的项目,这是Loader的所在,只要杀了狼,狈就不能再狂了。而DLL木马本体比较难发现,需要你有一定编程知识和分析能力,在Loader里查找DLL名称,或者从进程里看多挂接了什么陌生的DLL,可是对新手来说……总之就是比较难啊比较难,所以,最简单的方法:杀毒软件和防火墙(不是万能药,切忌长期服用)。

0条大神的评论

发表评论