Avinash-05-web/Centralized-Log-Analytics-for-Cyber-Attack-Detection-Using-ELK-Stack_CY-6TH
GitHub: Avinash-05-web/Centralized-Log-Analytics-for-Cyber-Attack-Detection-Using-ELK-Stack_CY-6TH
这是一个基于ELK Stack的集中式日志分析项目,通过模拟和检测暴力破解与SQL注入攻击,实现网络安全威胁的实时监控与可视化。
Stars: 0 | Forks: 0
🚨 Quantarix 实验室 SIEM 项目
🛡️ 使用 ELK Stack 实现多向量网络攻击检测的集中式日志分析
«🔍 一个完整的安全信息与事件管理解决方案,基于 ELK Stack、Docker 构建,并利用一个存在漏洞的 Node.js 应用程序来模拟和检测真实的网络攻击。»
📌 项目概述
本项目展示了组织如何利用开源技术集中处理应用程序日志、实时检测网络攻击并可视化安全事件。
我们使用 Node.js 和 Express.js 开发了一个存在漏洞的网络应用程序,将其部署在 Docker 容器中,并通过暴力破解登录尝试、SQL注入和成功认证等方式发起攻击。日志由 Filebeat 收集,经 Logstash 处理,存储在 Elasticsearch 中,并通过 Kibana 的自定义仪表板和检测规则进行可视化展示。
🎯 目标
- 🧱 开发一个用于攻击模拟的脆弱 Web 应用程序
- 📄 为多种攻击向量生成安全日志
- 🚚 使用 Filebeat 收集日志
- 🔄 使用 Logstash 处理日志
- 🗄️ 使用 Elasticsearch 存储事件
- 📊 在 Kibana 中可视化攻击活动
- 🚨 创建检测规则和告警
- 🧠 将攻击映射到 MITRE ATT&CK 框架
- 🔗 将攻击阶段映射到网络杀伤链
🏗️ 系统架构
攻击者机器 (Kali Linux / PowerShell)
│
▼
恶意 HTTP 请求
│
▼
存在漏洞的 Web 应用程序 (Node.js + Express)
│
▼
app.log 文件
│
▼
Filebeat
│
▼
Logstash
│
▼
Elasticsearch
│
▼
Kibana 仪表板与告警
🌐 使用的网络端口
端口| 服务| 描述
3000| 🌍 Web 应用程序| 存在漏洞的 Node.js 应用程序
5044| 📥 Logstash| 用于 Filebeat 的 Beats 输入
9200| 🗄️ Elasticsearch| 日志存储与索引
5601| 📊 Kibana| 仪表板与分析
🧰 使用的技术
- 🐳 Docker & Docker Compose
- 🟢 Node.js & Express.js
- 📦 Filebeat 7.17.0
- 🔄 Logstash 7.17.0
- 🔍 Elasticsearch 7.17.0
- 📈 Kibana 7.17.0
- 🖥️ PowerShell / Git Bash / Kali Linux
- 🪟 Windows 11
⚔️ 模拟的攻击
🔐 暴力破解攻击
使用无效密码进行重复登录尝试。
💉 SQL注入
使用的 Payload:
' OR 1=1
✅ 成功登录
有效凭证:
用户名: admin
密码: admin123
🚫 未授权访问
尝试在没有授权的情况下访问受限资源。
📄 示例日志事件
LOGIN ATTEMPT: admin - wrong15
无效凭证
LOGIN SUCCESSFUL: admin
SEARCH QUERY: ' OR 1=1
📊 Kibana 仪表板功能
- 📈 日志总记录数
- 🔐 暴力破解攻击计数
- 💉 SQL注入攻击计数
- ✅ 成功登录计数
- 🕒 攻击活动时间线
- 🚨 安全告警
🚨 检测规则
规则名称| 检测逻辑| 严重性
🔐 暴力破解检测| 多个“无效凭证”事件| 高
💉 SQL注入检测| 查询包含 "OR 1=1"| 严重
✅ 成功登录检测| 消息包含 "Login successful"| 中
🚫 未授权访问检测| 尝试访问受限资源| 高
🧠 MITRE ATT&CK 映射
攻击| 技术ID| 技术名称| 战术
🔐 暴力破解| T1110| 暴力破解| 凭证访问
💉 SQL注入| T1190| 利用面向公众的应用程序| 初始访问
✅ 成功登录| T1078| 有效账户| 持久化
🚫 未授权访问| T1078| 有效账户| 权限提升
🔗 网络杀伤链映射
1. 🕵️ 侦察
2. 🛠️ 武器化
3. 📤 投递
4. 💥 利用
5. 📥 安装
6. 📡 命令与控制(可选)
7. 🎯 目标行动
📈 项目成果
- 📄 吸收了 296+ 条日志事件
- 🔐 检测到 132 次暴力破解尝试
- 💉 识别出 10 次 SQL注入尝试
- ✅ 捕获了成功登录事件
- 📊 交互式仪表板已投入运行
- 🚨 实时告警已启用
📂 项目结构
quantarix-labs-project/
├── app/
│ ├── app.js
│ ├── package.json
│ └── Dockerfile
├── filebeat/
│ └── filebeat.yml
├── logstash/
│ └── logstash.conf
├── logs/
│ └── app.log
├── docker-compose.yml
└── README.md
▶️ 运行方法
1️⃣ 克隆仓库
git clone
cd quantarix-labs-project
2️⃣ 启动项目
docker compose up -d
3️⃣ 打开服务
- 🌍 Web 应用: "http://localhost:3000"
- 📊 Kibana: "http://localhost:5601"
🧪 攻击模拟命令
🔐 暴力破解
curl -X POST http://localhost:3000/login -d "username=admin&password=wrong1"
✅ 成功登录
curl -X POST http://localhost:3000/login -d "username=admin&password=admin123"
💉 SQL注入
curl "http://localhost:3000/search?q=' OR 1=1"
📘 学术意义
本项目展示了以下方面的实践知识:
- 🛡️ 安全信息与事件管理
- 📈 日志分析与威胁检测
- 🐳 容器化部署
- 🔍 威胁情报映射
- 🚨 告警与事件监控
🚀 未来增强
- 📧 电子邮件和 Slack 通知
- 🌐 集成 Suricata 或 Zeek
- 🤖 机器学习异常检测
- 🔐 TLS 和基于角色的访问控制
- ☁️ 云部署 (AWS/Azure)
👨🎓 作者
Avinash Das Manikpuri
🎓 计算机科学与工程(网络安全)学士
🏫 Quantarix 实验室项目
🆔 ERP: 6604666
📜 许可证
本项目仅供教育和研究目的使用。
⭐ 致谢
- Elastic Stack (ELK)
- Docker
- MITRE ATT&CK 框架
- 洛克希德·马丁网络杀伤链
«🛡️ “集中式日志记录将原始的应用程序事件转化为可操作的安全情报。”»
标签:AMSI绕过, CISA项目, Cloudflare, Cyber Kill Chain, Docker, DOE合作, Elasticsearch, ELK Stack, Express.js, Filebeat, GNU通用公共许可证, Logstash, MITM代理, MITRE ATT&CK, Mutation, Node.js, OISF, SQL注入检测, 事件管理, 代理支持, 内容过滤, 可视化, 告警, 威胁情报, 威胁检测, 安全事件管理, 安全防御评估, 开发者工具, 开源技术, 攻击模拟, 日志处理, 日志收集, 日志管理, 暴力攻击检测, 红队行动, 网络安全, 网络攻击模拟, 请求拦截, 越狱测试, 隐私保护, 集中安全监控, 集中式日志分析, 驱动签名利用