查看: 2684|回复: 2
收起左侧

木马安全防护所应知道的几点基本知识

[复制链接]
yongmin
发表于 2007-4-1 10:13:35 | 显示全部楼层 |阅读模式
看到这个题目你也许有些奇怪,怎么把这几个词放在了一起,其实谈起端口和木马都是老生常谈 了,但即使是常谈还有很多人的计算机被“冲击波”冲过之后又被“震荡波”狠狠地震了一下,看来很有必要再谈谈老话题,免得再被什么波温柔地扫过。其实说这 些最终的目的就是为了保证计算机的上网安全。
一、 端口
  一)、端口的一般含义
说到端口,这确实是个老话题,但一切都是从它开始的,不得不说。何谓端口,打个比方,你住在一座房子里,想让别人来拜访你,得在房子上开个大门,你养 了个可爱的小猫,为了它的进出,专门给它修了个小门,为了到后花园,又开了个后门……所有这些为了进到这所房子里而开的门叫端口,这些为了别人进来而开的 端口称它为“服务端口”。
你要拜访一个叫张三的人,张三家应该开了个允许你来的门--服务端口,否则将被拒之门外。去时,首先你在家开个“门”,然后通过这个“门”径直走进张 三家的大门。为了访问别人而在自己的房子开的“门”,称为“客户端口”。它是随机开的而且是主动打开的,访问完就自行关闭了。它和服务端口性质是不一样 的,服务端口是开了个门等着别人来访问,而客户端口是主动打开一个门去打开别人的门,这点一定要清楚。
下面从专业的角度再简单解释一下端口的概念。联网的计算机要能相互通信必须用同一种协议,协议就是计算机通信的语言,计算机之间必须说一种语言才能彼 此通信,Internet的通用语言是TCP/TP,它是一组协议,它规定在网络的第四层运输层有两种协议TCP、UDP。端口就是这两个协议打开的,端 口分为源端口和目的端口,源端口是本机打开的,目的端口是正在和本机通信的另一台计算机的端口,源端口分主动打开的客户端口和被动连接的服务端口两种。在 Internet中,你访问一个网站时就是在本机开个端口去连网站服务器的一个端口,别人访问你时也是如此。也就是说计算机的通讯就像互相串门一样,从这 个门走进哪个门。
当装好系统后默认就开了很多“服务端口”。如何知道自己的计算机系统开了那些端口呢?这就是下面要说的。
二)、查看端口的方法
1、命令方式
下面以Windows XP为例看看新安装的系统都开了那些端口,也就是说都预留了那些门,不借助任何工具来查看端口的命令是netstat,方法如下:
a、在“开始”的“运行”处键入cmd,回车
b、在dos命令界面,键入netstat -na,图2显示的就是打开的服务端口,其中Proto
代表协议,该图中可以看出有TCP和UDP两种协议。Local Address代表本机地址,该地址冒号后的数字就是开放的端口号。Foreign Address代表远程地址,如果和其它机器正在通信,显示的就是对方的地址,State代表状态,显示的LISTENING表示处于侦听状态,就是说该 端口是开放的,等待连接,但还没有被连接。就像你房子的门已经敞开了,但此时还没有人进来。以第一行为例看看它的意思。
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
这一行的意思是本机的135端口正在等待连接。注意:只有TCP协议的服务端口才能处于LISTENING状态。



图1 用netstat命令查看端口状态2、用TCPView工具
为了更好的分析端口,最好用TCPView这个软件,该软件很小只有93KB,而且是个绿色软件,不用安装。
图3是TCPView的运行界面。第一次显示时字体有些小,在“Options”->“Font”中将字号调大即可。TCPView显示的数据 是动态的。图3中Local Address显示的就是本机开放的哪个端口(:号后面的数字),TCPView可以看出哪个端口是由哪个程序发起的。从图3可以看出445、139、 1025、135、5000等端口是开放的,445、139等端口都是system发起的,135等都是SVCHOST发起的。



