michaelaurelio/Anubee
GitHub: michaelaurelio/Anubee
基于 eBPF 的 Android 应用动态行为分析工具,能够隐蔽地绕过 RASP 防护并揭示加壳或混淆代码的真实运行时行为。
Stars: 2 | Forks: 0
# Anubee:Android 应用的 X-Ray 视觉,每一次刺探都在向深处追溯
|
| 构建调用图 | |:---:| | 选择一个表格条目以绘制其节点。然后点击其中一个节点,即可绘制出它们之间的连接。 | |
|
| 过滤 trace | |:---:| | 在搜索栏中输入库名、syscall 或纯文本,表格就会缩小范围,只显示这些调用。 | |
|
| 绘制特定调用的图表 | |:---:| | 在图表中点击过滤后的调用,会在检查器面板中显示每个节点的 syscall、参数和 backtrace。 | |
|
| 确认建议的标签 | |:---:| | `Suggestions` 面板通过启发式扫描展示潜在的 RASP 检查项。确认某一项后,其虚线边框会变为实线,表明已被查看。 | |
|
### MCP 集成
| 通过聊天驱动 Anubee |
|:---:|
| [`anubee-mcp`](tools/anubee-mcp) 允许你的 LLM 客户端为你运行 `anubee` CLI。只需提问,它就会自动为现场设备选择正确的命令。此运行要求它列出 [Anubee-Detector](https://github.com/michaelaurelio/Anubee-Detector) 在运行时加载的 native 库。 |
|
|
### Android 恶意软件分析
| 捕获批量文件删除 |
|:---:|
| `mod massdelete-detect` 监控 renameat/unlinkat 活动,并在短时间内触及大量不同文件时发出警报。此运行在演示应用执行删除操作中途进行附加。 |
|
|
| 捕获敏感读取后的数据外泄 | |:---:| | `mod exfil-detect` 在读取凭证或媒体形态文件时启动,随后跟踪随之产生的传出字节量。此运行在演示应用执行传输操作中途进行附加。 | |
|
## 为什么选择 Anubee?
- **工作时几乎不可见。** Anubee 从外部监视应用,而不是
驻留在其中,因此它的大部分操作都不会触发应用自身的安全检查。
- **揭示应用试图隐藏的代码。** 有些应用会扰乱自己的代码,并且只在
运行时才将其解锁,希望没人在那个精确时刻进行监视。Anubee 会在代码解锁的瞬间捕获
它,因此你能看到实际隐藏的内容。
- **解释操作,而不仅仅是记录。** 应用采取的每一个操作都可以追溯到
负责它的具体代码片段,因此即使是故意编写得难以理解的代码,
也无法隐藏其真正的行为。
- **内置 Android 恶意软件分析。** Anubee 已经能够捕获批量删除的文件、
悄悄泄露的数据、被滥用的权限以及被秘密录制的屏幕。
## 功能
| 子命令 | 用途 |
|---|---|
| `anubee syscalls` | 在应用毫无察觉的情况下监视其行为,这是默认的静默模式 |
| `anubee funcs` | 捕获深层的函数级细节:参数、返回值和执行时间 |
| `anubee lib` | 查找应用加载的每一个 native 库,甚至是仅在运行时才加载的库 |
| `anubee dump` | 从运行的应用中提取加壳或加密的代码,并将其重构为可在反汇编器中打开的文件 |
| `anubee correlate` | 将特定函数与其触发的 syscall 相关联 |
| `anubee trace` | 在一次启动中同时运行 `syscalls` 和 `funcs`/`lib` |
| `anubee mod` | 针对特定的恶意软件行为运行现成的分析器 |
## 快速开始
**开始使用:** 只需一个静态的 `anubee` 二进制文件,无需安装其他任何东西。获取它并运行你的第一次 trace。包含先决条件的完整演练:[`docs/getting-started.md`](docs/getting-started.md)。
**完整的用法文档:** [`docs/README.md`](docs/README.md),包括如何选择引擎以及如何使用每一个命令。
## 在专为捕获它而构建的工具面前运行
与其仅仅声称 Anubee 具有隐蔽性,我们不如让它在一个专为捕获此类 tracer 而构建的工具面前进行测试。
[Anubee-Detector](https://github.com/michaelaurelio/Anubee-Detector) 正是此类工具的专用触发器。它循环执行真正的安全检查,一旦察觉到被监视,屏幕就会立即变红。
Anubee 的静默功能不会留下任何痕迹。这就是为什么它们从未触发检测器的原因。
然后,我们运行了一个确实会留下痕迹的工具。检测器立即捕获到了它。
这就是“工作时几乎不可见”的真实写照。[亲自去试试吧](https://github.com/michaelaurelio/Anubee-Detector)。该检测器也是开源的。
**想知道这一切在底层到底是如何运作的吗?**
完整的架构、引擎内部原理、trace schema、可检测性分析以及已知的限制,都在 [DOCUMENTATION.md](DOCUMENTATION.md) 中。
## 许可证
见 [LICENSE](LICENSE)。
## 作者
- [michaelaurelio](https://github.com/michaelaurelio)
- [chronopad](https://github.com/chronopad)
- [Ringoshiroku](https://github.com/Ringoshiroku)
|
| 构建调用图 | |:---:| | 选择一个表格条目以绘制其节点。然后点击其中一个节点,即可绘制出它们之间的连接。 | |
|
| 过滤 trace | |:---:| | 在搜索栏中输入库名、syscall 或纯文本,表格就会缩小范围,只显示这些调用。 | |
|
| 绘制特定调用的图表 | |:---:| | 在图表中点击过滤后的调用,会在检查器面板中显示每个节点的 syscall、参数和 backtrace。 | |
|
| 确认建议的标签 | |:---:| | `Suggestions` 面板通过启发式扫描展示潜在的 RASP 检查项。确认某一项后,其虚线边框会变为实线,表明已被查看。 | |
|
### MCP 集成
| 通过聊天驱动 Anubee |
|:---:|
| [`anubee-mcp`](tools/anubee-mcp) 允许你的 LLM 客户端为你运行 `anubee` CLI。只需提问,它就会自动为现场设备选择正确的命令。此运行要求它列出 [Anubee-Detector](https://github.com/michaelaurelio/Anubee-Detector) 在运行时加载的 native 库。 |
|
|
### Android 恶意软件分析
| 捕获批量文件删除 |
|:---:|
| `mod massdelete-detect` 监控 renameat/unlinkat 活动,并在短时间内触及大量不同文件时发出警报。此运行在演示应用执行删除操作中途进行附加。 |
|
|
| 捕获敏感读取后的数据外泄 | |:---:| | `mod exfil-detect` 在读取凭证或媒体形态文件时启动,随后跟踪随之产生的传出字节量。此运行在演示应用执行传输操作中途进行附加。 | |
|
## 为什么选择 Anubee?
- **工作时几乎不可见。** Anubee 从外部监视应用,而不是
驻留在其中,因此它的大部分操作都不会触发应用自身的安全检查。
- **揭示应用试图隐藏的代码。** 有些应用会扰乱自己的代码,并且只在
运行时才将其解锁,希望没人在那个精确时刻进行监视。Anubee 会在代码解锁的瞬间捕获
它,因此你能看到实际隐藏的内容。
- **解释操作,而不仅仅是记录。** 应用采取的每一个操作都可以追溯到
负责它的具体代码片段,因此即使是故意编写得难以理解的代码,
也无法隐藏其真正的行为。
- **内置 Android 恶意软件分析。** Anubee 已经能够捕获批量删除的文件、
悄悄泄露的数据、被滥用的权限以及被秘密录制的屏幕。
## 功能
| 子命令 | 用途 |
|---|---|
| `anubee syscalls` | 在应用毫无察觉的情况下监视其行为,这是默认的静默模式 |
| `anubee funcs` | 捕获深层的函数级细节:参数、返回值和执行时间 |
| `anubee lib` | 查找应用加载的每一个 native 库,甚至是仅在运行时才加载的库 |
| `anubee dump` | 从运行的应用中提取加壳或加密的代码,并将其重构为可在反汇编器中打开的文件 |
| `anubee correlate` | 将特定函数与其触发的 syscall 相关联 |
| `anubee trace` | 在一次启动中同时运行 `syscalls` 和 `funcs`/`lib` |
| `anubee mod` | 针对特定的恶意软件行为运行现成的分析器 |
## 快速开始
**开始使用:** 只需一个静态的 `anubee` 二进制文件,无需安装其他任何东西。获取它并运行你的第一次 trace。包含先决条件的完整演练:[`docs/getting-started.md`](docs/getting-started.md)。
**完整的用法文档:** [`docs/README.md`](docs/README.md),包括如何选择引擎以及如何使用每一个命令。
## 在专为捕获它而构建的工具面前运行
与其仅仅声称 Anubee 具有隐蔽性,我们不如让它在一个专为捕获此类 tracer 而构建的工具面前进行测试。
[Anubee-Detector](https://github.com/michaelaurelio/Anubee-Detector) 正是此类工具的专用触发器。它循环执行真正的安全检查,一旦察觉到被监视,屏幕就会立即变红。
![]() Clean baseline. SECURE, 0/4 tripped. |
![]() Auto-loop on, re-checking continuously. Still SECURE, 0/4. |
![]() Run one that does: 1/4 tripped, banner turns COMPROMISED. |
标签:C2, Docker镜像, 子域名生成, 客户端加密, 日志审计


