bad-antics/nullsec-logreaper
GitHub: bad-antics/nullsec-logreaper
一款用 C 编写的高性能日志分析与取证工具,可快速从多种日志源中检出攻击痕迹、构建事件时间线并提取威胁指标。
Stars: 65 | Forks: 6
## 🎬 演示
LogReaper 正在扫描一台被攻陷的 Web 服务器 —— 数秒内检测出 SQLi、XSS、LFI、暴力破解和权限提升
## 💻 技术栈
### 核心



### 日志来源





### 输出格式



## 🎯 功能特性
## 🚀 快速开始
### 安装
```
# 克隆并构建
git clone https://github.com/bad-antics/nullsec-logreaper
cd nullsec-logreaper
make
# 全局安装(可选)
sudo make install
```
### 基本用法
```
# 分析 auth 日志以检测暴力破解
./logreaper -a /var/log/auth.log
# 搜寻 Web 攻击
./logreaper -w /var/log/nginx/access.log
# 包含时间线的全系统分析
./logreaper -t /var/log/
# 实时监控
./logreaper -l /var/log/syslog
# 提取 IOC 至 JSON
./logreaper -i /var/log/ -o iocs.json
```
## 📊 检测模式
### 认证威胁
| 模式 | 描述 | 严重性 |
|---------|-------------|:--------:|
| `AUTH_BRUTE_SSH` | SSH 暴力破解尝试 | 🔴 高 |
| `AUTH_SUDO_ABUSE` | 异常 sudo 使用 | 🟡 中 |
| `AUTH_SU_ROOT` | 通过 su 提权 | 🔴 高 |
| `AUTH_FAIL_BURST` | 快速连续认证失败 | 🔴 高 |
| `AUTH_NEW_USER` | 新用户创建 | 🟡 中 |
| `AUTH_PASSWD_CHG` | 密码已更改 | 🟡 中 |
### Web 攻击特征
| 模式 | 描述 | 严重性 |
|---------|-------------|:--------:|
| `WEB_SQLI` | SQL 注入尝试 | 🔴 严重 |
| `WEB_XSS` | 跨站脚本攻击 | 🔴 高 |
| `WEB_LFI` | 本地文件包含 | 🔴 严重 |
| `WEB_RFI` | 远程文件包含 | 🔴 严重 |
| `WEB_PATH_TRAV` | 路径遍历 (../) | 🔴 高 |
| `WEB_CMD_INJ` | 命令注入 | 🔴 严重 |
| `WEB_SCANNER` | 检测到自动化扫描器 | 🟡 中 |
### 系统异常
| 模式 | 描述 | 严重性 |
|---------|-------------|:--------:|
| `SYS_KERNEL_MOD` | 内核模块加载 | 🟡 中 |
| `SYS_SELINUX_OFF` | SELinux 已禁用 | 🔴 高 |
| `SYS_CRON_CHANGE` | Cron 任务修改 | 🟡 中 |
| `SYS_SERVICE_NEW` | 新 systemd 服务 | 🟡 中 |
| `SYS_MOUNT_EXEC` | 挂载执行选项 | 🟡 中 |
## 📈 输出格式
### JSON 报告
```
{
"scan_id": "lr-20250127-143022",
"total_events": 15847,
"threats_found": 23,
"timeline": [...],
"iocs": {
"ips": ["192.168.1.100", "10.0.0.5"],
"domains": ["evil.example.com"],
"hashes": []
},
"findings": [...]
}
```
### 终端输出
```
╔══════════════════════════════════════════════════════════════╗
║ 🪓 LogReaper v1.0 ║
╠══════════════════════════════════════════════════════════════╣
║ Target: /var/log/auth.log ║
║ Lines: 15,847 ║
║ Period: 2025-01-20 → 2025-01-27 ║
╠══════════════════════════════════════════════════════════════╣
║ 🔴 CRITICAL │ 3 ║
║ 🟠 HIGH │ 12 ║
║ 🟡 MEDIUM │ 8 ║
║ 🟢 LOW │ 0 ║
╚══════════════════════════════════════════════════════════════╝
[!] AUTH_BRUTE_SSH detected
Time: 2025-01-26 14:32:15
Source: 192.168.1.100
Count: 847 attempts in 5 minutes
User: root, admin, ubuntu
```
## 🔧 高级用法
### 时间线关联
```
# 从多源构建攻击时间线
./logreaper -t \
/var/log/auth.log \
/var/log/nginx/access.log \
/var/log/syslog \
-o timeline.json
```
### 为 SIEM 提取 IOC
```
# 提取为 Splunk 兼容格式的 IOC
./logreaper -i /var/log/ --format splunk > iocs.txt
# 为 ELK Stack 提取
./logreaper -i /var/log/ --format elastic | curl -X POST ...
```
### 与 RKHunt 集成
```
# 运行 LogReaper → 将可疑 IP 传送至防火墙
./logreaper -a /var/log/auth.log --extract-ips | \
xargs -I {} iptables -A INPUT -s {} -j DROP
# 与 RKHunt 发现结果关联
./logreaper -s /var/log/syslog | grep -f <(rkhunt --list-iocs)
```
## 🛠️ 构建选项
```
# 标准构建
make
# 带 debug symbols 构建
make DEBUG=1
# 使用 PCRE2 regex 构建(模式匹配更快)
make PCRE2=1
# 构建静态二进制文件
make STATIC=1
# 交叉编译 ARM64
make ARCH=aarch64
```
## 📁 项目结构
```
nullsec-logreaper/
├── src/
│ ├── main.c # Entry point, arg parsing
│ ├── parser.c # Log format parsers
│ ├── analyzer.c # Pattern matching engine
│ ├── timeline.c # Event correlation
│ ├── output.c # Report generation
│ ├── patterns.h # Detection signatures
│ └── utils.c # Helper functions
├── patterns/
│ ├── auth.rules # Authentication patterns
│ ├── web.rules # Web attack signatures
│ └── system.rules # System anomaly patterns
├── Makefile
├── LICENSE
└── README.md
```
## 🔗 NullSec 工具套件集成
LogReaper 与其他 NullSec 工具无缝协作:
| 工具 | 集成方式 |
|------|-------------|
| **RKHunt** | 将 rootkit 指标与日志异常关联 |
| **Specter** | 输入提取的 IOC 用于威胁情报 |
| **NetSniff** | 结合网络 + 日志分析 |
| **MemScan** | 将内存取证痕迹与系统日志时间线关联 |
## 📜 许可证
MIT 许可证 - 详见 [LICENSE](LICENSE)。
LogReaper 正在扫描一台被攻陷的 Web 服务器 —— 数秒内检测出 SQLi、XSS、LFI、暴力破解和权限提升
| ### 🔬 分析模块 (8) | 模块 | 标志 | 描述 | |--------|:----:|-------------| | **Auth Analysis** | `-a` | SSH 暴力破解, sudo 滥用 | | **Web Forensics** | `-w` | SQLi, XSS, 路径遍历 | | **Network Events** | `-n` | 防火墙, 连接异常 | | **System Events** | `-s` | 用户变更, 服务启动 | | **Timeline** | `-t` | 事件关联时间线 | | **IOC Extract** | `-i` | IP, 哈希, 域名 | | **Baseline Diff** | `-b` | 与已知良好状态对比 | | **Live Stream** | `-l` | 实时日志监控 | | ### 📋 支持的日志 (25+) | 类别 | 来源 | |----------|---------| | **System** | syslog, auth.log, secure, messages | | **Journald** | systemd journal binary logs | | **Web** | Apache, Nginx, IIS, HAProxy | | **Apps** | PostgreSQL, MySQL, Redis, MongoDB | | **Cloud** | AWS CloudTrail, Azure Activity | | **Auth** | PAM, SSSD, Kerberos, LDAP | | **Firewall** | iptables, nftables, firewalld | | **Container** | Docker, Kubernetes audit | |
**[NullSec 工具套件](https://github.com/bad-antics) 的一部分**
*"从日志到线索。"*
标签:Apache, AWS, Bing搜索, BurpSuite集成, CISA项目, CSV导出, DPI, Homebrew安装, Journald, LFI检测, Nginx, NullSec Toolkit, SQL注入检测, Syslog, Web安全, WSL, XSS检测, 事件分析, 免杀技术, 客户端加密, 客户端加密, 库, 应急响应, 数字取证, 日志解析, 暴力破解检测, 服务器运维, 权限提升检测, 网络安全, 网络安全审计, 自动化脚本, 蓝队分析, 证书伪造, 速率限制, 隐私保护, 高速处理, 默认DNS解析器