Dhadseyash/Centralized-Log-Analytics-for-Cyber-Attack-Detection-Using-ELK-Stack-cy6

GitHub: Dhadseyash/Centralized-Log-Analytics-for-Cyber-Attack-Detection-Using-ELK-Stack-cy6

这是一个基于ELK Stack的集中式日志分析项目,通过模拟攻击场景来检测暴力破解和SQL注入,实现安全信息和事件管理。

Stars: 0 | Forks: 1

🚨 Quantarix Labs SIEM 项目 🛡️ 基于 ELK Stack 的集中式日志分析实现,用于多向量网络攻击检测 «🔍 一套完整的安全信息和事件管理 (SIEM) 解决方案,利用 ELK Stack、Docker 以及一个存在漏洞的 Node.js 应用来模拟和检测真实世界的网络攻击。» 📌 项目概述 本项目展示了组织如何利用开源技术集中化应用日志、实时检测网络攻击,并可视化安全事件。 项目开发了一个基于 Node.js 和 Express.js 的存在漏洞的 Web 应用,将其部署在 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 注入 使用的载荷: `' OR 1=1` ✅ 成功登录 有效凭证: 用户名: admin 密码: admin123 🚫 未授权访问 尝试未经授权访问受限资源。 📄 示例日志事件 `LOGIN ATTEMPT: admin - wrong15` `Invalid credentials` `LOGIN SUCCESSFUL: admin` `SEARCH QUERY: ' OR 1=1` 📊 Kibana 仪表板功能 - 📈 日志总记录数 - 🔐 暴力破解攻击次数 - 💉 SQL 注入次数 - ✅ 成功登录次数 - 🕒 攻击活动时间线 - 🚨 安全警报 🚨 检测规则 规则名称 | 检测逻辑 | 严重级别 --- | --- | --- 🔐 暴力破解检测 | 多次“Invalid credentials”事件 | 高 💉 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️⃣ 克隆仓库 ```bash git clone cd quantarix-labs-project ``` 2️⃣ 启动项目 ```bash docker compose up -d ``` 3️⃣ 打开服务 - 🌍 Web 应用: "http://localhost:3000" - 📊 Kibana: "http://localhost:5601" 🧪 攻击模拟命令 🔐 暴力破解 ```bash curl -X POST http://localhost:3000/login -d "username=admin&password=wrong1" ``` ✅ 成功登录 ```bash curl -X POST http://localhost:3000/login -d "username=admin&password=admin123" ``` 💉 SQL 注入 ```bash curl "http://localhost:3000/search?q=' OR 1=1" ``` 📘 学术意义 本项目展示了以下方面的实践知识: - 🛡️ 安全信息和事件管理 (SIEM) - 📈 日志分析与威胁检测 - 🐳 容器化部署 - 🔍 威胁情报映射 - 🚨 警报与事件监控 🚀 未来增强 - 📧 电子邮件和 Slack 通知 - 🌐 集成 Suricata 或 Zeek - 🤖 机器学习异常检测 - 🔐 TLS 和基于角色的访问控制 (RBAC) - ☁️ 云部署 (AWS/Azure) 👨‍🎓 作者 yash dhadse 🎓 B.Tech CSE (网络安全) 🏫 Quantarix Labs 项目 🆔 ERP: 6604670 📜 许可证 本项目仅用于教育和研究目的。 ⭐ 致谢 - Elastic Stack (ELK) - Docker - MITRE ATT&CK 框架 - Lockheed Martin 网络杀伤链 «🛡️ “集中式日志记录将原始应用事件转化为可操作的安全智能。”»
标签:AMSI绕过, CISA项目, Docker, Docker Compose, DOE合作, Elasticsearch, ELK Stack, Express.js, Filebeat, GNU通用公共许可证, Logstash, MITM代理, Node.js, PFX证书, SQL注入检测, 仪表板, 入侵检测系统, 内容过滤, 威胁分析, 威胁检测, 安全事件管理, 安全信息与事件管理, 安全数据湖, 安全防御评估, 搜索引擎爬取, 攻击检测, 攻击模拟, 日志处理, 日志收集, 暴力攻击检测, 红队行动, 网络安全, 自动化侦查工具, 警报系统, 请求拦截, 越狱测试, 隐私保护, 集中监控, 驱动签名利用