图2 用TCPView查看端口状态三)、研究端口的目的
1、知道本机开了那些端口,也就是可以进入到本机的“门”有几个,都是谁开的?
2、目前本机的端口处于什么状态,是等待连接还是已经连接,如果是已经连接那就要特别注意看连接是个正常连接还是非正常连接(木马等)?
3、目前本机是不是正在和其它计算机交换数据,是正常的程序防问到一个正常网站还是访问到一个陷阱?
当你上网时就是本机和其它机器传递数据的过程,要传递数据必须要用到端口,即使是有些非常高明的木马利用正常的端口传送数据也不是了无痕迹的,数据在 开始传输、正在传输和结束传输的不同阶段都有各自的状态,要想搞明白上述3个问题,就必须清楚端口的状态变化。下面结合实例先分析服务端口的状态变化。只 有TCP协议才有状态,UDP协议是不可靠传输,是没有状态的。
四)、服务端口的状态变化
先在本机(IP地址为:192.168.1.10)配置FTP服务,然后在其它计算机(IP地址为:192.168.1.1)访问FTP服务,从TCPView看看端口的状态变化。
下面黑体字显示的是从TCPView中截取的部分。
1、LISTENING状态
FTP服务启动后首先处于侦听(LISTENING)状态。
State显示是LISTENING时表示处于侦听状态,就是说该端口是开放的,等待连接,但还没有被连接。就像你房子的门已经敞开的,但还没有人进来。
从TCPView可以看出本机开放FTP的情况。它的意思是:程序inetinfo.exe开放了21端口,FTP默认的端口为21,可见在本机开放了FTP服务。目前正处于侦听状态。
inetinfo.exe:1260 TCP 0.0.0.0:21 0.0.0.0:0 LISTENING
2、ESTABLISHED状态
现在从192.168.1.1这台计算机访问一下192.168.1.10的FTP服务。在本机的TCPView可以看出端口状态变为ESTABLISHED。
ESTABLISHED的意思是建立连接。表示两台机器正在通信。
下面显示的是本机的FTP服务正在被192.168.1.1这台计算机访问。
inetinfo.exe:1260 TCP 192.168.1.10:21 192.168.1.1:3009 ESTABLISHED
注意:处于ESTABLISHED状态的连接一定要格外注意,因为它也许不是个正常连接。后面要讲到这个问题。
3、 TIME_WAIT状态
现在从192.168.1.1这台计算机结束访问192.168.1.10的FTP服务。在本机的TCPView可以看出端口状态变为TIME_WAIT。
TIME_WAIT的意思是结束了这次连接。说明21端口曾经有过访问,但访问结束了。
[System Process]:0 TCP 192.168.1.10:21 192.168.1.1:3009 TIME_WAIT
4、小技巧
a、可以telnet一个开放的端口,来观察该端口的变化。比如看1025端口是开放的,在命令状态(如图1运行cmd)运行:
telnet 192.168.1.10 1025
b、从本机也可以测试,只不过显示的是本机连本机
c、在Tcpview中双击连接可看出程序的位置,右键点击该连接,选择End Process即可结束该连接
五)、客户端口的状态变化
客户端口实际上就是从本机访问其它计算机服务时打开的源端口,最多的应用是上网,下面就以访问baidu.com为例来看看端口开放以及状态的变化情况。
1、SYN_SENT状态
SYN_SENT状态表示请求连接,当你要访问其它的计算机的服务时首先要发个同步信号给该端口,此时状态为SYN_SENT,如果连接成功了就变为 ESTABLISHED,此时SYN_SENT状态非常短暂。但如果发现SYN_SENT非常多且在向不同的机器发出,那你的机器可能中了冲击波或震荡波 之类的病毒了。这类病毒为了感染别的计算机,它就要扫描别的计算机,在扫描的过程中对每个要扫描的计算机都要发出了同步请求,这也是出现许多 SYN_SENT的原因。
下面显示的是本机连接baidu.com网站时的开始状态,如果你的网络正常的,那很快就变为ESTABLISHED的连接状态。
IEXPLORE.EXE:2928 TCP 192.168.1.10:1035 202.108.250.249:80 SYN_SENT
2、ESTABLISHED状态
下面显示的是本机正在访问baidu.com网站。如果你访问的网站有许多内容比如访问

www.ccidnet.com

