九种突破IDS入侵检测系统的实用方法

所属分类: 网络安全 / 黑客入侵 阅读数: 164
收藏 0 赞 0 分享

入侵检测系统,英文简写为IDS,顾名思义,它是用来实时检测攻击行为以及报告攻击的。如果把防火墙比作守卫网络大门的门卫的话,那么入侵检测系统(IDS)就是可以主动寻找罪犯的巡警。 因而寻求突破IDS的技术对漏洞扫描、脚本注入、URL攻击等有着非凡的意义,同时也是为了使IDS进一步趋向完善。

Snort是很多人都在用的一个IDS了,其实它也并不是万能的,笔者下面就来谈谈突破诸如Snort这类基于网络的IDS的方法:多态URL技术。

提起多态二字,大家可能会联想到编写病毒技术中的“多态”、“变形”等加密技术,其实我这里所要讲的URL多态编码技术和病毒的多态变形技术也有神似之处,就是用不同的表现形式来实现相同的目的。

对于同一个URL,我们可以用不同形式的编码来表示。IDS在实时检测时,将它检测到的数据与其本身规则集文件中规定为具有攻击意图的字符串进行对比,如果相匹配的话,则说明系统正在受攻击,从而阻止攻击以及发出警报。因为实现同一目的的URL可以用不同的形式来表示,所以经过变形编码后的URL可能就不在IDS的规则集文件中,也就扰乱了IDS的识别标志分析引擎,从而就实现了突破、绕过IDS的效果!

多态URL编码技术有许多种,笔者在此介绍9种常用且有一定代表性的方法。为了便于讲解,这里以提交地址为/msadc/ msadcs.dll的URL来作为例。“/msadc/msadcs.dll”已经被收集到snort等各大IDS的规则集文件中,因而当我们向目标机器直接提交/msadc/ msadcs.dll时都会被IDS截获并报警。

第一招:“/./” 字符串插入法

鉴于“./”的特殊作用,我们可以把它插入进URL中来实现URL的变形。比如对于/msadc/msadcs.dll,我们可以将它改写为/././msadc/././msadcs.dll、/./msadc/.//./msadcs.dll等形式来扰乱了IDS的识别标志分析引擎,实现了欺骗IDS的目的。而且改写后编码后的URL与未修改时在访问效果上是等效的。笔者曾经通过实验表明这种方法可以绕过Snort等IDS。

第二招:“00 ” ASCII码

前段时间动网上传漏洞就是利用的这一特性,大家肯定对此很熟悉了。它的原理就是计算机处理字符串时在ASCII码为00处自动截断。我们就可以把/msadc/msadcs.dll改写为/msadc/msadcs.dll Iloveheikefangxian,用Winhex将.dll与Ilove之间的空格换为00的ASCII码,保存后再用NC配合管道符提交。这样在有些IDS看来/msadc/msadcs.dll Iloveheikefangxian并不与它的规则集文件中规定为具有攻击意图的字符串相同,从而它就会对攻击者的行为无动于衷。瞧!“计算机处理字符串时在ASCII码为00处自动截断”这一原理的应用多么广泛啊!从哲学上讲,事物之间相互存在着联系,我们应该多思考,挖掘出内在规律,这样就会有新的发现。

第三招:使用路径分隔符“\”

对于像微软的IIS这类Web服务器,“\“也可以当“/”一样作为路径分隔符。有些IDS在设置规则集文件时并没有考虑到非标准路径分隔符“\”。如果我们把/msadc/msadcs.dll改写为\msadc\ msadcs.dll就可以逃过snort的法眼了,因为snort的规则集文件里没有\msadc\ msadcs.dll这一识别标志。值得一提的是路径分隔符“\”还有个妙用,就是前段时间《黑客防线》上提到的“%5c”暴库大法,“%5c”就是“\”的16进制表现形式。

第四招:十六进制编码

对于一个字符,我们可以用转义符号“%” 加上其十六进制的ASCII码来表示。比如/msadc/msadcs.dll中第一个字符“/”可以表示为%2F,接下来的字符可以用它们对应的16 进制的ASCII码结合“%”来表示,经过此法编码后的URL就不再是原先的模样了,IDS的规则集文件里可能没有编码后的字符串,从而就可以绕过IDS。但是这种方法对采用了HTTP预处理技术的IDS是无效的。

第五招.非法Unicode编码

UTF-8编码允许字符集包含多余256个字符,因此也就允许编码位数多于8位。“/”字符的十六进制的ASCII码是2F,用二进制数表示就是00101111。UTF-8格式中表示2F的标准方法仍然是2F,但是也可以使用多字节UTF-8来表示2F。字符“/”可以像下表中所示使用单字节、双字节、三字节的UTF-8编码来表示:

“/”字符表示方式 二进制 十六进制

单字节 0xxxxxxx 00101111 2F

双字节 110xxxxx 10xxxxxx 11000000 10101111 C0 AF

三字节 1110xxxx 10xxxxxx 10xxxxxx 11100000 10000000 10101111 E0 80 AF

按照此方法,我们可以对整个字符串都进行相应的编码。虽然编码后的URL的最终指向的资源都相同,但它们的表达方式不同, IDS的规则集文件中就可能不存在此过滤字符串,从而就实现了突破IDS的目的。

