知己知彼 2007年网络安全技术发展分析

知己知彼 2007年网络安全技术发展分析 - 电脑安全 - 电脑教程网

知己知彼 2007年网络安全技术发展分析

日期:2007-10-19   荐:

作者: 彭文波(原创)

  在网络安全实践中,网络攻击者主动性很强,因此,在整个攻防实战中占据着十分重要的地位。从典型的攻击思路来看,攻击者一般要经过“探测”、“攻击”、“隐藏”等三个步骤,而且每个步骤又有许多种类型。2007年,网络安全界风起云涌,从技术更加精湛的网络注入到隐蔽性更强的钓鱼式攻击,从频频被利用的系统漏洞到悄然运行木马工具,网络攻击者的手段也更加高明。“知己知彼,百战不殆”,本专题将通过科学分类的方法,对本年度的网络攻击技术进行详细的点评。同时,还将穿插精彩的典型案例,使用户达到举一反三的目的。

  一、2007年网络攻击的发展趋势  

  综合分析2007年网络攻击技术发展情况,其攻击趋势可以归纳如下:

  趋势1:发现安全漏洞越来越快,覆盖面越来越广。新发现的安全漏洞每年都要增加一倍,管理人员不断用最新的补丁修补这些漏洞,而且每年都会发现安全漏洞的新类型。入侵者经常能够在厂商修补这些漏洞前发现攻击目标。

  趋势2:攻击工具越来越复杂。攻击工具开发者正在利用更先进的技术武装攻击工具。与以前相比,攻击工具的特征更难发现,更难利用特征进行检测。攻击工具具有以下特点:

  反侦破和动态行为。攻击者采用隐蔽攻击工具特性的技术,这使安全专家分析新攻击工具和了解新攻击行为所耗费的时间增多;早期的攻击工具是以单一确定的顺序执行攻击步骤,今天的自动攻击工具可以根据随机选择、预先定义的决策路径或通过入侵者直接管理,来变化它们的模式和行为。

  攻击工具的成熟性。与早期的攻击工具不同,目前攻击工具可以通过升级或更换工具的一部分迅速变化,发动迅速变化的攻击,且在每一次攻击中会出现多种不同形态的攻击工具。此外,攻击工具越来越普遍地被开发为可在多种操作系统平台上执行。

  趋势3:攻击自动化程度和攻击速度提高,杀伤力逐步提高。自动攻击一般涉及四个阶段,在每个阶段都出现了新变化。

  Ø 扫描可能的受害者、损害脆弱的系统。目前,扫描工具利用更先进的扫描模式来改善扫描效果和提高扫描速度。以前,安全漏洞只在广泛的扫描完成后才被加以利用。而现在攻击工具利用这些安全漏洞作为扫描活动的一部分,从而加快了攻击的传播速度。

  Ø 传播攻击。在2000年之前,攻击工具需要人来发动新一轮攻击。目前,攻击工具可以自己发动新一轮攻击。像红色代码和尼姆达这类工具能够自我传播,在不到18个小时内就达到全球饱和点。

  趋势4:越来越不对称的威胁。Internet上的安全是相互依赖的。每个Internet系统遭受攻击的可能性取决于连接到全球Internet上其他系统的安全状态。由于攻击技术的进步,一个攻击者可以比较容易地利用分布式系统,对一个受害者发动破坏性的攻击。随着部署自动化程度和攻击工具管理技巧的提高,威胁的不对称性将继续增加。

  趋势5:越来越高的防火墙渗透率。防火墙是人们用来防范入侵者的主要保护措施。但是越来越多的攻击技术可以绕过防火墙,例如,Internet打印协议和WebDAV(基于Web的分布式创作与翻译)都可以被攻击者利用来绕过防火墙。

  趋势6:对基础设施将形成越来越大的威胁。基础设施攻击是大面积影响Internet关键组成部分的攻击。由于用户越来越多地依赖Internet完成日常业务,基础设施攻击引起人们越来越大的担心。基础设施面临分布式拒绝服务攻击、蠕虫病毒、对Internet域名系统(DNS)的攻击和对路由器攻击或利用路由器的攻击。攻击工具的自动化程度使得一个攻击者可以安装他们的工具并控制几万个受损害的系统发动攻击。入侵者经常搜索已知包含大量具有高速连接的易受攻击系统的地址块,电缆调制解调器、DSL和大学地址块越来越成为计划安装攻击工具的入侵者的目标。

  我们可以从攻击者的角度出发,将攻击的步骤可分为探测(Probe)、攻击(Exploit)和隐藏(Conceal)。同时,攻击技术据此可分为探测技术、攻击技术和隐藏技术三大类,并在每类中对各种不同的攻击技术进行细分。

  二、探测技术和攻击测试平台的发展  

  探测是黑客在攻击开始前必需的情报收集工作,攻击者通过这个过程需要尽可能详细的了解攻击目标安全相关的方方面面信息,以便能够集中火力进行攻击。探测又可以分为三个基本步骤:踩点、扫描和查点。如下表所示:

