GoExec – Windows 远程执行多功能工具

GoExec – Windows 远程执行多功能工具

20250501092117421-image

GoExec 是一种针对在 Windows 设备上实现远程执行的新方法。它实现了许多尚未广泛应用的执行方式,并在整体上提供了显著的操作安全(OPSEC)改进。​https://github.com/FalconOpsLLC/goexec

安装

使用 Go 构建和安装

要从源代码构建此项目,您需要 Go 版本 1.23 或更高版本,以及 64 位目标架构。有关管理 Go 安装的更多信息,请参阅 Go 官方文档。​

bash复制编辑# 安装 goexec
go install -ldflags="-s -w" github.com/FalconOpsLLC/goexec@latest

手动安装

对于预发布功能,请获取最新提交并手动构建。​

bash复制编辑# (Linux)从源代码手动安装 GoExec
# 获取源代码
git clone https://github.com/FalconOpsLLC/goexec
cd goexec

# 构建 goexec(Go >= 1.23)
CGO_ENABLED=0 go build -ldflags="-s -w"

# (可选)将 goexec 安装到 /usr/local/bin/goexec
sudo install ./goexec /usr/local/bin

使用 Docker 安装

我们提供了一个 Dockerfile,用于在 Docker 容器中构建和运行 GoExec。​

bash复制编辑# (Linux)安装 GoExec Docker 镜像
# 获取源代码
git clone https://github.com/FalconOpsLLC/goexec
cd goexec

# 构建 goexec 镜像
docker build . --tag goexec --network host

# 通过 Docker 容器运行 goexec
alias goexec='docker run -it --rm --name goexec goexec'
goexec -h # 显示帮助菜单

从发布版本安装

您也可以下载适用于 64 位 Windows、macOS 或 Linux 的最新发布版本。​

使用方法

GoExec 由用于每个远程服务的模块组成(例如 wmiscmr 等),以及每个模块中的特定方法(例如 wmi procscmr change 等)。​

bash复制编辑用法:
  goexec [命令] [选项]

执行命令:
  dcom        使用分布式组件对象模型(MS-DCOM)执行
  wmi         使用 Windows 管理规范(MS-WMI)执行
  scmr        使用服务控制管理器远程(MS-SCMR)执行
  tsch        使用 Windows 任务计划程序(MS-TSCH)执行

附加命令:
  help        关于任何命令的帮助
  completion  为指定的 shell 生成自动补全脚本

日志记录:
  -D, --debug           启用调试日志记录
  -O, --log-file 文件   将 JSON 日志输出写入文件
  -j, --json            以 JSON 行格式写入日志输出
  -q, --quiet           禁用信息日志记录

身份验证:
  -u, --user 用户@域      用户名('user@domain'、'domain\user'、'domain/user' 或 'user')
  -p, --password 字符串   密码
  -H, --nt-hash 哈希      NT 哈希('NT'、':NT' 或 'LM:NT')
      --aes-key 十六进制键   Kerberos AES 十六进制密钥
      --pfx 文件             客户端证书和私钥作为 PFX 文件
      --pfx-password 字符串  PFX 文件的密码
      --ccache 文件          Kerberos CCache 文件名(默认为 $KRB5CCNAME,目前未设置)
      --dc 字符串            域控制器
  -k, --kerberos          使用 Kerberos 身份验证

使用 "goexec [命令] --help" 获取有关某个命令的更多信息。

获取远程进程输出

尽管由于操作安全考虑,不建议在实时参与或受监控的环境中使用,但我们包含了通过 SMB 文件传输获取程序输出的可选功能,使用 -o 选项。使用此选项将使用 cmd.exe /c ... > \Windows\Temp\RANDOM 包装提供的命令,其中 RANDOM 是一个随机的 GUID,然后通过 SMB 文件传输获取输出文件。​

WMI 模块(wmi

wmi 模块使用远程 Windows 管理规范(WMI)来生成进程(wmi proc),或手动调用方法(wmi call)。​

bash复制编辑用法:
  goexec wmi [命令] [选项]

可用命令:
  proc        启动 Windows 进程
  call        执行指定的 WMI 方法

网络:
  -x, --proxy URI           代理 URI
  -F, --epm-filter 字符串   用于过滤 RPC 端点映射器(EPM)返回的端点的字符串绑定
      --endpoint 字符串     显式 RPC 端点定义
      --no-epm              不使用 EPM 自动检测 RPC 端点
      --no-sign             禁用 DCERPC 消息签名
      --no-seal             禁用 DCERPC 消息的加密

进程创建方法(wmi proc

proc 方法创建 Win32_Process WMI 类的实例,然后调用 Create 方法以使用提供的参数生成进程。​

bash复制编辑用法:
  goexec wmi proc [目标] [选项]

执行:
  -e, --exec 字符串         要调用的远程 Windows 可执行文件
  -a, --args 字符串         进程命令行参数
  -c, --command 字符串      Windows 进程命令行(可执行文件和参数)
  -o, --out 字符串          将执行输出获取到文件或 "-" 表示标准输出
  -m, --out-method 字符串   获取执行输出的方法(默认 "smb")
      --no-delete-out       保留远程文件系统上的输出文件
  -d, --directory 字符串    工作目录(默认 "C:\")

示例

bash复制编辑# 运行一个不带参数的可执行文件
./goexec wmi proc "$target" \
  -u "$auth_user" \
  -p "$auth_pass" \
  -e 'C:\Windows\Temp\Beacon.exe'

# 使用 NT 哈希进行身份验证,从 `cmd.exe /c whoami /all` 获取输出
./goexec wmi proc "$target" \
  -u "$auth_user" \
  -H "$auth_nt" \
  -e 'cmd.exe' \
  -a '/C whoami /all' \
  -o- # 将输出获取到标准输出

(辅助)调用方法(wmi call

call 方法使操作员可以完全控制 WMI 方法调用。您可以使用 PowerShell 的 Get-CimClass 列出 Windows 上的可用类和方法。​

bash复制编辑用法:
  goexec wmi call [目标] [选项]

WMI:
  -n, --namespace 字符串   WMI 命名空间(默认 "//./root/cimv2")
  -C, --class 字符串       要实例化的 WMI 类(例如 "Win32_Process")
  -m, --method 字符串      要调用的 WMI 方法(例如 "Create")
  -A, --args 字符串        WMI 方法参数,以 JSON 字典格式表示(例如 {"Command":"calc.exe"})(默认 "{}")

示例

bash复制编辑# 调用 StdRegProv.EnumKey - 枚举 HKLM\SYSTEM 的注册表子项
./goexec wmi call "$target" \
    -u "$auth_user" \
    -p "$auth_pass" \
    -C 'StdRegProv' \
    -m 'EnumKey' \
    -A '{"sSubKeyName":"SYSTEM"}'

工具下载地址:

https://github.com/FalconOpsLLC/goexec

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容