第六招: 多余编码法

多余编码又称双解码。还记的2000-2001年IIS的Unicode解码漏洞和双解码漏洞闹得沸沸扬扬,那时有许多朋友稀里糊涂的以为Unicode解码漏洞就是双解码漏洞,其实它们两者是两回事,前者的原理笔者已在上述的“非法Unicode编码”中有所描述。而多余编码就是指对字符进行多次编码。比如“/”字符可以用%2f表示,“%2f”中的“%”、“2”、“f”字符又都可以分别用它的ASCII码的十六进制来表示,根据数学上的排列组合的知识可知,其编码的形式有2的3次方,于是“%2f”可以改写为:“%25%32%66”、“%252f”等等来实现URL的多态,编码后的字符串可能没被收集在IDS的规则集文件中,从而可以骗过有些IDS。

第七招.加入虚假路径

在URL中加入“../”字符串后,在该字符串后的目录就没有了意义,作废了。因此利用“../”字符串可以达到扰乱了识别标志分析引擎、突破IDS的效果!

第八招:插入多斜线

我们可以使用多个 “/”来代替单个的“/”。替代后的URL仍然能像原先一样工作。比如对/msadc/msadcs.dll的请求可以改为////msadc////msadcs.dll,经笔者曾经实验,这种方法可以绕过某些IDS。

第九招:综合多态编码

聪明的你一看这个小标题就知道了,所谓综合,就是把以上介绍的几种多态变形编码技术结合起来使用,这样的话效果会更好,希望本文所述对大家学习。

更多精彩内容其他人还在看

XSS Phishing - 新式跨站脚本攻击方式(图)

最近跨站脚本漏洞好像比较火,国内的一些比较出名的WEB程序都陆续暴出了跨站脚本漏洞,但是一提到跨站脚本漏洞的攻击方式大家都哑火了,因为在常规的概念中这种漏洞最多是挂网页木马,获取COOKIE之类,属于典型的鸡肋漏洞! 跨站脚本攻击最大的魅力是通过HTML注
收藏 0 赞 0 分享

PHP数据库安全之SQL注入

$offset = $argv[0]; // 注意,没有输入验证!   $query = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;";   $resu
收藏 0 赞 0 分享

传世木马盗号过程分析

玩传世已经有一段时间了,以前对木马盗号之类的事情总是听的很多,但是从来没有碰到过,自从玩了传世开始,让小弟我着实领教了一次什么叫木马盗号,那个厉害阿。以至于现在上网都怕怕,怕中招。好废话不说,来分析一下木马盗号的原理(如果有那位大侠认为不够准确或是原理有所出入
收藏 0 赞 0 分享

浅析*NIX机器的入侵

目前来说*NIX机器早已经成为INTERNRT的主流服务器操作系统了,UNIX系列系统的优势相WINDOWS比较而言优势也是显而易见的。 而与之接口的脚本目前来说是以PHP MYSQL为主。当然也不乏大公司用JSP和CGI和PL,不过CGI和PL的处理相对比较困难一点,容易造
收藏 0 赞 0 分享

一次透过SNIFF有目的性的入侵

一次透过SNIFF有目的性的入侵 所用武器:流光,SUPERSCAN3,HDOOR,NETCAT,3389客户端,X-SNIFF 宿舍装了ADSL,我疯狂地在网上看电影和在QQ里泡MM(也可能是恐龙吧 :( )。网络入侵和安全方面的学习已经荒废了好一段时间
收藏 0 赞 0 分享

渗透日本服务器群

因为这一局,渗透获取整个服务器群的权限,N台服务器。所以写篇文章小小虚荣下。^0^ 开局: 入手点是一个注射点:sa,内网, 轻车熟路写个vbs脚本,下好lcx,转发端口。 以下是引用片段: down.vbs iLocal = LCase(WScript.Ar
收藏 0 赞 0 分享

黑客入侵“在线影院”全过程2

遇阻:寻找VOD电影   首先运行Windows XP自带远程登录器mstsc.exe,填入对方的IP地址218.147.*.*,确定后在登录界面填上我刚创建的用户名hacker和密码12345,顺利地进入了对方的Windows 2000桌面。   可随后
收藏 0 赞 0 分享

黑客入侵“在线影院”全过程1

最近对网上看电影比较感兴趣,于是登录至某“在线影院”。本以为是免费,谁知问我要账号和密码,我可不想为这个掏钱。怎么办?先探探路
收藏 0 赞 0 分享

入侵藏在防火墙后面的机子

事情是这样的: 遭遇一台湾的dns服务器,win2003 server 扫描器报告的开放端口:21,53,80 ok,弄到一个sa权限的注射点,很爽得拿到一个webshell,透过sqlrootkit,俺就是system权限了.本以为对方菜到家了.谁知故事才刚刚开始.
收藏 0 赞 0 分享

看清黑客穿透ADSL路由入侵内网

也许看烂了网上已有的常规黑客攻击手段,对一些陈旧的入侵手法早已厌烦,近来我对ADSL MODEM的路由功能产生了浓厚的兴趣,经过一番努力,我终于找到了穿透ADSL路由入侵内网的方法,在这里和各位一起分享我的心得。 一.扫描 现在很多ADSL MODEM都是通过80、2
收藏 0 赞 0 分享
查看更多