至少我们曾经在一起过。 {#hitokoto}
来自:一言
前言
cs跨平台上线相关项目挺多(这里就不做上线协议啥的分析了,网上相关文章也很多...)
目前大部分好像常用的是CrossC2,但是Crossc2没有开源,所以选择用geacon(golang编写的,还可以看懂一些)来进行二开.geacon作者很久前就不再更新,不能适配cs的profile配置文件,所以需要做一些简单的二开。
二次修改的项目:geacon
环境准备
cs4.4(下载原版再用cs-agent破解就可以了): https://github.com/k8gege/Aggressor/releases
profile配置(选了个简单的):https://github.com/BC-SECURITY/Malleable-C2-Profiles/blob/dddad4550180e92eb33275b5167249a74f9a22e0/Normal/gmail.profile
1.首先运行cs服务端,这里选择的是原版的cs4.4,然后用上方的profile文件作为profile配置启动teamserver
2.客户端也正常运行没问题.任意新建一个http或者https监听器,看你需求。
跨平台上线
1.根据geacon官方说明中,需要先对.cobaltstrike.beacon_keys(文件会在cs服务端生成,相关原理可以在先知看cs逆向分析系列文章)进行解密获取到加密的key。解密工具:https://github.com/darkr4y/geacon/tree/master/tools/BeaconTool
2.将相关的key放入的geacon的config.go文件中.
3.接下来就开始根据profile配置文件来修改相关代码.(只看profile里的http-get和http-post部分的配置即可)
配置Get的header和burp代理(方便查看调试)
配置Post请求相关信息
4.尝试运行.
(mac成功上线)
(命令执行正常)
(文件管理正常)
通信流量
获取需要执行的命令
再把命令结果post到服务端
可以发现已经适配了的profile文件.
成品代码
相关代码已打包:https://github.com/TryHello/edit-gencon
下一篇教大家如何给cs新加自定义命令
注意:如果不会自己适配profile文件的话,请用我git里提供的profile文件启动cs!还有解密key的jar文件已经编译好放上去了,直接使用就行.