入侵檢測(cè)系統(tǒng),英文簡寫為IDS,顧名思義,它是用來實(shí)時(shí)檢測(cè)攻擊行為以及報(bào)告攻擊的。如果把防火墻比作守衛(wèi)網(wǎng)絡(luò)大門的門衛(wèi)的話,那么入侵檢測(cè)系統(tǒng)(IDS)就是可以主動(dòng)尋找罪犯的巡警。 因而尋求突破IDS的技術(shù)對(duì)漏洞掃描、腳本注入、URL攻擊等有著非凡的意義,同時(shí)也是為了使IDS進(jìn)一步趨向完善。 Snort是很多人都在用的一個(gè)IDS了,其實(shí)它也并不是萬能的,筆者下面就來談?wù)勍黄浦T如Snort這類基于網(wǎng)絡(luò)的IDS的方法:多態(tài)URL技術(shù)。 提起多態(tài)二字,大家可能會(huì)聯(lián)想到編寫病毒技術(shù)中的“多態(tài)”、“變形”等加密技術(shù),其實(shí)我這里所要講的URL多態(tài)編碼技術(shù)和病毒的多態(tài)變形技術(shù)也有神似之處,就是用不同的表現(xiàn)形式來實(shí)現(xiàn)相同的目的。 對(duì)于同一個(gè)URL,我們可以用不同形式的編碼來表示。IDS在實(shí)時(shí)檢測(cè)時(shí),將它檢測(cè)到的數(shù)據(jù)與其本身規(guī)則集文件中規(guī)定為具有攻擊意圖的字符串進(jìn)行對(duì)比,如果相匹配的話,則說明系統(tǒng)正在受攻擊,從而阻止攻擊以及發(fā)出警報(bào)。因?yàn)閷?shí)現(xiàn)同一目的的URL可以用不同的形式來表示,所以經(jīng)過變形編碼后的URL可能就不在IDS的規(guī)則集文件中,也就擾亂了IDS的識(shí)別標(biāo)志分析引擎,從而就實(shí)現(xiàn)了突破、繞過IDS的效果! 多態(tài)URL編碼技術(shù)有許多種,筆者在此介紹9種常用且有一定代表性的方法。為了便于講解,這里以提交地址為/msadc/ msadcs.dll的URL來作為例。“/msadc/msadcs.dll”已經(jīng)被收集到snort等各大IDS的規(guī)則集文件中,因而當(dāng)我們向目標(biāo)機(jī)器直接提交/msadc/ msadcs.dll時(shí)都會(huì)被IDS截獲并報(bào)警。 第一招:“/./” 字符串插入法 鑒于“./”的特殊作用,我們可以把它插入進(jìn)URL中來實(shí)現(xiàn)URL的變形。比如對(duì)于/msadc/msadcs.dll,我們可以將它改寫為/././msadc/././msadcs.dll、/./msadc/.//./msadcs.dll等形式來擾亂了IDS的識(shí)別標(biāo)志分析引擎,實(shí)現(xiàn)了欺騙IDS的目的。而且改寫后編碼后的URL與未修改時(shí)在訪問效果上是等效的。筆者曾經(jīng)通過實(shí)驗(yàn)表明這種方法可以繞過Snort等IDS。 第二招:“00 ” ASCII碼 前段時(shí)間動(dòng)網(wǎng)上傳漏洞就是利用的這一特性,大家肯定對(duì)此很熟悉了。它的原理就是計(jì)算機(jī)處理字符串時(shí)在ASCII碼為00處自動(dòng)截?cái)唷N覀兙涂梢园?msadc/msadcs.dll改寫為/msadc/msadcs.dll Iloveheikefangxian,用Winhex將.dll與Ilove之間的空格換為00的ASCII碼,保存后再用NC配合管道符提交。這樣在有些IDS看來/msadc/msadcs.dll Iloveheikefangxian并不與它的規(guī)則集文件中規(guī)定為具有攻擊意圖的字符串相同,從而它就會(huì)對(duì)攻擊者的行為無動(dòng)于衷。瞧!“計(jì)算機(jī)處理字符串時(shí)在ASCII碼為00處自動(dòng)截?cái)唷边@一原理的應(yīng)用多么廣泛啊!從哲學(xué)上講,事物之間相互存在著聯(lián)系,我們應(yīng)該多思考,挖掘出內(nèi)在規(guī)律,這樣就會(huì)有新的發(fā)現(xiàn)。 第三招:使用路徑分隔符“\” 對(duì)于像微軟的IIS這類Web服務(wù)器,“\“也可以當(dāng)“/”一樣作為路徑分隔符。有些IDS在設(shè)置規(guī)則集文件時(shí)并沒有考慮到非標(biāo)準(zhǔn)路徑分隔符“\”。如果我們把/msadc/msadcs.dll改寫為\msadc\ msadcs.dll就可以逃過snort的法眼了,因?yàn)閟nort的規(guī)則集文件里沒有\(zhòng)msadc\ msadcs.dll這一識(shí)別標(biāo)志。值得一提的是路徑分隔符“\”還有個(gè)妙用,就是前段時(shí)間《黑客防線》上提到的“%5c”暴庫大法,“%5c”就是“\”的16進(jìn)制表現(xiàn)形式。 第四招:十六進(jìn)制編碼 對(duì)于一個(gè)字符,我們可以用轉(zhuǎn)義符號(hào)“%” 加上其十六進(jìn)制的ASCII碼來表示。比如/msadc/msadcs.dll中第一個(gè)字符“/”可以表示為%2F,接下來的字符可以用它們對(duì)應(yīng)的16 進(jìn)制的ASCII碼結(jié)合“%”來表示,經(jīng)過此法編碼后的URL就不再是原先的模樣了,IDS的規(guī)則集文件里可能沒有編碼后的字符串,從而就可以繞過IDS。但是這種方法對(duì)采用了HTTP預(yù)處理技術(shù)的IDS是無效的。 第五招.非法Unicode編碼 UTF-8編碼允許字符集包含多余256個(gè)字符,因此也就允許編碼位數(shù)多于8位。“/”字符的十六進(jìn)制的ASCII碼是2F,用二進(jìn)制數(shù)表示就是00101111。UTF-8格式中表示2F的標(biāo)準(zhǔn)方法仍然是2F,但是也可以使用多字節(jié)UTF-8來表示2F。字符“/”可以像下表中所示使用單字節(jié)、雙字節(jié)、三字節(jié)的UTF-8編碼來表示: “/”字符表示方式 二進(jìn)制 十六進(jìn)制 單字節(jié) 0xxxxxxx 00101111 2F 雙字節(jié) 110xxxxx 10xxxxxx 11000000 10101111 C0 AF 三字節(jié) 1110xxxx 10xxxxxx 10xxxxxx 11100000 10000000 10101111 E0 80 AF 按照此方法,我們可以對(duì)整個(gè)字符串都進(jìn)行相應(yīng)的編碼。雖然編碼后的URL的最終指向的資源都相同,但它們的表達(dá)方式不同, IDS的規(guī)則集文件中就可能不存在此過濾字符串,從而就實(shí)現(xiàn)了突破IDS的目的。 第六招: 多余編碼法 多余編碼又稱雙解碼。還記的2000-2001年IIS的Unicode解碼漏洞和雙解碼漏洞鬧得沸沸揚(yáng)揚(yáng),那時(shí)有許多朋友稀里糊涂的以為Unicode解碼漏洞就是雙解碼漏洞,其實(shí)它們兩者是兩回事,前者的原理筆者已在上述的“非法Unicode編碼”中有所描述。而多余編碼就是指對(duì)字符進(jìn)行多次編碼。比如“/”字符可以用%2f表示,“%2f”中的“%”、“2”、“f”字符又都可以分別用它的ASCII碼的十六進(jìn)制來表示,根據(jù)數(shù)學(xué)上的排列組合的知識(shí)可知,其編碼的形式有2的3次方,于是“%2f”可以改寫為:“%25%32%66”、“%252f”等等來實(shí)現(xiàn)URL的多態(tài),編碼后的字符串可能沒被收集在IDS的規(guī)則集文件中,從而可以騙過有些IDS。 第七招.加入虛假路徑 在URL中加入“../”字符串后,在該字符串后的目錄就沒有了意義,作廢了。因此利用“../”字符串可以達(dá)到擾亂了識(shí)別標(biāo)志分析引擎、突破IDS的效果! 第八招:插入多斜線 我們可以使用多個(gè) “/”來代替單個(gè)的“/”。替代后的URL仍然能像原先一樣工作。比如對(duì)/msadc/msadcs.dll的請(qǐng)求可以改為////msadc////msadcs.dll,經(jīng)筆者曾經(jīng)實(shí)驗(yàn),這種方法可以繞過某些IDS。 第九招:綜合多態(tài)編碼 聰明的你一看這個(gè)小標(biāo)題就知道了,所謂綜合,就是把以上介紹的幾種多態(tài)變形編碼技術(shù)結(jié)合起來使用,這樣的話效果會(huì)更好,希望本文所述對(duì)大家學(xué)習(xí)。 |
免責(zé)聲明:本站部分文章和圖片均來自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識(shí),文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系我們及時(shí)修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長轉(zhuǎn)型升級(jí),為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營銷服務(wù),與站長一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨(dú)!
掃一掃,關(guān)注站長網(wǎng)微信