攻击技术 攻击方法

  探测技术

踩点 查询域名、DNS、网络勘察

  扫描

Ping 扫描

ipsweep

端口扫描

portsweep, resetscan

操作系统辨识

queso

漏洞扫描

satan, mscan 查点 ls, ntinfoscan


  1、三部曲:踩点、扫描和查点

  如果将服务器比作一个大楼,主机入侵信息收集及分析要做的工作就如在大楼中部署若干个摄像头,在大楼发生盗窃事件之后,对摄像头中的影像进行分析,进而为报案和“亡羊补牢”做准备。

  第一步:踩点。是指攻击者结合各种工具和技巧,以正常合法的途径对攻击目标进行窥探,对其安全情况建立完整的剖析图。在这个步骤中,主要收集的信息包括:各种联系信息,包括名字、邮件地址和电话号码、传真号;IP地址范围;DNS服务器;邮件服务器。对于一般用户来说,如果能够利用互联网中提供的大量信息来源,就能逐渐缩小范围,从而锁定所需了解的目标。几种实用的流行方式有:通过网页搜寻和链接搜索、利用互联网域名注册机构进行Whois查询、利用Traceroute获取网络拓扑结构信息等。

  第二步:扫描。是攻击者获取活动主机、开放服务、操作系统、安全漏洞等关键信息的重要技术。扫描技术包括Ping 扫描(确定哪些主机正在活动)、端口扫描(确定有哪些开放服务)、操作系统辨识(确定目标主机的操作系统类型)和安全漏洞扫描(获得目标上存在着哪些可利用的安全漏洞)。Ping扫射可以帮助我们判断哪些系统是存活的。而通过端口扫描可以同目标系统的某个端口来建立连接,从而确定系统目前提供什么样的服务或者哪些端口正处于侦听状态。著名的扫描工具包括nmap,netcat 等,知名的安全漏洞扫描工具包括开源的nessus 及一些商业漏洞扫描产品如ISS 的Scanner 系列产品。另外,在网络环境下,网络扫描技术则是指检测目标系统是否同互联网连接、所提供的网络服务类型等等。通过网络扫描获得的信息有:被扫描系统所运行的TCP/UDP服务;系统体系结构;通过互联网可以访问的IP地址范围;操作系统类型等。

  第三步:查点。是攻击者常采用的从目标系统中抽取有效账号或导出资源名的技术。通常这种信息是通过主动同目标系统建立连接来获得的,因此这种查询在本质上要比踩点和端口扫描更具有入侵效果。查点技术通常和操作系统有关,所收集的信息包括用户名和组名信息、系统类型信息、路由表信息和SNMP信息等。

  综观本年度比较热门的攻击事件,可以看到,在寻找攻击目标的过程中,以下手段明显加强:

  (1)通过视频文件寻找“肉鸡”。在今年,这种方法大有星火燎原之势,攻击者首先要配置木马,然后制作视频木马,如RM木马、WMV木马等,然后通过P2P软件、QQ发送、论坛等渠道进行传播,用户很难察觉。

  (2)根据漏洞公告寻找“肉鸡”。现在,关于漏洞技术的网站专业性更强,在http://www.milw0rm.com这个网站上,经常会公布一些知名黑客发现的漏洞,从远程攻击、本地攻击到脚本攻击等,描述十分详细。在漏洞补丁没有发布之前,这些攻击说明可能会进一步加大网络安全威胁。

  (3)利用社会心理学、社会工程学获取目标信息。比如,通过对受害者心理弱点、本能反应、好奇心、信任、贪婪等心理陷阱进行诸如欺骗、伤害等危害手段,取得自身利益的手法,近年来已呈迅速上升甚至滥用的趋势。目前,已经有攻击者通过“溯雪+社会工程学”的形式破解了263信箱。

  2、一则安全日记引发的攻击思路分析

  时间:2007年7月某天晚上

  地点:某出版社网络管理中心

  人物:某网络管理员

  序幕:一个网友突然传来一个网址,让我检测一个数据中心网站的安全性。资料显示,该站点是一个大型虚拟主机系统,支持ASP PHP JSP。

  事件记录:

  拿过站点地址,没经过任何思考,我利用SuperScan等软件对主机进行了端口扫描,扫描后共发现开了10个端口,重要的有80、110、135、139、3389等,但能够利用的服务不算多。从扫描的80信息显示来看,对方的系统是Windows 2000 IIS5.0,还打开了一个远程桌面管理(开放了3389端口)。

  第1步:检查是否有应用程序漏洞。登录3389服务,看看有没有非系统自带的输入法,因为某些类型的输入法还是有帮助文件和URL的,结果没有任何帮助文件。使用net命令测试后,发现不能顺利与服务器建立空连接,猜测密码口令也没有结果。

  第2步:现在,比较合理的选择是检测CGI漏洞,使用安全扫描软件后,发现默认的“scripts”、“_vti_bin”等目录以及大量的“ida”、“idq”、“htw”等映像,但是用了许多溢出程序都没有溢出。初步推测,系统打上了SP3补丁。

  第3步:下面再看看邮件服务软件是否支持expn、vrfy指令。经测试,返回“OK”并枚举出一个100多个用户的详细列表,接着用POP3密码破解软件破密码,自然收获不小了。然后尝试用这些帐号登录ftp服务,终于发现其中有一个用户名为cndes,密码为1234abcd,而且可以登录ftp空间。也就是说,这个用户买了服务器的收费邮箱和收费主页空间,并且邮箱和主页空间的密码设置的是相同的。

  第4步:计划向主页空间上传两个文件,一个是win.exe,这是一个大小仅有4kb的木马,功能相当强大;另一个是海阳顶端ASP木马。上传完毕,现在就可以查看服务器的详细情况了。顺便查查cndes空间目录在什么位置,并把win.exe的路径记下来。

  第5步:使用temp.asp进行入侵。为了防止被系统日志记录下来,明智的选择是另外开个没有日志记录的shell,并准备运行另一个win.exe木马。怎么运行它呢,用过Unicode漏洞的人都知道,有了木马在服务器的绝对路径,并且木马所在的目录有脚本可执行权限,我们就能运行它了。看到IE状态区的进度条,表示已经在服务器端运行了程序。现在就可以从刚开的后门进去了。

  第6步:取得admin权限。由于Administrator帐号更改,现在把一个特殊的cmd.exe(利用exe合并软件把cmd.exe和木马合成一个程序)上传到服务器C盘下并隐藏起来,等待管理员运行cmd.exe时,系统就会多了一个admin权限的帐号,接下来就是用这个帐号来停掉w3svc服务并修改日志,整个过程到此结束。

  其实,这位黑客是一位受到委托的网络安全专家。通过自己的经验和专业技术,他找到了可能被黑客利用的重大安全隐患。可见,随着网络技术的不断发展,网络攻击者的思路也日趋成熟,在某些方面甚至比网络管理员更专业、更了解对方。在这种程序化的思路中,他们就能够号入座寻找可能存在的对象,并实施有目的性的攻击。


  3、攻击测试平台的新发展

  对于网络管理员来说,虚拟机是一项很不错的技术,安装了虚拟机,管理员就可以在自己的机子上同时运行多个操作系统,并可在它们之间进行自由的切换。不过,从2007年各大安全论坛的讨论主题来看,虚拟机技术在黑客中间也得到了普及。通过使用虚拟机,网络攻击者不需要重新开机就能在同一台电脑使用好几个操作系统,它可以将电脑上的一部分硬盘和内存进行组合,虚拟出若干台机器,实施各种操作系统下的攻击。

  下面,我们将结合VMWare,详细了解攻击测试平台的搭建过程。用户可从以下网站下载:http://www.vmware.cn。

  第1步:VMWare软件的安装。这个过程十分简单,下载完毕,直接“Next”即可完成安装。安装完毕,我们会发现多了两块虚拟网卡,在VMWare下用户可以使用虚拟网卡进行联网设置及试验。单击“新建虚拟机”图标,根据提示选择一种要安装的操作系统,一般选择典型设置。

  第2步:虚拟机启动并自检后,这时按F2可以进入BIOS设置。每一台虚拟机都有它自己的BIOS。虚拟机使用PHOENIX BIOS,先将鼠标点击虚拟机窗口,接收鼠标键盘的输入信息后,就可以进行相关BIOS设置了。

  第3步:设置光驱映像ISO文件或者将光盘放入光驱后,进入操作系统的安装过程,否则虚拟机将会提示没有找到操作系统。如果光盘没有启动,需要到BIOS中设置启动顺序。安装完毕,点击虚拟机操作界面上方左边工具栏中的“打开电源”键,如同按下了一台电脑的开关。

  第4步:切换到虚拟机。进入虚拟平台后,它会屏蔽掉主机计算机的所有鼠标或键盘操作,不过我们可以按“Ctrl+Alt”组合键返回主机系统。虚拟机的重新启动、关机等对于宿主计算机来说都是虚拟的,但对于虚拟机中安装的操作系统来说则是真实的。因此,安装好操作系统的虚拟机,一样要先通过“开始”菜单关机。而不能强制关闭虚拟机电源,否则,虚拟机下次启动的时候也会像真实的电脑一样检测磁盘的。

  第5步:安装VMWare Tools。完成安装后,在VMWare软件的左下角有一个提示:“你没有安装VMWare Tools”。单击“虚拟机”菜单中的“安装VMWare工具”选项,安装VMWare工具。注意,如果是用ISO文件安装的操作系统,最好重新加载该安装文件并重新启动系统,这样系统就能自动找到VMWare Tools的安装文件。如图1所示。

