usamasadiq22/LogAnalyzer
GitHub: usamasadiq22/LogAnalyzer
LogAnalyzer 是一个日志聚合与时间线重建工具,用于数字取证和事件响应,通过自动检测攻击模式来重建事件时间线。
Stars: 0 | Forks: 0
# LogAnalyzer - 事件时间线重建工具
LogAnalyzer 是一款专为数字取证与事件响应(DFIR)设计的取证级日志聚合与时间线重建工具。它能解析多种日志源(syslog、FileMonitor 系统调用日志、ELFscan 报告),并重建统一的攻击时间线,自动检测权限提升、横向移动、C2 通信和恶意软件指标等模式。
## 功能
- **多源日志聚合**:解析 syslog/auth.log、FileMonitor 系统调用日志及 ELFscan 二进制分析报告
- **自动化模式检测**:识别权限提升链、横向移动尝试、C2 指标及持久化机制
- **统一时间线**:合并来自多个源的事件,并按时间戳排序
- **攻击分类**:事件按类型(认证、权限提升、横向移动、C2、恶意软件、持久化)和严重程度(信息、警告、严重)分类
- **灵活的报告生成**:生成人类可读的文本报告和 JSON 取证报告
- **取证级精度**:保留事件元数据(PID、用户、来源、描述)以供调查
## 构建
```
make
```
生成 `./loganalyzer` 可执行文件。
## 使用方法
```
./loganalyzer [OPTIONS]
```
### 选项
- `-s, --syslog ` 解析 syslog/auth.log 文件
- `-f, --fmonitor ` 解析 FileMonitor 系统调用日志
- `-e, --elfscan ` 解析 ELFscan 报告文件
- `-o, --output ` 将时间线报告写入文件
- `-j, --json` 生成 JSON 报告(默认为文本格式)
- `-v, --verbose` 解析过程中显示详细输出
- `-h, --help` 显示帮助信息
### 示例
```
# 解析 auth.log 并生成文本报告
./loganalyzer -s /var/log/auth.log -o timeline.txt
# 将多个数据源解析为 JSON 报告
./loganalyzer -s /var/log/auth.log -f fmonitor.log -e elfscan_report.txt -j -o incident.json
# 对所有可用日志进行详细分析
./loganalyzer -v -s /var/log/auth.log -f fmonitor.log -e elfscan_report.txt
```
## 日志格式规范
### Syslog / Auth.log
标准 Linux syslog 格式:
```
May 17 14:22:01 hostname sudo: user : TTY=pts/0 ; PWD=/tmp ; USER=root ; COMMAND=/bin/bash
May 17 14:22:05 hostname sshd[2341]: Failed password for root from 192.168.1.50 port 45678 ssh2
```
### FileMonitor 系统调用日志
FileMonitor 输出格式:
```
[2025-05-17 14:22:01.342] PID=1234 (bash) SYS=open PATH=/etc/shadow MODE=R RESULT=DENIED
[2025-05-17 14:22:02.145] PID=5678 (nc) SYS=socket PROTO=INET_STREAM RESULT=OK
```
### ELFscan 报告
ELFscan 取证报告格式:
```
[SUSPECT] /tmp/payload.bin
Entropy : 7.45
Stripped : Yes
Signatures: SYSCALL_GADGET, ENCRYPTED_STUB
[MALICIOUS] /usr/bin/suspicious
Entropy : 7.89
Signatures: UPX_PACKED
```
## 事件分类
### 事件类型
- **AUTH**:认证事件(登录尝试、失败)
- **PRIV_ESC**:权限提升指标
- **LATERAL_MOVE**:横向移动/侦察
- **C2**:命令与控制通信
- **MALWARE**:恶意软件/可疑二进制文件检测
- **PERSISTENCE**:持久化机制安装
### 严重程度级别
- **INFO**:信息性(成功登录、正常活动)
- **WARNING**:可疑但非立即关键(登录失败、横向移动尝试)
- **CRITICAL**:高置信度攻击指标(权限提升、恶意软件、C2、持久化)
## 模式检测
LogAnalyzer 自动检测攻击模式:
### 权限提升
- 短时间内多次执行 sudo 命令
- 失败后紧接成功的权限提升尝试
### 横向移动
- 5分钟内超过5次失败的 SSH/登录尝试
- 来自单一源的无效用户枚举
### C2 指标
- 创建网络套接字后执行可疑进程
- netcat、bash 或 wget 的执行与网络连接相关联
### 恶意软件检测
- ELFscan 报告(判定为可疑/恶意)
- 高熵值的加壳二进制文件
## 架构
### 模块
1. **event.c/h**:核心事件数据库,支持时间戳排序和聚合
2. **syslog_parser.c/h**:解析 auth.log 中的认证事件、权限提升、用户创建
3. **fmonitor_parser.c/h**:解析 FileMonitor 系统调用日志中的可疑系统调用
4. **elfscan_parser.c/h**:解析 ELFscan 二进制分析报告
5. **pattern_detector.c/h**:跨事件时间线的自动化攻击模式检测
6. **timeline.c/h**:时间线可视化和字符串格式化
7. **report.c/h**:报告生成(文本和 JSON 格式)
8. **main.c**:CLI 编排和事件聚合
### 数据结构
```
typedef struct {
time_t timestamp;
EventType type;
EventSeverity severity;
char source[64]; // "syslog", "fmonitor", "elfscan"
char description[256];
int pid;
char user[32];
} Event;
```
## 报告输出
### 文本报告
包括:
- 带生成时间戳和摘要统计的页眉
- 按类型和严重程度分类的事件概览
- 详细时间线(按时间顺序排列的事件)
- 关键发现部分
### JSON 报告
结构化输出,包含:
- 报告元数据(生成时间、事件计数)
- 包含所有字段的事件数组
- 适用于下游分析的机器可解析格式
## 面试要点
- **“请描述你的时间线重建算法”** → 从多个源聚合事件,按时间戳排序,进行模式关联
- **“你如何检测权限提升?”** → 记录 sudo 命令,检测失败→成功的序列,在时间窗口内进行关联
- **“你的工具如何与 DFIR 相关?”** → 从取证证据中重建攻击叙事,自动化模式检测,为事件响应报告生成时间线
- **“这如何与 FileMonitor 和 ELFscan 集成?”** → 纯数据消费;读取输出文件作为输入,无代码耦合,独立工具
- **“你如何检测高级攻击者?”** → 需要行为基线分析、用于检测混淆的熵分析、与威胁情报源的 IOC 关联
## 局限性
- 假设所有日志源使用 UTC/本地时间戳(未处理时钟偏差)
- 模式检测使用简单启发式规则(例如,5分钟内5次失败登录 = 横向移动)
- 不能解析所有可能的 syslog/auth.log 格式
- 不支持实时流式处理(仅支持批处理)
- 不支持跨主机关联(仅限单系统分析)
## 未来改进
- [ ] 跨主机时间线关联(多台被攻陷系统)
- [ ] 威胁情报集成(匹配已知 C2 IP/域名)
- [ ] 行为基线分析(检测与正常活动的偏差)
- [ ] 高级混淆检测(基于熵的命令分析)
- [ ] 集成 YARA 规则进行恶意软件关联
- [ ] 支持实时日志流
- [ ] 处理时区/时钟偏差
- [ ] 基于机器学习的攻击模式检测
## 简历亮点
- **取证时间线重建**:将多源日志聚合为统一的攻击叙事,精度达毫秒级
- **事件响应方法论**:实施核心事件响应工作流(收集证据 → 解析日志 → 检测模式 → 生成报告)
- **模式检测**:使用时间窗口关联,自动化检测权限提升、横向移动和 C2 通信
- **系统集成**:消费来自 FileMonitor 内核模块和 ELFscan 二进制扫描器的输出,展示工具互操作性
- **数据聚合**:将非结构化日志数据合并为结构化的取证事件,并进行严重程度分类
## 许可证
仅供教育用途。专为 DFIR 培训和应届毕业生作品集设计。
标签:C2通信检测, DFIR工具, IP 地址批量处理, JSON报告生成, PE 加载器, PFX证书, Web报告查看器, 二进制扫描报告, 多源日志聚合, 威胁情报, 安全事件调查, 安全报告, 客户端加密, 开发者工具, 恶意软件指标, 攻击检测, 数字取证, 时间线重建, 模式识别, 横向移动检测, 特权升级检测, 系统日志分析, 自动化分析, 自动化脚本, 跨站脚本