dhaya0x44/cowrie-honeypot-elk-lab

GitHub: dhaya0x44/cowrie-honeypot-elk-lab

一个基于 Cowrie 蜜罐与 ELK 栈的日志驱动检测实验室,用于捕获 SSH 攻击并构建可验证的检测规则。

Stars: 0 | Forks: 0

# 🛡️ Cowrie Honeypot + ELK Stack 检测实验室 ## 🔍 概述 本项目演示了使用 **Cowrie** 设计、部署和监控真实的 SSH 蜜罐,并将其与 **ELK Stack(Elasticsearch、Filebeat、Kibana)** 集成,用于日志摄取和检测。 目标是模拟攻击者行为、捕获恶意活动,并通过集中式日志和分析建立可见性——模拟真实的 SOC 和检测工程工作流程。 ## ⚙️ 架构

### 🔄 数据流 - **Kali Linux(攻击者)** → 发起 SSH 攻击 - **Cowrie 蜜罐(Raspberry Pi)** → 捕获攻击者交互 - **Filebeat(日志采集器)** → 将日志发送到 Elasticsearch - **Elasticsearch(存储与索引)** → 存储并建立日志索引 - **Kibana(可视化与分析)** → 实现日志分析与检测 ## 🧪 攻击场景 ### 1. SSH 暴力破解攻击(Hydra) - 使用 Kali Linux 上的 Hydra 模拟凭证暴力破解 - 多次尝试用户名/密码组合 - 捕获: - 失败的登录尝试 - 成功认证事件 ### 2. 交互式命令执行 - 攻击者通过 SSH 访问蜜罐 - 执行常见侦察命令: - `whoami` - `pwd` - `uname -a` - `cat /etc/passwd` - 捕获完整的攻击者会话活动 ### 3. 攻击后行为模拟 - 模拟攻击者在登录后探索环境 - 观察命令模式和交互流程 - 记录攻击者意图和行为以供分析 ## 🧠 检测工程 本项目包含使用 Kibana 查询语言(KQL)构建的检测逻辑,用于识别 Cowrie 蜜罐捕获的恶意 SSH 活动。 ### 🔐 检测 1:SSH 暴力破解攻击 **描述:** 识别多次认证尝试(失败和成功),表明存在暴力破解行为。 **KQL 查询:** ``` eventid: "cowrie.login.failed" ``` **检测逻辑:** - 单个 IP 发起的大量登录尝试 - 多次失败尝试后跟随一次成功 - 重复的凭证猜测模式 **MITRE ATT&CK 映射:** - T1110 – 暴力破解 ### 🧾 检测 2:命令执行活动 **描述:** 检测攻击者在获得蜜罐访问权限后执行的命令。 **KQL 查询:** ``` eventid: "cowrie.command.input" ``` **检测逻辑:** - 执行的侦察命令: - whoami - uname -a - cat /etc/passwd - 表示攻击后活动 **MITRE ATT&CK 映射:** - T1059 – 命令和脚本解释器 ### 🌐 检测 3:攻击者 IP 追踪 **描述:** 基于源 IP 识别和关联攻击者活动。 **KQL 查询:** ``` eventid: "src_ip:*" ``` **检测逻辑:** - 来自同一 IP 的重复活动 - 登录尝试与命令执行之间的关联 - 有助于攻击者画像 ## 🚨 检测总结 成功检测到以下攻击行为: - 使用 Hydra 的 SSH 暴力破解尝试 - 未授权登录尝试 - 认证后的命令执行 - 攻击者来源追踪与活动关联 这展示了使用 ELK Stack 进行集中式日志和分析的实际检测工程工作流程。 ## 🔎 示例 KQL 查询 ``` eventid: "cowrie.login.failed" eventid: "cowrie.login.success" eventid: "cowrie.command.input" ``` ## 📈 结果 - 实时捕获并分析攻击者行为 - 建立以下方面的可见性: - 认证攻击 - 会话活动 - 命令执行模式 - 展示使用 ELK Stack 的实际检测工程工作流程 ## 🛠️ 使用技术 - Cowrie 蜜罐 - Elasticsearch - Filebeat - Kibana - Kali Linux - Hydra ## 🛡️ 关键收获 - 蜜罐在威胁检测中的实际应用 - 使用 Filebeat → Elasticsearch 构建日志管道 - 使用 Kibana 查询语言(KQL)编写检测逻辑 - 理解基于 SSH 的入侵中的攻击者行为 - 在 SOC 风格监控与分析方面的实践经验 ## 🚀 后续改进 - 与告警集成(ElastAlert / SIEM 规则) - 创建攻击可视化仪表板 - 为攻击来源追踪添加 GeoIP 丰富信息 - 自动化暴力破解模式检测规则 ## 📸 攻击演示 ### 🔐 SSH 暴力破解攻击(Hydra)

模拟使用 Hydra 从 Kali Linux 对 Cowrie SSH 蜜罐发起的暴力破解攻击。 捕获了多次认证尝试,包括成功的凭证泄露。 ### 🐝 Cowrie 日志 – 认证事件

蜜罐日志展示详细的攻击者活动,包括登录尝试、会话创建以及源 IP 和使用的凭证等元数据。 ### 📊 Kibana – 登录事件分析

使用 KQL 过滤器在 Kibana 中对认证事件进行可视化,以识别暴力破解模式和成功登录。 ### 🧾 命令执行监控

捕获攻击者在妥协后执行的命令,例如: `whoami`、`pwd`、`uname -a` 和 `/etc/passwd` 枚举。 ### 📊 Kibana – 攻击者命令活动

通过以下方式分析攻击者行为: `message: "wget" OR " message: "curl"` 来跟踪交互式会话活动。 ## 💼 专业相关性 本项目与现实网络安全角色一致,并展示以下实践经验: - 基于日志的威胁检测与检测工程 - 使用攻击者行为模式进行威胁狩猎 - SOC 环境中的安全监控 - 使用 ELK Stack 进行日志摄取、解析与分析 它展示了模拟攻击、生成遥测数据并构建有意义检测的能力——这些技能直接适用于 SOC 分析员和检测工程岗位。 ## 📌 结论 本项目展示了现代安全运营的从攻击者模拟到检测与分析的全流程。 它突出了以下能力: - 生成真实的攻击场景 - 捕获并集中安全日志 - 分析攻击者行为和命令活动 - 使用行业标准工具构建检测逻辑 总体而言,它体现了扎实的实践网络安全运营基础,并具备在以检测为重点的岗位中做出贡献的准备。
标签:ADCS攻击, AMSI绕过, Cowrie Honeypot, Detection Engineering, Elasticsearch, ELK Stack, Filebeat, KQL, Mutation, Python 实现, SSH Honeypot, SSH暴力破解, 可视化, 命令执行, 威胁检测, 攻击模拟, 日志索引, 日志采集, 红队行动, 越狱测试, 驱动签名利用