广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 8134 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
becy125
个人头像
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x98
分享: 转寄此文章 Facebook Plurk Twitter 版主评分 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[资讯教学] 特洛伊木马程式之原理
来源: http://www.ns-bbs.com/te...sp?id=189

一、 引言

 

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

二、木马攻击原理

 

特洛伊木马是一个程式,它驻留在目标电脑里,可以随电脑自动启动并在某一连接进行侦听,在对接收的资料识别后,对目标电脑执行特定的****作。 木马,其实只是一个使用连接进行通讯的网路客户/伺服器程式。

 

基本概念:网路客户/伺服器模式的原理是一台主机提供伺服器(伺服端),另一台主机接受伺服器(客户端)。作为伺服端的主机一般会开启一个预设的连接埠并进行监听(Listen),如果有客户端向伺服端的这一连接埠提出连接请求(Connect Request),伺服端上的相对应程式就会自动执行,来回覆客户端的请求。对于特洛伊木马,被控制端就成为一台伺服器。

三、特洛伊木马隐身方法

 

木马程式会想尽一切办法隐藏自己,主要途径有:在工作程序中隐形:将程式设为「系统伺服器」可以伪装自己。当然它也会悄无声息地启动,木马会在每次使用者启动时自动载入伺服器端,Windows 系统启动时自动载入应用程式的方法,「木马」都会用上,如:win.ini、system.ini、注册表等等都是「木马」藏身的好地方。

 

在 win.ini 档案中,在[WINDOWS]下面,「run=」和「load=」是可能载入「木马」程式的途径,一般情况下,它们的等号后面什么都没有,如果发现后面跟有路径与档案名称不是您熟悉的启动档案,电脑就可能中「木马」了。当然也得看清楚,因为好多「木马」,如「AOL Trojan木马」,它把自身伪装成 command.exe 档案,如果不注意可能不会发现它不是真正的系统启动档案。

 

在 system.ini 档案中,在[BOOT]下面有个「shell=档案名称」。正确的档案名称应该是「explorer.exe」,如果不是「explorer.exe」,而是「shell= explorer.exe 程式名」,那么后面跟着的那个程式就是「木马」程式,就是说已经中「木马」了。

 

在注册表中的情况最复杂,使用 regedit 指令开启注册表编辑器,在点击至:「HKEY-LOCAL-MACHINE \Software \Microsoft \Windows \Current Version \Run」目录下,检视键值中有没有自己不熟悉的自动启动档案,副档名为 EXE,这里切记:有的「木马」程式产生的档案很像系统自身档案,想使用伪装蒙混过关,如「Acid Battery v1.0木马」,它将注册表「HKEY-LOCAL-MACHINE \SOFTWARE \Microsoft\Windows\CurrentVersion\Run」下的 Explorer 键值改为 Explorer =「C:\WINDOWS\expiorer.exe」,「木马」程式与真正的 Explorer 之间只有「i」与「l」的差别。当然在注册表中还有很多地方都可以隐藏「木马」程式,如:

 

「HKEY -CURRENT-USER\Software\Microsoft\Windows\CurrentVersion\Run」、「HKEY-USERS \Software\Microsoft\Windows\CurrentVersion\Run」的目录下都有可能,最好的办法就是在「HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\ CurrentVersion\Run」 下找到「木马」程式的档案名称,再在整个注册表中搜寻即可。

 

目前,除了上面介绍的隐身技术外,更新、更隐蔽的方法已经出现,那就是-驱动程式及动态连结技术。 驱动程式及动态连结技术和一般的木马不同,它基本上摆脱了原有的木马模式-监听连接,而采用替代系统功能的方法(覆写驱动程式或动态连结)。

 

这样做的结果是:系统中没有增加新的档案(所以不能用扫瞄的方法搜寻)、不需要间@在 system.ini 档案中,在[BOOT]下面有个「shell=档案名称」。正确的档案名称应该是「explorer.exe」,如果不是「explorer.exe」,而是「shell= explorer.exe 程式名」,那么后面跟着的那个程式就是「木马」程式,就是说已经中「木马」了。

目前,除了上面介绍的隐身技术外,更新、更隐蔽的方法已经出现,那就是-驱动程式及动态连结技术。 驱动程式及动态连结技术和一般的木马不同,它基本上摆脱了原有的木马模式-监听连接,而采用替代系统功能的方法(覆写驱动程式或动态连结)。

 

这样做的结果是:系统中没有增加新的档案(所以不能用扫瞄的方法搜寻)、不需要开启新的连接(所以不能用连接监视的方法搜寻)、没有新的程序(所以使用程序检视的方法发现不了它,也不能用 kill 程序的方法终止它的执行)。在正常执行时木马几乎没有任何的症状,而一旦木马的控制端向被控端发出特定的讯息后,隐藏的程式就立即开始运作。

 

四、 特洛伊木马防御原理

 

知道了木马的攻击原理和隐身方法,我们就可以采取措施进行防御了。

连接埠扫瞄

 

连接埠扫瞄是检查远端机器有无木马的最好办法,连接埠扫瞄的原理非常简单,扫瞄程式尝试连接某个连接埠,如果成功,则说明连接埠开放,如果失败或超过某个特定的时间(逾时),则说明连接埠关闭。但对于驱动程式/动态连结木马,扫瞄连接是不起作用的。

 

检视连接

 

检视连接埠和连接扫瞄的原理基本相同,不过是在本地电脑上使用 netstat -a 检视所有的 TCP/UDP 连接,检视连接要比连接埠扫瞄快,但同样是无法查出驱动程式/动态连结木马,而且仅能在本地电脑使用。

 

检查注册表

 

上面在讨论木马的启动方式时已经提到,木马可以使用注册表启动(现在大部分的木马都是使用注册表启动的,至少也把注册表作为一个自我保护的方式),那么,我们同样可以使用检查注册表来发现木马在注册表里留下的痕迹。

 

寻找档案

 

寻找木马特定的档案也是一个常用的方法,木马的一个特征档案是 kernl32.exe,另一个是 sysexlpr.exe,只要删除了这两个档案,木马就已经不起作用了。


[ 此文章被becy125在2006-10-24 17:10重新编辑 ]

此文章被评分,最近评分记录
财富:50 (by upside) | 理由: 感谢您的参与 让本板区能更加丰富




献花 x1 回到顶端 [楼 主] From:局域网对方和您在同一内部网 | Posted:2006-10-24 17:03 |
sang 会员卡
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖
知名人士
级别: 知名人士 该用户目前不上站
推文 x49 鲜花 x4916
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

shell= explorer.exe 程式名,这像是强制出现很多画面型的病毒都是如此的.,因为会一直用explorer.exe 来开启病毒程式,或是连结 xxx.dll之类的寄生程式.


献花 x0 回到顶端 [1 楼] From:台湾数位联合 | Posted:2006-10-24 20:21 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.054081 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言