安装VMWare Tools

  安装VMWare Tools之后,再次登录redhat Linux系统,现在就会感觉在图像色彩和声音质量上都有很大的提高。同时,鼠标可以在虚拟机、宿主机之间随意移动、切换。新建一个虚拟机后,除了使用默认值,用户还可以通过配置文件修改参数。在单机平台上,利用VMWare构建一个具有多个节点的局域网,组建非常复杂的局域网。如图2所示。

虚拟机设置

  通过上面的典型测试环境,攻击者已经可以在本地轻松的完成各种网络程序和其他操作系统的测试。如果能够结合resin、Apache等web服务器,我们也就不难理解黑客为什么能够如此迅速的完成其他系统或平台下的漏洞或攻击测试了。难怪有人会这么评价:“一名优秀的网络管理员首先是一名优秀的黑客”。


  三、2007年网络攻击和隐藏技术发展趋势  

  “心中有佛天地宽”,网络攻击中的“佛”在哪里呢?首先,我们应该对攻击技术的分类有一个清晰的脉络,否则很难确定自己在这场战争中的角色。因此,我们可以将从以下几个方面对2007年网络攻击技术进行分述,即窃听技术、欺骗技术、拒绝服务和数据驱动攻击。同时,对攻击事件完成之后的隐藏技术也进行分析。

  1、窃听技术的发展趋势

  窃听技术是攻击者通过非法手段对系统活动的监视从而获得一些安全关键信息。目前属于窃听技术的流行攻击方法有键击记录器、网络监听、非法访问数据和攫取密码文件。可以从以下几个方面来分析。

  (1)键击记录器。这是植入操作系统内核的隐蔽软件,通常实现为一个键盘设备驱动程序,能够把每次键击都记录下来,存放到攻击者指定的隐藏的本地文件中。著名的有Win32 平台下适用的IKS 等。

  (2)网络监听。这是攻击者一旦在目标网络上获得一个立足点之后刺探网络情报的最有效方法,通过设置网卡的混杂(promiscuous)模式获得网络上所有的数据包,并从中抽取安全关键信息,如明文方式传输的口令。Unix 平台下提供了libpcap 网络监听工具库和tcpdump、dsniff 等著名监听工具,而在Win32 平台下也拥有WinPcap监听工具库和windump、dsniff forWin32、Sniffer等免费工具,另外还有专业工具Sniffer Pro等。

  (3)非法访问数据。这是指攻击者或内部人员违反安全策略对其访问权限之外的数据进行非法访问。

  (4)攫取密码文件。这是攻击者进行口令破解获取特权用户或其他用户口令的必要前提,关键的密码文件如Windows 9x下的PWL 文件、Windows NT/2000下的SAM文件和Unix平台下的/etc/password 和/etc/shadow。

  下面,我们以本年度比较热门的Sniffer为例进行讲解。Sniffer是一种利用计算机的网络接口截获目的地为其他计算机的数据报文的一种工具。2007年以来,网络监听技术出现了新的重要特征。传统的Sniffer技术是被动地监听网络通信、用户名和口令,而新的Sniffer技术则主动地控制通信数据。在网络攻击者看来,此类工具是其必备技能之一,并对其窃取数据起到了十分重要的作用。Sniffer工作在网络环境中的底层,它会拦截所有的正在网络上传送的数据,可以很轻松截获在网上传送的用户姓名、口令、信用卡号码、截止日期、账号和pin码。软件下载地址为http://wvw.ttian.net/download/list.php。

  第1步:软件安装。安装后,可以看到Sniffer pro的监控模式有:仪表板,主机列表,矩阵,请求相应时间,历史取样,协议分布,全局统计表等,这些模式能显示各项网络性能指标及详细的协议分析。在默认情况下,Sniffer将捕获其接入碰撞域中流经的所有数据包。

  第2步:定义过滤器。Sniffer提供了捕获数据包前的过滤规则的定义,在主界面选择“捕获”菜单下的“定义过滤器”选项,然后打开“地址”选项卡。其中包括MAC地址、ip地址和ipx地址的定义。如图3所示。

  第3步:然后选择“定义过滤器”选项的“高级”选项卡,定义希望捕获的相关协议的数据包。此外,还可以在“缓冲”选项卡里面定义捕获数据包的缓冲区,再将定义的过滤规则应用于捕获中。如果要停止Sniffer捕获包时,点选“捕获”菜单下的“停止”,把捕获的数据包进行解码和显示。

  2、欺骗技术的发展趋势

  欺骗技术是攻击者通过冒充正常用户以获取对攻击目标访问权或获取关键信息的攻击方法,属于此类的有获取口令、恶意代码、网络欺骗等攻击手法。下面,我们归纳了2007年比较热门的一些欺骗技术。具体如下:

  第1种:获取口令的方式。主要有通过缺省口令、口令猜测和口令破解三种途径。某些软件和网络设备在初始化时,会设置缺省的用户名和密码,但也给攻击者提供了最容易利用的脆弱点。口令猜测则是历史最为悠久的攻击手段,由于用户普遍缺乏安全意识,不设密码或使用弱密码的情况随处可见,这也为攻击者进行口令猜测提供了可能。口令破解技术则提供了进行口令猜测的自动化工具,通常需要攻击者首先获取密码文件,然后遍历字典或高频密码列表从而找到正确的口令。著名的工具有John the Ripple、Crack和适用于Win32平台的L0phtcrack等。

  第2种:恶意代码。包括特洛伊木马应用程序、邮件病毒、网页病毒等,通常冒充成有用的软件工具、重要的信息等,诱导用户下载运行或利用邮件客户端和浏览器的自动运行机制,在启动后暗地里安装邪恶的或破坏性软件的程序,通常为攻击者给出能够完全控制该主机的远程连接。

  第3种:网络欺骗。是攻击者向攻击目标发送冒充其信任主机的网络数据包,达到获取访问权或执行命令的攻击方法。具体的有IP 欺骗、会话劫持、ARP(地址解析协议)重定向和RIP(路由信息协议)路由欺骗等。

  (1)IP 欺骗。是指攻击者将其发送的网络数据包的源IP地址篡改为攻击目标所信任的某台主机的IP地址,从而骗取攻击目标信任的一种网络欺骗攻击方法。通用应用于攻击Unix 平台下通过IP 地址进行认证的一些远程服务如rlogin、rsh等,也常应用于穿透防火墙。

  (2)会话劫持指。是指攻击者冒充网络正常会话中的某一方,从而欺骗另一方执行其所要的操作。目前较知名的如TCP 会话劫持,通过监听和猜测TCP 会话双方的ACK,插入包含期待ACK的数据包,能够冒充会话一方达到在远程主机上执行命令的目的。支持TCP 会话劫持的工具有最初的Juggernaut 产品和著名的开源工具Hunt。

  (3)ARP欺骗。这种方法提供将IP地址动态映射到MAC 地址的机制,但ARP机制很容易被欺骗,攻击主机可以发送假冒的ARP 回答给目标主机发起的ARP查询,从而使其错误地将网络数据包都发往攻击主机,导致拒绝服务或者中间人攻击。由于RIP没有身份认证机制,因此攻击者很容易发送冒充的数据包欺骗RIP 路由器,使之将网络流量路由到指定的主机而不是真正希望的主机,达到攻击的目标。

  2007年以来,通过欺骗的方式获得机密信息的事件越来越多,在国内比较严重的银行诈骗事件已经让不少用户开始感觉到网络中存在的安全隐患。下面是国际反钓鱼组织公布了一个典型案例。攻击者发了一个欺骗的邮件并声称:按照年度计划,用户的数据库信息需要进行例行更新,并给出了一个“To update your account address”连接地址。由于这封Email来自[email protected],因此,一般人不会太怀疑。不过,细心的用户会发现,表面地址是http://comcast-database.biz/,实际地址是http://66.113.136.225。很明显,这个攻击者利用了URL欺骗技术,以达到其不可告人的目的!

  此外,还有不少流氓软件通过欺骗技术,未经许可强行潜伏到用户电脑中,而且此类程序无卸载程序,无法正常卸载和删除,强行删除后还会自动生成。有迹象表明,病毒、黑客和流氓软件正紧密结合,日益趋于商业化、集团化,并且已经形成了一根完整的产业链条。


  3、拒绝服务攻击技术的发展

  拒绝服务攻击指中断或者完全拒绝对合法用户、网络、系统和其他资源的服务的攻击方法,被认为是最邪恶的攻击,其意图就是彻底地破坏,而这往往比真正取得他们的访问权要容易得多,同时所需的工具在网络上也唾手可得。因此拒绝服务攻击,特别是分布式拒绝服务攻击对目前的互联网络构成了严重的威胁,造成的经济损失也极为庞大。拒绝服务攻击的类型按其攻击形式划分包括导致异常型、资源耗尽型、分布式拒绝服务攻击(DDoS)。

  第1种,导致异常型拒绝服务攻击。这种方法利用软硬件实现上的编程缺陷,导致其出现异常,从而使其拒绝服务。如著名的Ping of Death攻击和利用IP协议栈对IP 分片重叠处理异常的Treadrop攻击。

  第2种,资源耗尽型拒绝服务攻击。这种方法通过大量消耗资源使得攻击目标由于资源耗尽不能提供正常的服务。根据资源类型的不同可分为带宽耗尽和系统资源耗尽两类。带宽耗尽攻击的本质是攻击者通过放大等技巧消耗掉目标网络的所有可用带宽。系统资源耗尽攻击指对系统内存、CPU 或程序中的其他资源进行消耗,使其无法满足正常提供服务的需求。著名的Syn Flood 攻击即是通过向目标服务发送大量的数据包,造成服务的连接队列耗尽,无法再为其他正常的连接请求提供服务。

  第3种,分布式拒绝服务攻击。这种方法通过控制多台傀儡主机,利用他们的带宽资源集中向攻击目标发动总攻,从而耗尽其带宽或系统资源的攻击形式。DDoS攻击的第一步是瞄准并获得尽可能多的傀儡主机的系统管理员访问权,然后上传DDoS攻击并运行。目前著名的DDoS 工具有TFN(Tribe FloodNetwork)、TFN2K、Trinoo、WinTrinoo和Stacheldraht等。

  从2007年网络攻击技术的发展情况来看,最近发生的拒绝服务攻击事件大多与联机游戏有关。某些玩家对在游戏中被人杀死或丢失他们喜爱的武器不满意,因此发动拒绝服务攻击,许多服务器已经成为这种攻击的牺牲品。另外,使用拒绝服务进行网络敲诈勒索的事件仍然十分频繁,攻击者通过在短暂而非紧要的时间段内发动攻击,对用户的数据构成威胁,受害者则不得不为此而支付“保护费”。

  4、数据驱动攻击技术及其新发展

  数据驱动攻击是通过向某个程序发送数据,以产生非预期结果的攻击,通常为攻击者给出访问目标系统的权限,数据驱动攻击分为缓冲区溢出攻击、格式化字符串攻击、输入验证攻击、同步漏洞攻击、信任漏洞攻击等。

  第1种,缓冲区溢出攻击。缓冲区溢出攻击的原理是向程序缓冲区写入超出其边界的内容,造成缓冲区的溢出,使得程序转而执行其他攻击者指定的代码,通常是为攻击者打开远程连接的ShellCode,以达到攻击目标。近年来著名的蠕虫如Code-Red、SQL.Slammer、Blaster 和Sasser 等,都是通过缓冲区溢出攻击获得系统权限后进行传播。

  第2种,同步漏洞攻击。这种方法主要是利用程序在处理同步操作时的缺陷,如竞争状态。信号处理等问题,以获取更高权限的访问。发掘信任漏洞攻击则利用程序滥设的信任关系获取访问权的一种方法,著名的有Win32 平台下互为映像的本地和域Administrator 凭证、LSA 密码(Local SecurityAuthority)和Unix 平台下SUID 权限的滥用和X Window 系统的xhost 认证机制等。

  第3种,格式化字符串攻击。这种方法主要是利用由于格式化函数的微妙程序设计错误造成的安全漏洞,通过传递精心编制的含有格式化指令的文本字符串,以使目标程序执行任意命令。输入验证攻击针对程序未能对输入进行有效的验证的安全漏洞,使得攻击者能够让程序执行指定的命令。

  下面是一个很有代表性的例子。打开某些网页时,可以把网址中的“/”换成“\”然后提交,这样就可以暴出数据库的路径。成功后,会有类似的提示:“确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。” 在Google或者百度中,搜索关键词“wishshow.asp?id=”,找到一些具有缺陷的的许愿板程序。本例是一个台湾测试站点,地址为http://web.gges.tp.edu.tw/asp/wish/wishshow.asp?id=117。在wish后,用“\”替换“/”,地址就变成了http://web.gges.tp.edu.tw/asp/wish\ wishshow.asp?id=117,这样就可以暴出对方数据库了。根据错误提示,数据库是db.mdb,而且还可以直接下载。如图4所示。

