Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Cheshire — Adaptix C2服务插件,用于从操作员UI驱动LitterBox负载分析。 | Kitploit
工具/GitHubGitHub/blacksnufkin/cheshire
渗透测试框架静态分析动态分析 (沙盒)漏洞利用框架恶意软件分析命令与控制红队
GitHubblacksnufkin/cheshire

Cheshire

Adaptix C2服务插件,用于从操作员UI驱动LitterBox负载分析。

查看仓库
66444个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Cheshire Logo

Cheshire

面向 Adaptix 的预检载荷质量保证,由 LitterBox 驱动。

Cheshire 是一个 Adaptix C2 服务插件,它将 Adaptix 客户端连接到 LitterBox 沙箱。操作员可以在 Adaptix UI 内部选取任意二进制文件,将其提交至 LitterBox 的完整分析链(静态 + 动态 + 每个可达的 EDR 配置文件),并在不离开 Adaptix 的情况下观察判定结果。

名称遵循项目吉祥物的谱系:

  • Adaptix → 变色龙
  • LitterBox → 暴躁猫
  • 连接两者的桥梁 → Cheshire(那只咧嘴笑、时隐时现、告诉你前路是否安全的猫)。

功能说明

操作LitterBox 端点结果
上传载荷POST /uploadmd5 + 文件元数据
全部运行POST /analyze/static/<md5> + /analyze/dynamic/<md5> + /analyze/edr/<profile>/<md5> (×N 个配置文件) 在并行 goroutine 中静态、动态、每个 EDR 配置文件在完成后立即填充
仅静态/analyze/static/<md5>YARA / CheckPlz / Stringnalyzer 发现
仅动态/analyze/dynamic/<md5>YARA-mem / PE-Sieve / Moneta / Patriot / HSB / RedEdr 发现
EDR(多个)每个配置文件对应 /analyze/edr/<profile>/<md5> + 阶段 2 轮询 /api/results/edr/<profile>/<md5>每个配置文件的告警表 + 详细告警信息(原因、MITRE、API、内存区域、调用栈、最终用户模块、进程、父进程、EDR 响应)
清理DELETE /file/<md5>从 LitterBox 移除上传 + 结果文件夹 + 每个样本的分析目录
舰队探测GET /health沙箱状态、扫描器清单、EDR 代理可达性 — 驱动 EDR 配置文件复选框

EDR 阶段 2 轮询使用 LitterBox 的自适应节奏(基础 2 秒,告警计数稳定时 ×1.5 退避至多 15 秒,有变化时立即回到 2 秒)。 每个轮询周期向客户端流式传输一个 progress 事件,以便实时进度条可以实时显示告警计数递增。


目录结构

root@kitploit:~
Cheshire/
├── README.md
├── setup_cheshire.sh                       部署脚本
└── cheshire_service/
    ├── config.yaml                         服务插件清单 + litterbox_url
    ├── go.mod / go.sum
    ├── Makefile                            构建 dist/service_cheshire.so
    ├── pl_main.go                          Go 服务插件(LitterBox 的 HTTP 客户端)
    └── ax_config.axs                       AXScript UI(仪表盘对话框)

Go 插件是一个无状态 HTTP 中继,位于 Adaptix 的 TsServiceSendDataClient 和 LitterBox 的 REST API 之间。AXScript 文件负责所有渲染 — 判定横幅、检测摘要、每个扫描器子标签、带点击查看详情的 EDR 告警表。


设置

1. 启动 LitterBox

Cheshire 需要一个正在运行的 LitterBox 实例(安装说明请参见 LitterBox 仓库)。 确认可达性:

root@kitploit:~
curl http://<litterbox-host>:1337/health

2. 配置 Cheshire

编辑 cheshire_service/config.yaml 并设置 litterbox_url:

root@kitploit:~
extender_type: "service"
extender_file: "service_cheshire.so"
ax_file: "ax_config.axs"

service_name: "cheshire"
service_config: |
  litterbox_url: "http://192.168.88.128:1337"

如果缺少 litterbox_url,插件会加载,但每个操作员命令都会返回 "Cheshire is not configured: set litterbox_url in service_config"。 没有回退默认值。

3. 部署

root@kitploit:~
bash setup_cheshire.sh --ax /path/to/AdaptixC2

此脚本:

  1. 将源代码复制到 AdaptixC2/AdaptixServer/extenders/cheshire_service/。
  2. 将 ./extenders/cheshire_service 添加到 Go 工作区。
  3. 通过 Makefile 构建 service_cheshire.so。
  4. 将构建好的 .so + config.yaml + ax_config.axs 复制到 AdaptixC2/dist/extenders/cheshire_service/。

4. 在 Adaptix 服务器上注册

在 AdaptixC2/dist/profile.yaml 的 Teamserver.extenders 下添加一行:

root@kitploit:~
extenders:
  - "extenders/cheshire_service/config.yaml"
  ...

5. 重启服务器

