发新话题
打印

[原创]九招突破入侵检测系统

[原创]九招突破入侵检测系统

文章作者:xyzreg[E.S.T]
信息来源:邪恶八进制 中国

注:此文已发表在《黑客防线》2004年第12期上,版权归其所有


    入侵检测系统,英文简写为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。


    第九招:综合多态编码

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


    后记:当我刚才提到“00 ASCII码”以及非标准路径分隔符“\”时,大家可能会倍感熟悉,因为这与前段时间流行的动网上传漏洞以及暴库大法有着密切联系。黑客是门艺术,黑客讲究的是灵感是思路,我们通过深入思考,旧的知识也可以创造出新的技术!
http://www.xyzreg.net

TOP

这个我看过。。原来是你写的啊。。哈哈。。我当时在写一个扫描器的时候还参考你的文章来着。。嘎嘎~~~
俺是mika!别叫错了! 俺的QQ:794773 http://hi.baidu.com/stealthwalker/ my private area ------------------------------------------------------------ <a href=http://hi.baidu.com/stealthwalker target=_blank></a>

TOP

引用:
下面是引用无敌最寂寞于2005-01-31 00:23发表的:
这个我看过。。原来是你写的啊。。哈哈。。我当时在写一个扫描器的时候还参考你的文章来着。。嘎嘎~~~
呵呵。^_^
http://www.xyzreg.net

TOP

强烈抗议楼上的 签名好长!影响偶看贴啦 坏人 打你  PP
啊 浮云啊 啊 浩淼啊 这和技术不是一个样子?

TOP

哈哈 无敌那个是超级Hacker的签名 不过 还是改短点的好 MM都说你拉丫 哈哈:)
曾几何时,有人对我说:装B遭雷劈。我说:去你妈的。于是,这个人又对我说:如果再说脏话,上帝会惩罚你的。我说:我操上帝。结论:彪悍的人生不需要上帝。

TOP

最尴尬的事情莫过于被MM打PP。。。唉。。那我改小点。。把后面一行去掉罢了。。。。
俺是mika!别叫错了! 俺的QQ:794773 http://hi.baidu.com/stealthwalker/ my private area ------------------------------------------------------------ <a href=http://hi.baidu.com/stealthwalker target=_blank></a>

TOP

晕。。。
小心引起公愤,我也忍了你好久了。。。。
要群殴要单挑随你
在我纯真年少時,有一個女生,她願意爲我失去生命,她意志堅定地說:你再纏著我,我就去死! 在我負笈外地時,有一個女生,她願意等我到下輩子,她溫柔婉約地說:你想成爲我男友?等下輩子!! 在我窮困潦倒時,有一個女生,她願意與我共赴黃泉,她眨著紅眼說:你再不還錢,我和你同歸于盡!

TOP

引用:
下面是引用haicao于2005-01-31 17:29发表的:
晕。。。
小心引起公愤,我也忍了你好久了。。。。
要群殴要单挑随你
恩 为了MM 大家决定群K无敌....你们大家上
我给你们买刀 买斧头 买锤子 送板砖 给你们敲鼓助威 然后死了谁 我给买棺材 送葬办丧事...
挖哈哈 这年头最坏的是谁呀
看来大家还是护着Ring MM的哟 不知道小妮有没有人护 如果没有 那我去拉 挖卡卡
qq310926是我唯一用号,除此之外有其他号码号自称邪八冰血封情,则非本人。

TOP

吐血ing。。。。

一个签名不至于吧。。。。单挑是吧。。。。好。。那个。。女的。。。就是你。。看什么呢。。叫什么。。ring的那个。。。出来。。我跟你单挑。。。
俺是mika!别叫错了! 俺的QQ:794773 http://hi.baidu.com/stealthwalker/ my private area ------------------------------------------------------------ <a href=http://hi.baidu.com/stealthwalker target=_blank></a>

TOP

无敌 你那个是不是 地狱黑客《骇客追击令》里的哟
qq310926是我唯一用号,除此之外有其他号码号自称邪八冰血封情,则非本人。

TOP

引用:
下面是引用无敌最寂寞于2005-01-31 17:35发表的:
吐血ing。。。。

一个签名不至于吧。。。。单挑是吧。。。。好。。那个。。女的。。。就是你。。看什么呢。。叫什么。。ring的那个。。。出来。。我跟你单挑。。。
晕 星爷的《功夫》里的台词都搬出来了....
qq310926是我唯一用号,除此之外有其他号码号自称邪八冰血封情,则非本人。

TOP

所谓单挑---无敌单挑我们一群人

所谓群殴---我们群殴无敌一个人
请加47809945   100%通过!每个月总有那么几天,您的网络会受到黑客的攻击--坐立不安,烦躁无力,使用虎虎开发的"月月舒"防火墙,超轻超薄,易于携带,提供由内到外的全方位保护,即使流量再大,也可以冲浪自如,再也不用担心侧漏啦。

TOP

呵呵,,我也看了这篇文章,,

还不知是你写的,,
原来在八进制呢
====================== 我的网站:http://www.anhacker.com 请您联系:anmeihong@sina.com ****************************** ******************************

TOP

IDS从其功能实现上来说,应该属于一个被动设备,而非主动设备

无论IDS再强,其对攻击的发现原理无怪乎是基于规则,因此,一切都应该由规则出发

因此,楼主的方法相对来说是比较“软”的,一旦规则改变,一些方法将不能使用

但是很多时候可以用一些比较硬的方法,例如,流量,流量往往才是IDS难以突破的一个瓶颈
七分身、折六翼、堕凡尘 …… 究竟谁才是万物之主?等待一个机会,一个夺回我伊甸园的机会 ……                               Lucifer forever

TOP

引用:
下面是引用python于2005-03-12 23:00发表的:
IDS从其功能实现上来说,应该属于一个被动设备,而非主动设备

无论IDS再强,其对攻击的发现原理无怪乎是基于规则,因此,一切都应该由规则出发

因此,楼主的方法相对来说是比较“软”的,一旦规则改变,一些方法将不能使用
.......
多谢PY指导 挖卡卡卡
qq310926是我唯一用号,除此之外有其他号码号自称邪八冰血封情,则非本人。

TOP

这里果然是人才济济,我要好好象你们学习,希望还来的及

TOP

发新话题