ujwal-1/Honeypot-BaitShell

GitHub: ujwal-1/Honeypot-BaitShell

基于 Cowrie 的 AWS 云端 SSH 蜜罐项目,用于在隔离环境中全天候捕获和分析真实的互联网攻击者行为。

Stars: 0 | Forks: 0

# Honeypot/BaitShell:真实攻击者行为分析 一个故意暴露在互联网上的 SSH honeypot,部署在 AWS 上,用于安全地在一个隔离环境中捕获和分析真实的、未经请求的攻击者活动——包括暴力破解尝试、恶意软件部署链和代理滥用。 ## 概述 本项目在 AWS EC2 实例上部署了 [Cowrie](https://github.com/cowrie/cowrie),一个中等交互的 SSH/Telnet honeypot,以观察来自互联网的真实攻击者行为。与 CTF 或基于实验室的安全实践不同,本项目捕获的是**实时的真实威胁活动**——包括自动化的 botnet、凭证填充攻击以及主动针对互联网基础设施的恶意软件 dropper,全天候 24/7 运行。 ## 架构 ``` Internet (attackers/scanners) │ ▼ AWS Security Group (firewall) - Port 22 → restricted to admin IP only - Port 2222 → open to all (honeypot bait) │ ▼ EC2 Ubuntu Instance │ ▼ Cowrie (low-privilege dedicated user) - Simulates SSH service + fake filesystem - Logs every connection, credential attempt, and command │ ▼ Structured JSON + text logs (var/log/cowrie/) ``` ## 关键设计决策 - **最小权限原则**:Cowrie 在专用的非 root 用户下运行,与主机系统隔离 - **刻意暴露边界**:仅 honeypot 端口对互联网开放;真正的管理访问受 IP 限制 - **云端隔离**:部署在可丢弃的云端 VM 上,而非家庭基础设施,以避免对个人网络造成任何暴露 - **完整会话捕获**:记录每一个命令、登录尝试和 TTY 会话,并支持独立回放 ## 真实发现 在部署后约 7 小时内,honeypot 捕获了: - **一次成功的暴力破解登录**(`root/password`),此前曾针对常见密码列表进行过一次失败的尝试 - **一次实时的恶意软件 dropper 尝试**——一个多方法回退链(`curl` → `wget` → 原始 `/dev/tcp` socket),试图从远程 C2 风格的服务器下载并执行二进制文件,这与 Mirai 家族 botnet 的行为一致 - **一次代理滥用尝试**——另一名攻击者试图使用被攻陷的会话向外部 IP 中继 TLS 流量,可能是在测试将该主机作为匿名化中继 所有内容均被安全捕获——没有发生真实的下载或执行,因为 Cowrie 模拟了命令的成功执行,而不会对系统产生任何实际影响。 ## 技术栈 - **Cowrie** (Python/Twisted) — honeypot 引擎 - **AWS EC2** — 部署基础设施 - **AWS Security Groups** — 网络访问控制 - Linux (Ubuntu) 系统管理 ## 路线图 / 计划升级 - [ ] 集成 Splunk 进行仪表板分析(攻击量、地理分布、凭证频率) - [ ] IP 地理定位和攻击源映射 - [ ] 针对捕获的行为进行 MITRE ATT&CK 技术映射 - [ ] 威胁情报富化(AbuseIPDB / VirusTotal 交叉引用) - [ ] 多 honeypot 部署(T-Pot)以实现更广泛的协议覆盖 ## 设置 有关完整的部署步骤,请参阅 [`SETUP.md`](./SETUP.md)。 ## 免责声明 本项目严格出于教育和研究目的进行部署,位于我拥有和控制的基础设施上,并与任何生产或个人系统明确隔离。没有实际的攻击者受到伤害,也没有真实的系统被攻陷——Cowrie 完全模拟了命令执行,没有任何实际效果。 *作为持续的、自主导向的网络安全技能发展的一部分而构建。*
标签:AWS, DPI, PE 加载器, 威胁情报, 安全, 开发者工具, 网络信息收集, 蜜罐, 证书利用, 超时处理, 逆向工具