root@kitploit:~
pkill -f adaptixserver
cd AdaptixC2/dist
./adaptixserver -profile profile.yaml

您应该会在服务器日志中看到 [cheshire] Initialized — LitterBox at http://..., 随后是 [+] Service 'cheshire' loaded。

在 Adaptix 客户端菜单栏中,Cheshire → Test with Cheshire 打开仪表盘。


仪表盘

root@kitploit:~
┌─ 载荷 ───────────────────────────────────────────────────────────────┐
│  [浏览...]  /home/op/payloads/beacon.exe                              │
├─ EDR 配置文件 ───────────────────────────────────────────────────────┤
│  ☑ Elastic Defend   ● 可达        elastic · WIN-VM01 · nightcity     │
│  ☐ Fibratus         ● 不可达      fibratus                           │
├─ 动态分析参数 ───────────────────────────────────────────────────────┤
│  --quiet -p 4444                                                        │
├─────────────────────────────────────────────────────────────────────────┤
│  [全部运行] | [静态] [动态] [EDR] | [清理]    已上传: ...               │
├─────────────────────────────────────────────────────────────────────────┤
│  🚫 已检测 — 5 个命中,跨 2 个静态、1 个动态 [严重]                      │
│                                              ✓ 静态  ✓ 动态  🔄 elastic (2) │
├─ 检测摘要 ────────────────────────────────────────────────────────────┤
│  严重级别  | 扫描器             | 检测               | 详情               │
│  严重      | 静态 · CheckPlz   | Trojan:Win64/...  | 偏移量 0x20EF      │
│  严重      | 静态 · YARA       | mimikatz_strings  | 匹配 $sek...       │
│  高        | 动态 · PE-Sieve  | 3 个修改           | 3 个 IAT 钩子      │
│  ...                                                                  │
├─ 静态 | 动态 | EDR ──────────────────────────────────────────────────┤
│  每个扫描器子标签,带有统计条 + 带边框的发现卡片                          │
└─────────────────────────────────────────────────────────────────────────┘

判定 + 范围

  • ⏳ 运行中 — 到目前为止 N 个命中 当任何已安排的扫描器正在执行时。
  • 🚫 已检测 — N 个命中,跨 X 个静态、Y 个动态、Z 个 EDR [最高严重级别] 当每个已安排的扫描器都达到终态时。
  • ✓ 干净 — 0 个严重/高/中检测 仅当所有扫描器都没有真正命中时。信息性信号(低/信息)会单独注明,不会出现在标题中。
  • (仅静态) / (动态 + EDR) 等会在操作员运行单个扫描器而不是全部运行时附加 — 判定如实反映实际执行的内容。

检测摘要

将所有扫描器中的每个检测汇总到一个可排序的表格中。行从 LitterBox 实际返回的 JSON 中提取(不是通用因子字符串):

  • YARA / YARA-mem 规则,包含严重级别 + 威胁名称 + 第一个匹配的字符串标识符
  • CheckPlz initial_threat + scan_results.detection_offset
  • Stringnalyzer 危险类别计数
  • PE-Sieve total_suspicious + 每个指标计数
  • Moneta 非零 total_* 异常计数(私有 RWX → 严重等)
  • Patriot 每个发现的 level + type + details 前 120 个字符
  • HSB 每个发现的严重级别 + 类型 + 线程 ID
  • RedEdr Defender 事件过滤为 category === 'threat'
  • EDR 告警:规则 + 严重级别 + 进程 + API 摘要

按严重级别降序排序,然后按扫描器名称排序。

自动清理

当对话框关闭时,当前样本的 md5 会通过 DELETE /file/<md5> 从 LitterBox 中清除。两次交任务之间不会积累过期样本。


架构

root@kitploit:~
Adaptix 客户端 (Qt) ──┐
                      │ AXScript service_command("cheshire", "run_all", {...})
                      ▼
Adaptix 服务器  ──→  service_cheshire.so  ──HTTP──→  LitterBox  ──→  EDR VM
  │                                                       │              │
  │                    流式传输 progress 事件          静态 / 动态      │
  │                    + 结果返回                        扫描器在        │
  │                    TsServiceSendDataClient           LitterBox 主机上运行 │
  ▼                                                       │              │
Adaptix 客户端渲染判定、检测摘要、                             │     EDR 配置文件
进度条、每个扫描器的详情面板。                                ▼     调度
                                                  /analyze/edr/<P>/<md5>
                                                  阶段 1:在 EDR VM 上执行
                                                  阶段 2:轮询 Elastic
                                                          获取告警

Go 服务插件在每个自己的 goroutine 中运行每个扫描器调度,因此 全部运行会同时发出静态 + 动态 +(每个 EDR 配置文件一个 POST)。随着每个 goroutine 流式返回 progress 和结果事件,AXScript 仪表盘会实时更新。


许可证

Cheshire 遵循 LitterBox / Adaptix 的惯例。详情请参见父项目许可证。

下载工具