Commander:一款功能强大的命令与控制C2服务器框架

007bug2023-12-18 18:07:28

关于Commander

Commander是一款功能强大的命令与控制C2服务器框架,在该工具的帮助下,广大红队和蓝队研究人员可以轻松部署自己的C2组件。该工具基于Python开发、Flask和SQLite开发,并提供了Python和C版本的代理。

当前Commander仍处于积极开发状态,欢迎社区中的广大研究人员提供宝贵意见或贡献自己的代码。

功能介绍

1、完全加密的通信数据(TLS);
2、多代理支持;
3、代码混淆;
4、交互式会话;
5、支持自定义功能扩展;
6、Base64数据编码;
7、RESTful API;

代理

Python3版本

Python版本的代理支持以下功能:

1、会话支持:支持在管理端和代理之间建立交互式Shell(类似SSH);
2、混淆处理;
3、支持Windows和Linux操作系统;
4、提供文件下载/上传功能;

C版本

C语言版本的代理支持以下功能:

1、仅支持基础功能,即控制代理执行的任务;
2、仅支持Linux操作系统;

工具流程图

常规执行流程图

代理重新注册流程图

工具要求

由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python >= 3.6环境。接下来,我们还需要使用下列命令安装该工具所需的其他依赖组件:

apt install libcurl4-openssl-dev libb64-dev

apt install openssl

pip3 install -r requirements.txt

工具下载

在配置好工具运行环境和依赖组件之后,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/voukatas/Commander.git

工具使用

首先,我们需要创建工具需要的证书和密钥(如果你需要使用密码保护你的密钥安全,请不要使用-nodes选项):

openssl req -x509 -newkey rsa:4096 -keyout server.key -out server.crt -days 365 -nodes

先启动admin.py模块来创建一个本地SQLite数据库文件:

python3 admin.py

然后再运行服务器模块:

python3 c2_server.py

最后运行代理模块:

# python 代理

python3 agent.py

 

# C 代理

gcc agent.c -o agent -lcurl -lb64

./agent

默认配置下,代理和服务器都会在TLS和Base64的上下文中运行,通信端设置为了127.0.0.1:5000,如需修改这个地址,编辑代理源代码文件即可。

工具运行演示

请先配置admin.py文件来搭建你的环境,然后运行c2_server.py和代理,运行完成后即可使用下列命令查看所有可用的代理:

show agent all

控制所有代理运行“id”命令:

task add all c2-shell id

查看“id”命令运行结果:

show result all

检查指定代理的运行结果:

show result 85913eb1245d40eb96cf53eaf0b1e241

修改代理检查任务的时间间隔为30秒:

task add all c2-sleep 30

启用服务器接收传入的连接:

sessions server start 5555

使用指定会话向目标代理添加任务:

task add your_prefered_agent_uuid_here c2-session 5555

显示所有可用的连接:

sessions list

下载密码文件:

download /etc/passwd

上传一个test.txt文件到代理所在目录:

upload test.txt

运行主CLI程序:

go back

检查服务器是否正在运行:

sessions server status

停止会话服务器运行:

sessions server stop

混淆处理

Python代理支持使用基本的AES ECB加密和Base64编码来进行混淆处理。

编辑obfuscator.py文件并将“key”值修改为一个16字符长度的密钥以创建一个自定义Payload,新代理输出的内容可以在“Agents/obs_agent.py”下找到:

python3 obfuscator.py

然后按运行代理的方法运行下列脚本即可:

python3 obs_agent.py

工具运行截图

项目地址

Commander:https://github.com/voukatas/Commander

python3运行命令
本作品采用《CC 协议》,转载必须注明作者和本文链接
Whapa是一款功能强大的WhatsApp消息解析和取证工具,该工具提供了友好的图形化界面,该工具可以帮助广大研究人员分析Android和iOS设备上WhatsApp的通信数据。该工具的所有组件都采用了Python 3.8开发,并在Linux、Windows和macOS操作系统上进行过完整测试。
前言本篇介绍几款优秀的Windows上的密码抓取工具,每个工具都有自己的特点非常实用,欢迎补充。
云函数简介 云函数是腾讯云为企业和开发者们提供的无服务器执行环境,可以无需购买和管理服务器的情况下运行代码。只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。SCF是实时文件处理和数据处理等场景下理想的计算平台。服务端配置云函数基础配置选择自定义创建,地域自选,部署模式,代码部署,运行环境Python3.6,其余默认即可。
WebSecProbe是一款功能强大的Web应用程序网络安全评估工具,该工具专为网络安全爱好者、渗透测试人员和系统管理员设计,可以执行精确而深入的复杂网络安全评估。
hoaxshell是一款功能强大的非传统Windows反向Shell,当前版本的Microsoft Defender和部分反病毒解决方案基本无法检测到hoaxshell的存在。该工具易于使用,不仅可以生成其自己的PowerShell Payload,而且还可以支持加密,可以帮助广大研究人员测试Windows系统的安全性。
前言昨天晚上朋友圈算是过了年了,一个log4j大伙都忙了起来,看着朋友圈好久没这么热闹了。Apache 的这
上述操作均在gitlab默认配置情况下,若漏洞利用无法复现可留言,一起讨论研究。
构建内网隐蔽通道,从而突破各种安全策略限制,实现对目标服务器的完美控制。
前言前段时间读了读徐哥的《内网安全攻防》,并复现了部分知识点,写篇文章记录下学习内容。但在大多数情况下,内网的环境存在多种边界设备以及入侵检测装置的限制,它们会对主机间或者内网与外网之间通信的流量进行检测,如果存在异常就会进行拦截,这无疑给内网渗透增加了难度,而隐藏通信隧道技术就是为了绕过各种边界设备的封锁,从而完成主机间或内网与外网之间的通信。
就需要了解一下名称空间python的名称空间,是从名称到对象的映射,在python程序的执行过程中,至少会存在两个名称空间。python中一切均为对象,均继承于object对象,python的object类中集成了很多的基础函数,假如我们需要在payload中使用某个函数就需要用object去操作。
007bug
暂无描述