afterdarksys/ads-memory-forensics
GitHub: afterdarksys/ads-memory-forensics
macOS 进程内存取证工具,支持内存转储、机密信息与代码注入扫描、YARA 规则匹配及自动化集成。
Stars: 0 | Forks: 0
# ADS 内存取证
macOS 内存取证工具 - ADS macOS 安全套件的一部分。
## 功能
- **内存转储 (Memory Dump)**:转储进程内存区域以供离线分析
- **内存扫描 (Memory Scan)**:扫描机密信息、注入行为和可疑字符串
- **区域列表 (Region Listing)**:查看所有内存区域及其保护标志
- **YARA 支持**:使用 YARA 规则对内存进行匹配
- **JSON 输出**:支持自动化的机器可读输出
- **HTTP API**:用于集成 GUI 控制台的服务器模式
## 安装
```
make build
sudo make install
```
**注意**:此工具在 macOS 上访问内存需要 root 权限。
## 使用说明
### 列出内存区域
```
# 列出进程的 regions
ads-memory-forensics regions --pid 1234
# JSON 输出
ads-memory-forensics regions --pid 1234 --output-json
```
### 扫描进程内存
```
# 完整扫描
sudo ads-memory-forensics scan --pid 1234
# 仅扫描 secrets
sudo ads-memory-forensics scan --pid 1234 --secrets
# 扫描 code injection
sudo ads-memory-forensics scan --pid 1234 --injection
# 提取可疑字符串
sudo ads-memory-forensics scan --pid 1234 --strings
# YARA 规则匹配
sudo ads-memory-forensics scan --pid 1234 --yara rules.yar
```
### 转储进程内存
```
# 转储到文件
sudo ads-memory-forensics dump --pid 1234 --output /tmp/dump.bin
# 转储所有 regions(包括不可读的)
sudo ads-memory-forensics dump --pid 1234 --output /tmp/dump.bin --all
```
### HTTP API 服务器
```
# 在默认端口 (9002) 启动 server
sudo ads-memory-forensics serve
# 自定义端口
sudo ads-memory-forensics serve --port 8080
```
#### API 端点
| 端点 | 方法 | 描述 |
|----------|--------|-------------|
| `/health` | GET | 健康检查 |
| `/info` | GET | 工具版本与功能 |
| `/regions?pid=N` | GET | 列出内存区域 |
| `/scan` | POST | 扫描进程内存 |
| `/dump` | POST | 转储进程内存 |
## 检测能力
### 机密信息检测
| 类型 | 模式 | 描述 |
|------|---------|-------------|
| AWS Access Key | `AKIA...` | AWS 访问密钥 ID |
| AWS Secret | `aws_secret_access_key` | AWS 秘密密钥 |
| GitHub Token | `ghp_`, `gho_` | GitHub 个人/OAuth 令牌 |
| API Key | `sk-` | 通用 API 密钥(OpenAI 等) |
| Bearer Token | `Bearer ` | OAuth Bearer 令牌 |
| Basic Auth | `Basic ` | Base64 编码的凭证 |
| Private Key | `-----BEGIN` | PEM 私钥 |
| Password | `password=`, `passwd=` | 配置中的密码 |
### 注入检测
| 类型 | 描述 |
|------|-------------|
| NOP Sled | 长序列的 0x90 (x86 NOP) |
| Syscall | 直接 syscall 指令 |
| Shellcode | 常见 shellcode 模式 |
| ROP Gadgets | 面向返回的编程 (Return-oriented programming) 链 |
### 字符串提取
提取包含以下内容的字符串:
- URL (http://, https://)
- Shell 路径 (/bin/sh, /bin/bash)
- 网络工具 (curl, wget, nc)
- 编码命令 (base64, eval)
## 威胁评分
扫描会基于以下内容生成威胁评分 (0-100):
- 发现的机密信息:每项 +15 分
- 注入指标:每项 +25 分
- 可疑字符串:每项 +5 分
- YARA 匹配:每项 +20 分
## 集成
此工具可与以下内容集成:
1. **ADS Security Console GUI** - 通过 9002 端口的 HTTP API
2. **afterdark-darkd** - 作为服务插件
3. **SIEM/SOAR** - 通过 JSON 输出
```
# ADS Security Suite 的一部分
ads-process-monitor serve --port 9001 # Process visibility
ads-memory-forensics serve --port 9002 # Memory analysis
ads-supply-chain serve --port 9003 # Package monitoring
```
## 系统要求
- macOS 10.15+ (Catalina 或更高版本)
- Root 权限 (sudo)
- 启用 CGO (用于访问 Mach API)
## 许可证
版权所有 (c) 2026 After Dark Systems。保留所有权利。
标签:AMSI绕过, EVTX分析, Homebrew安装, HTTP工具, Python脚本, SecList, StruQ, YARA, 云资产可视化, 云资产清单, 内存取证, 威胁检测, 日志审计, 逆向工程