前言

CrossC2面向企业自身及红队人员的安全评估框架,支持CobaltStrike对其他平台(Linux/MacOS/…)的安全评估,支持自定义模块,及包含一些常用的渗透模块。

使用

直接下载https://github.com/gloxec/CrossC2/releases 中的最新版即可,导入CNA后即可使用

4.0需要下载4.0分支

4.1需要下载4.1分支

image-20201123200819841

image-20201123200840431

image-20201123201016619

踩坑

由于本机是win10,会出现以下2个问题:

1、丢失ucrtbased.dll问题

在直接运行genCrossC2.Win.exe时会报错,丢失丢失ucrtbased.dll

image-20201123201249883

解决方案:安装VS2017或VS2019即可解决,文章后面会提供32位的dll下载,下载后移入C:\Windows\System32即可使用

2、windows下无法通过CNA中生成Linux beacon

这个坑浪费了一下午去解决,直接丢解决过程

定位问题

cna插件中的第3、4行需要替换为相应的路径

image-20201123201504444

第115行的 $dialog = dialog("CrossC2 Payload Generator", %(uri => "/a", lport => "55413", beaconKey => "./.cobaltstrike.beacon_keys", rebind_lib => "null", listener => "Listener: ", system => "System: ", arch => "Arch: ", payload_type => "Payload_Type: ", outputFileName => "/tmp/CrossC2-test"), &dialogCallBack); 需要修改,Windows中不存在/tmp目录,这里直接改为$dialog = dialog("CrossC2 Payload Generator", %(uri => "/a", lport => "55413", beaconKey => "./.cobaltstrike.beacon_keys", rebind_lib => "null", listener => "Listener: ", system => "System: ", arch => "Arch: ", payload_type => "Payload_Type: ", outputFileName => "CrossC2-test"), &dialogCallBack);,删掉/tmp/,直接生成在CS根目录下

第29行的getSystemInfo 函数,由于Windows中不存在/usr/bin/uname文件,删掉该函数,同时删掉checkSpace函数并全局搜索调用该函数的变量,一并删除。(不知道作者为什么要这么写。。。)

第89行elog("genCrossC2 beacon -> ".$data[13]);更改为elog("genCrossC2 beacon -> ".$data[12]);,获取生成的大小

最终成果

image-20201123202220724

一键上线

image-20201123203133807

Ucrtbased.dll

ucrtbased.dll