格式化字符串攻击

  “\”并不是网页本身的漏洞,而是利用了IIS解码方式的一个缺陷。实际上是“\”的十六进制代码,是“\”的另一种表示法。但是,提交“\”和“\”却会产生不同的结果。在IE中,我们把下面第一个地址中的“/”换成“\”提交:

 http://web.gges.tp.edu.tw/asp/wish/wishshow.asp?id=117

 http://web.gges.tp.edu.tw/asp/wish\wishshow.asp?id=117

  二者的访问结果是一样的。IE会自动把“\”转变成“/”,从而访问到同一地址。但是,当我们把“/”换成十六进制写法“\”时,IE就不会对此进行转换,地址中的“\”被原样提交了。2007年以来,针对网站、论坛等程序的攻击依然是一大热点,一些大学网站、论坛甚至一些知名企业的站点都遭遇了不同程度的攻击。比较热门的事件有:OBlog2.52文件删除漏洞、COCOON在线文件管理器上传漏洞、PJBlog v2.2用户提权再提权、BBSXP 6.0 SQL版的版主提权漏洞、雪人“SF v2.5 for Access”版论坛漏洞等,这些攻击手法都综合了多种技巧,尤其是数据驱动攻击技术的运用。


  5、隐藏技术及其新发展

  攻击者在完成其攻击目标后,通常会采取隐藏技术来消除攻击留下的蛛丝马迹,避免被系统管理员发现,同时还会尽量保留隐蔽的通道,使其以后还能轻易的重新进入目标系统。隐藏技术主要包括日志清理、内核套件、安装后门等。

  第1种,日志清理。日志清理主要对系统日志中攻击者留下的访问记录进行清除,从而有效地抹除自己的动踪迹。Unix平台下较常用的日志清理工具包括zap、wzap、wted 和remove。攻击者通常在获得特权用户访问权后会安装一些后门工具,以便轻易地重新进入或远程控制该主机,著名的后门工具包括BO、netbus和称为“瑞士军刀”的netcat等;攻击者还可对系统程序进行特洛伊木马化,使其隐藏攻击者留下的程序、服务等。

  第2种,内核套件。内核套件则直接控制操作系统内核,提供给攻击者一个完整的隐藏自身的工具包,著名的有knark for Linux、Linux Root Kit 及rootkit。

  第3种,安装木马后门。木马的危害性在于它对电脑系统强大的控制和破坏能力,窃取密码、控制系统操作、进行文件操作等等,一般的木马都有客户端和服务器端两个执行程序,其中客户端是用于攻击者远程控制植入木马的机器,服务器端程序即是木马程序。木马在被植入攻击主机后,它一般会通过一定的方式把入侵主机的信息,如主机的IP地址、木马植入的端口等发送给攻击者,这样攻击者有这些信息才能够与木马里应外合控制攻击主机。本文将通过网络盒子NetBox做一个木马,它可以方便的将ASP等脚本编译成为独立运行的执行程序,完全不用考虑平台兼容性要求。步骤如下:

  第1步:创建一个NetBox应用。创建一个空的目录,假设是c:\web;同时,在目录中创建一个文件,命名为main.box,其内容为:

  Dim httpd

  '------------设置在服务中运行的名称,可适当修改进行隐藏---------------------  Shell.Service.RunService "NBWeb", "NetBox Web Server", "NetBox Http Server Sample"  '---------------------- 设置服务器启动---------------------  Sub OnServiceStart()   Set httpd = CreateObject("NetBox.HttpServer")  '-------以下设置浏览端口,可修改为其他参数,或更改wwwroot目录----   If httpd.Create("", 8080) = 0 Then   Set host = httpd.AddHost("", "\wwwroot")   host.EnableScript = true   host.AddDefault "default.asp"   host.AddDefault "default.htm"   httpd.Start   else   Shell.Quit 0   end if  End Sub  Sub OnServiceStop()   httpd.Close  End Sub  Sub OnServicePause()   httpd.Stop  End Sub  Sub OnServiceResume()   httpd.Start  End Sub

  第2步:设置木马运行环境。在c:\web目录中再创建一个子目录wwwroot,并将我们所需要的ASP木马文件全部复制到wwwroot 中,这里选用的是海阳顶端ASP木马。此时,ASP运行环境应该已经准备好了。为了运行新建的NetBox 应用,必须确认8080端口没有被其他程序占用。双击main.box文件,就可以在窗口右下角看见NetBox的图标。此时,NetBox 已经正常运行了。现在,访问http://localhost:8080/测试ASP木马是否能正常运行。这种木马的好处是,不用担心有日志记录。但是现在它还远不是一个后门,只是提供了与IIS相当的功能

  第3步:编译。执行“NetBox Deployment Wizard”,点击“选择文件夹”,找到刚才建立的目录C:\web,设置文件类型和输出文件名后,点“Build...(编译)”按钮,开始编译,就得到了编译成功的那个执行文件。因为这个例程是以服务方式创建的Web 服务器,所以可以在命令行下执行:myapp -install将应用安装成为服务,这样,系统无须登录便可以自动运行应用了。如果需要卸载服务,则可以在命令行下执行如下命令:myapp –remove。(myapp代表输出的应用文件名,如本例中的test),如图5所示。