, 那会发现一个地址有许多ESTABLISHED,这是正常的,网站中的每个内容比如图片、flash等都要单独建立一个连接。看ESTABLISHED状 态时一定要注意是不是IEXPLORE.EXE程序(IE)发起的连接,如果是EXPLORE.EXE之类的程序发起的连接,那也许是你的计算机中了木马 了。
IEXPLORE.EXE:3120 TCP 192.168.1.10:1045 202.108.250.249:80 ESTABLISHED
3、TIME_WAIT状态
如果浏览网页完毕,那就变为TIME_WAIT状态。
[System Process]:0 TCP 192.168.1.10:4259 202.108.250.249:80 TIME_WAIT
六)、端口详细变迁图
以上是最主要的几个状态,实际还有一些,图4是TCP的状态详细变迁图(从TCP/IP详解中剪来),用粗的实线箭头表示正常的客户端状态变迁,用粗的虚线箭头表示正常的服务器状态变迁。这些不在本文的讨论范围。有兴趣的朋友可以好好研究一下。



图3 TCP的状态变迁图
七)、要点
一般用户一定要熟悉(再啰嗦几句):
1、服务端口重点要看的是LISTENING状态和ESTABLISHED状态,LISTENING是本机开了哪些端口,ESTABLISHED是谁在访问你的机器,从哪个地址访问的。
2、客户端口的SYN_SENT状态和ESTABLISHED状态,SYN_SENT是本机向其它计算机发出的连接请求,一般这个状态存在的时间很 短,但如果本机发出了很多SYN_SENT,那可能就是中毒了。看ESTABLISHED状态是要发现本机正在和哪个机器传送数据,主要看是不是一个正常 程序发起的。
二、木马
什么是木马,简单的说就是在未经你许可偷偷在你的计算机中开个后门,木马开后门主要有两种方式。
1、有服务端口的木马
这类木马都要开个服务端口的后门,成功后该后门处于LISTENING状态,它的端口号可能固定一个数,也可能变化,还有的木马可以与正常的端口合 用,例如你开着正常的80端口(WEB服务),木马也用80端口。这种木马最大的特点就是有端口处于LISTENING状态,需要远程计算机连接它。这种 木马对一般用户比较好防范,将防火墙设为拒绝从外到内的连接即可。比较难防范的是反弹型木马。
2、反弹型木马
反弹型木马是从内向外的连接,它可以有效的穿透防火墙,而且即使你使用的是内网IP,他一样也能访问你的计算机。这种木马的原理是服务端主动连接客户 端(黑客)地址。木马的服务端软件就像你的Internet Explorer一样,使用动态分配端口去连接客户端的某一端口,通常是常用端口,像端口80。而且会使用隐避性较强的文件名,像 iexpiore.exe、explorer(IE的程序是IEXPLORE.EXE)。如果你不仔细看,你可能会以为是你的Internet Explorer。这样你的防火墙也会被骗过。如果你在TcpView中看到下面这样的连接一定要注意,很有可能是种木马了。 iexpiore.exe 192.168.1.10(本机IP):1035(你的端口) Y.Y.Y.Y(远程IP):80(远程端口)
或 Rundll32.exe 192.168.1.10(本机IP):1035(你的端口) Y.Y.Y.Y(远程IP):80(远程端口)
或 explorer.exe 192.168.1.10(本机IP):1035(你的端口) Y.Y.Y.Y(远程IP):80(远程端口)
  三、安全
分析端口的目的就是要保证上网安全,根据以上的思路可以从以下几个方面来防范。
一)、关闭不需要的端口
对一般上网用户来说只要能访问Internet就行了,并不需要别人来访问你,也就是说没有必要开放服务端口,在WIN 98可以做到不开放任何服务端口上网,但在Win XP、Win 2000、Win 2003下不行,但可以关闭不必要的端口。图3是安装完WIN XP系统默认开的端口,以此为例关闭不必要的端口。
1、关闭137、138、139、445端口
这几个端口都是为共享而开的,是NetBios协议的应用,一般上网用户是不需要别人来共享你的内容的,而且也是漏洞最多的端口。关闭的方法很多,最近从网上学了一招非常好用,一次全部关闭上述端口。
开始-> 控制面板-> 系统-> 硬件-> 设备管理器-> 查看-> 显示隐藏的设备-> 非即插即用驱动程序-> Netbios over Tcpip。
找到图5界面后禁用该设备重新启动后即可。



