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报告查看器, 二进制扫描报告, 多源日志聚合, 威胁情报, 安全事件调查, 安全报告, 客户端加密, 开发者工具, 恶意软件指标, 攻击检测, 数字取证, 时间线重建, 模式识别, 横向移动检测, 特权升级检测, 系统日志分析, 自动化分析, 自动化脚本, 跨站脚本