适用于 Havoc 框架的第三方 Gopher 刺客
就像电子游戏一样 :D
这是用 Golang 为 Havoc C2 编写的第三方 agent,主要作为一个学习项目来写,但我相信它仍然有用。
等这篇文章发布时,你可以在我的博客上了解更多关于这是什么以及为什么这么做的内容:这里
欢迎贡献! 我不打算更新得太频繁,但如果我做得开心,未来可能会加更多东西。
| Command | Description | Example |
|---|---|---|
checkin | 返回基本系统信息 | checkin |
shell | 运行命令(通过 Go 的 os/exec 执行) | shell netstat -ano |
kill | 按 PID 杀死进程 | kill 31337 |
ls | 列出指定目录中的文件 | ls C:\Users\Administrator\Desktop |
ps | 列出当前正在运行的进程 | ps |
upload | 将文件上传到远程路径 | upload /opt/chisel.exe C:\Windows\Temp\Bruh.exe |
download | 将远程文件下载到 loot 文件夹 | download C:\passwords.txt pwd.txt |
portscan | 对单个目标执行 TCP 端口扫描。 | portscan common 192.168.13.37 4 |
shellcode | 使用 CreateThread 将 shellcode 加载到植入体进程中 | shellcode 9090ccc3 |
execute-assembly | 在内存中运行 .NET 程序集 | execute-assembly /opt/tools/Seatbelt.exe -group=user -q |
o7 | Gopher 死了 :( | o7 |
一旦你的 teamserver 启动,只需运行以下命令即可:
python handler.py./gopher47你可以使用 Havoc GUI 编译它,或者随意修改源代码并摆弄 Makefile,其实代码量并不大。
我只是想做出一个实际的 Golang 项目,以便可以指给别人看。而且,Golang 非常适合交叉编译,拥有良好的开发生态,并且比 C/C++ 更容易编写。
不知道,但成熟点。自己混淆和定制,别像个宝宝。
Golang 和 Rust 等其他语言一样,采用静态编译,这意味着运行可执行文件所需的所有库都被打包进二进制文件中,体积自然会变大。如果你想减小体积,我不会默认去做,但可以看看这个链接获取一些技巧。更新:我添加了一个选项可以做部分优化,但我相信你还能做更多定制 :/
这个问题问得不好,如果你读过代码,就会发现很多不理想的地方。如果你真的关心 OPSEC,你现在早就该开始读代码并修复需要修复的地方了。
目前来说,不太行。当前的 Havoc API 只允许一个 handler 对应一个 agent,而且也没有一种干净利落的方法让多个同时在线。重构正在进行中,但就目前而言,只能有一个 Gopher47。
没有。截至 Havoc 0.4 版本,除非直接泄露密钥,否则没有办法进行安全密钥交换。一旦在 havoc-py 接口中重构该系统,我就会实现它。因此这不具备 OPSEC 安全性 请不要犯傻在真实行动中使用它,CTF/实验室倒是可以
HTTPS 会提供加密,但使用风险自负。
我在凌晨 1:00 用 Photoshop 给 Golang 的 Gopher 手里 P 了一把枪。
任何与攻击性安全相关的研究工具,只要以开源形式发布,就不可能完全避免落入坏人之手。该工具仅限用于合法、道德的目的,包括但不限于研究、安全评估和教育。
TL;DR:请保持合法,大家。