图4 关闭137、138、139、445端口2、关闭123端口
有些蠕虫病毒可利用UDP 123端口,关闭的方法:如图6停止windows time服务



图5 关闭123端口3、关闭1900端口
攻击者只要向某个拥有多台Win XP系统的网络发送一个虚假的UDP包,就可能会造成这些Win XP主机对指定的主机进行攻击(DDoS)。另外如果向该系统1900端口发送一个UDP包,令"Location"域的地址指向另一系统的 chargen端口,就有可能使系统陷入一个死循环,消耗掉系统的所有资源(需要安装硬件时需手动开启)。
关闭1900端口的方法如图7所示——停止SSDP Discovery Service 服务。



图5 关闭123端口3、关闭1900端口
攻击者只要向某个拥有多台Win XP系统的网络发送一个虚假的UDP包,就可能会造成这些Win XP主机对指定的主机进行攻击(DDoS)。另外如果向该系统1900端口发送一个UDP包,令"Location"域的地址指向另一系统的 chargen端口,就有可能使系统陷入一个死循环,消耗掉系统的所有资源(需要安装硬件时需手动开启)。
关闭1900端口的方法如图7所示——停止SSDP Discovery Service 服务。



图7 正常连接



图8 木马连接一般的防火墙都有应用程序访问网络的权限设置,如图8所示,在防火墙的这类选项中将不允许访问网络的应用程序选择X,即不允许访问网络。
在写这篇文章之前笔者中了一个反弹型木马,就是explorer程序向外连接,用了好几个查毒软件也没有杀掉,当时就先用天网放火墙阻止它访问网络,然后手工费了很大的劲才清除掉。可惜没有做截图。没有勇气为了写这篇文章再牺牲一把了。
4、用Tcpview结束一个连接
当你用Tcpview观察哪个连接有可能是不正常的连接,可在Tcpview中直接鼠标右键点击该连接,选择End Process即可结束该连接。
四、扫描
谈起扫描又是个大话题了,有端口扫描(Superscan)、漏洞扫描(X-scan)等,关于扫描的话题以后再论,本文只对一般用户简单说一下在线 安全检测。如果你按上面的说得作了相应的安全措施,就可以在网上找个在线测试安全的网站测试一下你目前系统的安全情况,如到下面网站:
1、千禧在线--在线检测
2、蓝盾在线检测
3、天网安全在线
4、诺顿在线安全检测
说明一点,测试机器时开了21、23、80端口,但这都是ADSL的服务端口,MODEM没有提供修改和关闭的地方,不过没关系,只要把密码设的复杂点就行了。
五、震荡波
如果你按上述关闭了445端口或者开启了放火墙那就不会受到震荡波及类似的病毒骚扰了,关于震荡波病毒的文章太多了,此处就不多谈。只要做好了安全防护,不管是震荡大波还是冲击小波只能在你的计算机门前掠过而奈何不了你。
六、后记
关于计算机的安全还有很多要设置,但对于一般用户来说,太多的安全设置就等于没有了安全,因为即使对于专业从事计算机安全的人员对于安全的设置也不是 件容易的事,何况对于对计算机的知识还不够的一般用户。如果要作很多设置才能保证安全,那肯定就有很多人不做了。对一般用户个人的建议是力所能及的事一定 要做,比如:
1、上网时一定要安装防病毒软件并及时升级。
2、至少安装一个防火墙,ADSL用户最好用路由方式上网,改掉默认密码。
3、经常打补丁,Windows用户最好将系统设为自动升级。
4、自己要做的就是用Tcpview 常常看看连接,防止反弹型木马。常常看看,时间长了也许就看成专家了。
5、Udp协议是不可靠传输,没有状态,从Tcpview中很难看出它是不是在传输数据,感兴趣的朋友可以用iris、sniffer这类的协议分析工具看看是不是有Udp的数据。关于这个话题以后再聊。
6、本文题目起的很大,但写起来又觉得很多问题都是别人说了再说的,也就没有深谈。
道高一尺,魔高一丈。网络安全将是一个永恒的话题,没有绝对的安全,但有了防范意识总比敞开了大门还不知道好吧。
知己知彼百战不殆 木马病毒的发展史
作者:hanbin 来源:赛迪网技术社区
计算机世界中的特洛伊木马病毒的名字由《荷马史诗》的特洛伊战记得来。故事说的是希腊人围攻特洛伊城十年后仍不能得手,于是阿迦门农受雅典娜的启发:把士兵藏匿于巨大无比的木马中,然后佯作退兵。当特洛伊人将木马作为战利品拖入城内时,高大的木马正好卡在城门间,进退两难。夜晚木马内的士兵爬出来,与城外的部队里应外合而攻下了特洛伊城。而计算机世界的特洛伊木马(Trojan)是指隐藏在正常程序中的一段具有特殊功能的恶意代码,是具备破坏和删除文件、发送密码、记录键盘和攻击Dos等特殊功能的后门程序。
第一代木马:伪装型病毒
这种病毒通过伪装成一个合法性程序诱骗用户上当。世界上第一个计算机木马是出现在1986年的PC-Write木马。它伪装成共享软件PC-Write的2.72版本(事实上,编写PC-Write的Quicksoft公司从未发行过2.72版本),一旦用户信以为真运行该木马程序,那么他的下场就是硬盘被格式化。在我刚刚上大学的时候,曾听说我校一个前辈牛人在WAX机房上用BASIC作了一个登录界面木马程序,当你把你的用户ID,密码输入一个和正常的登录界面一模一样的伪登录界面后后,木马程序一面保存你的ID,和密码,一面提示你密码错误让你重新输入,当你第二次登录时,你已成了木马的牺牲品。此时的第一代木马还不具备传染特征。
第二代木马:AIDS型木马
继PC-Write之后,1989年出现了AIDS木马。由于当时很少有人使用电子邮件,所以AIDS的作者就利用现实生活中的邮件进行散播:给其他人寄去一封封含有木马程序软盘的邮件。之所以叫这个名称是因为软盘中包含有AIDS和HIV疾病的药品,价格,预防措施等相关信息。软盘中的木马程序在运行后,虽然不会破坏数据,但是他将硬盘加密锁死,然后提示受感染用户花钱消灾。可以说第二代木马已具备了传播特征(尽管通过传统的邮递方式)。
第三代木马:网络传播性木马
随着Internet的普及,这一代木马兼备伪装和传播两种特征并结合TCP/IP网络技术四处泛滥。同时他还有新的特征:
1.添加了“后门”功能。
所谓后门就是一种可以为计算机系统秘密开启访问入口的程序。一旦被安装,这些程序就能够使攻击者绕过安全程序进入系统。该功能的目的就是收集系统中的重要信息,例如,财务报告、口令及信用卡号。此外,攻击者还可以利用后门控制系统,使之成为攻击其它计算机的帮凶。由于后门是隐藏在系统背后运行的,因此很难被检测到。它们不像病毒和蠕虫那样通过消耗内存而引起注意。
2.添加了击键记录功能。
从名称上就可以知道,该功能主要是记录用户所有的击键内容然后形成击键记录的日志文件发送给恶意用户。恶意用户可以从中找到用户名、口令以及信用卡号等用户信息。这一代木马比较有名的有国外的BO2000(BackOrifice)和国内的冰河木马。它们有如下共同特点:基于网络的客户端/服务器应用程序。具有搜集信息、执行系统命令、重新设置机器、重新定向等功能。 当木马程序攻击得手后,计算机就完全在黑客控制的傀儡主机,黑客成了超级用户,用户的所有计算机操作不但没有任何秘密而言,而且黑客可以远程控制傀儡主机对别的主机发动攻击,这时候背俘获的傀儡主机成了黑客进行进一步攻击的挡箭牌和跳板。
虽然木马程序手段越来越隐蔽,但是苍蝇不叮无缝的蛋,只要加强个人安全防范意识,还是可以大大降低"中招"的几率。对此笔者有如下建议:安装个人防病毒软件、个人防火墙软件;及时安装系统补丁;对不明来历的电子邮件和插件不予理睬;经常去安全网站转一转,以便及时了解一些新木马的底细,做到知己知彼,百战不殆。
一叶一天堂
发表于 2007-4-1 17:56:16 | 显示全部楼层
好文,深入浅出,学习了
Flyme2themoon
发表于 2007-4-2 11:04:48 | 显示全部楼层
太强了
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-12-22 21:50 , Processed in 0.140539 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表