NetBox Deployment Wizard

  第4步:隐藏服务。要达到“神不知鬼不觉”的效果,首先需要把应用程序添加为服务,我们可以使用Windows提供的Instsrv.exe和Srvany.exe这两个小软件。在命令行下,先把Instsrv.exe把Srvany.exe注册为服务。格式为:INSTSRV 服务名 SRVANY的路径,如:“INSTSRV SYSTEM C:\WEB\SRVANY.EXE”。其中SYSTEM是为了便于隐藏服务名。


  第5步:添加注册表键值。注册成功后,打开注册表如下键值:[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SYSTEM]。SYSTEM是刚才我们注册的服务名,在SYSTEM下面先建立一个项PARAMETERS,然后在这个项上建立一个键值APPLICATION,填上我们要执行的文件路径如C:\web\test.exe,就可以了。

  第6步:启动服务。方法有两种,第一种是在图形界面,直接进入“管理工具”下的“服务”面板;另一种是在命令行下,启动命令为:“NET START SYSTEM”,停止命令为:“NET STOP SYSTEM”。如果要将这个服务删除,可以用如下命令:“SC DELETE SYSTEM”。

  第7步:制作并发布木马。结合批处理和脚本把这个做成自解压文件,或者其他的上传方式,比如通过后台数据库备份上传后再修改密码。

  值得注意的是,2007年木马技术发展迅猛,除了一些老牌木马,其他有特色的木马也让人头疼不已,例如管理型木马——ncph远程控制;国产木马新秀PCView 2007;五毒俱全的蜜蜂大盗;木马Erazer Lite;另类的远程控制工具JXWebSver等。这些木马隐藏技术的不断提高,也给用户带来了许多麻烦。

  通过上面的详细分类,就可以对本年度的攻击技术情况有了一个十分直观的认识。下面,我们通过典型的案例进行点评。

  四、实例分析  

  现实生活中,网络应用越来越复杂,利用浏览器、网站插件、代码等方面的漏洞进行攻击的事件也愈演愈烈,甚至被有心人士用来窃取顾客的私人信息。一般来说,漏洞的威胁类型基本上决定了它的严重性,很多公司在公布安全漏洞的危险等级时候,把严重性分成高、中、低三个级别,再提示用户根据具体的情况,要采取程度不同的防范措施。在网络攻击者的眼里,“肉鸡”意味着可以轻松占有一台或多台服务器;至于网吧,针对服务器和网吧管理软件的攻击也十分频繁,醉翁之意不在酒,当然是想免费上网了。

  针对网络服务器的攻击,也出现了许多独特的思路和新方法。如利用SA用户权限的安全隐患快速入侵网站;利用wmf远程执行漏洞(MS06-001)攻击服务器;利用Metasploit Framework体验MS06-040漏洞;利用Ability FTP Server新漏洞入侵网站;利用Windows图形渲染引擎WMF格式代码执行漏洞;利用文件后缀解析的漏洞攻击Apache服务器;百度、TOM、21CN系列搜索引擎漏洞等。

  现在,网络管理员加强了内网的安全管理。比较常见的情况是网管通常都会封杀比较常见的服务端口,导致用户不能访问某些网站,不能使用QQ等工具进行聊天、玩游戏等。另外,出于安全考虑,有些网络管理员会限制某些协议,如不能使用FTP、对下载进行限制等。一般情况下,网络攻击者可以使用普通的HTTP代理或者SOCKS代理。现在,提供socks服务的代理软件有很多,如“通通通”软件(http://www.tongtongtong.com)、Socksonline(http://www.waysonline.com/mader/download)等。软件连通后,界面如图6所示。

通讯代理

  Socksonline正常启动后,该程序就变成了本地的Socks Proxy,用户就可以通过Http Proxy或其他Proxy访问Internet了。如果要突破内网登陆QQ,可以打开QQ中的设置窗口输入参数。以QQ2007为例,在“代理设置”界面中,选择“使用SOCKS5代理服务器”。然后在代理服务器地址栏填入“localhost”,在端口栏填入“1080”或自己设置的服务端口,默认不需要用户名和密码验证。可以单击“测试”按钮,看是否连接网络。

  同样,如果要突破内网,实现自由上网,也可以使用类似方法在IE浏览器中设置SOCKS5代理服务器。如果身处学校机房或管理比较严格的单位网络,还可以通过Socksonline和e-Border软件的配合,突破内网的限制就很容易了。

  e-Border安装完成后,会弹出一个设置客户端程序的窗口,根据向导设置代理服务器名和默认的端口1080。在e-Border的代理方式中,选择Proxy only方式,表示将所有的网络连接全部截获并通过Socks代理连接。然后按下“Include list(包含列表)”按钮,在弹出的对话框中按下Add(添加)按钮,把Socksonline软件加入到列表框中。用同样的方法把平时上网需要使用Socks协议的软件都加入列表框。当然,网络攻击者也可以把一些特殊的黑客工具软件和游戏软件也添加进去。点OK关闭此对话框。如图7所示。

列表

  这样,无论是内网还是外网,攻击者都可以横行了,这也是目前很多网络管理员比较头疼的一个地方。在山东临沂银雀山出土的《孙膑兵法》上,有这样一段对话。齐威王曰:“地平卒齐,合而败北者,何也?”(翻译为:地形很好,士兵也很齐心,为什么打了败仗?)孙膑的回答是:“阵无锋也。”意即:“因为没有找到突破口。”这个典故说明了两军对垒,能否突破一点,向纵深进兵,往往是能否夺取全局性胜利的重要关键。总之,在网络安全实践中,我们也必须随时掌握最新的攻击技术发展动态,寻找防守的突破口,这样才能达到有效防范的目的。

标签: