o1uoyebanji/Honeypot-Lab

GitHub: o1uoyebanji/Honeypot-Lab

在隔离环境中部署 Cowrie SSH 蜜罐并通过模拟攻击与数据分析,研究未授权登录行为的网络安全实验项目。

Stars: 0 | Forks: 0

# Honeypot 实验 ## 概述 在隔离的 Ubuntu 虚拟机上部署了 Cowrie SSH 蜜罐,用于捕获和分析未经授权的登录尝试。使用 Kali Linux 上的 Hydra 模拟了真实的攻击者行为,使用 Python 分析了捕获的日志,并使用 Matplotlib 可视化了凭据模式。 ## 架构 Kali Linux 攻击者 -> 端口 22 -> iptables 重定向 -> 端口 2222 上的 Cowrie ## 使用的工具 - Cowrie 3.0.3(SSH 蜜罐) - Kali Linux - Ubuntu 22.04 - Hydra - Python 3 - Matplotlib - VirtualBox ## 我所做的工作 ### 1. Honeypot 设置 - 创建了专用的 cowrie 用户以实现安全隔离 - 在 Ubuntu 上安装并配置了 Cowrie SSH 蜜罐 - 配置了主机名,使其显示为合法服务器 (webserver01) ### 2. 流量重定向 - 使用 iptables 将所有端口 22 的 SSH 流量重定向到端口 2222 上的 Cowrie - 我使用的命令:iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222 - 攻击者发起连接时,会认为他们正在访问真实的 SSH ### 3. 攻击模拟 - 使用 Hydra 从 Kali Linux 发起了 SSH 暴力破解攻击 - 使用了 rockyou.txt 字典和 unix_users.txt 用户名列表 - 在 2 个唯一的 IP 地址上产生了 54 次凭据尝试 ### 4. 日志分析 - 使用 Python 解析了 Cowrie 的 JSON 日志 - 通过过滤 cowrie.login.failed 和 cowrie.login.success 事件 ID 提取了登录尝试 - 识别了攻击者尝试频率最高的凭据 ### 5. 可视化 - 使用 Matplotlib 构建了柱状图,展示了被尝试次数最多的前 10 个密码 - 揭示了常见的默认凭据,例如:password, 12345, 123456789, iloveyou, 和 princess ## 主要发现 - 共捕获 54 次凭据尝试 - Cowrie 使用通用密码接受了 52 次成功的登录 - 包含非默认凭据的 2 次失败尝试 - 识别出 2 个唯一的攻击 IP - 最常见的密码:123456, 12345, 123456789, password - 这向我证实了攻击者确实非常依赖默认和常见凭据 ## 截图 请参阅 /screenshots 文件夹获取: - Cowrie 运行状态 - iptables 重定向规则 - Hydra 攻击输出 - Python 分析输出 - Matplotlib 柱状图可视化 ## 我学到了什么 - Honeypot 如何在不暴露真实系统的情况下捕获攻击者行为 - iptables 如何在内核级别重定向网络流量 - 如何使用 Python 以编程方式解析 JSON 日志 - 攻击者如何将自动化工具与常见凭据列表结合使用 - 为什么默认凭据仍然是最常见的攻击媒介之一
标签:Matplotlib, PoC, Python, 无后门, 暴力破解, 蜜罐, 证书利用, 逆向工具