Janaashraf992/EvilTwin

GitHub: Janaashraf992/EvilTwin

EvilTwin 是一个结合多协议蜜罐、SDN 智能路由、机器学习评分与 SOC 仪表盘的网络欺骗实验平台,用于诱捕攻击者并自动化分析其行为活动。

Stars: 2 | Forks: 0

# EvilTwin EvilTwin 是一个网络欺骗实验室,结合了多协议 honeypot、FastAPI 数据摄取与评分 backend、React SOC 仪表盘,以及用于感知流量并进行智能路由的 SDN 控制层。 ## 功能简介 - 捕获来自 Cowrie 和 Dionaea 的攻击者活动 - 将 honeypot 事件标准化为统一的数据摄取契约 - 将会话、凭证、命令和派生的元数据存储在 PostgreSQL 中 - 通过 ML 模型和富化 pipeline 对活动进行评分 - 在仪表盘中展示生成的活动,适用于演示和安全分析师工作流 - 支持可选的 Splunk 转发、canary webhook 以及兼容 OpenAI 的事件分析报告 ## 架构一览 - `cowrie` 在宿主机端口 `2222` 上提供 SSH 欺骗面 - `dionaea` 在宿主机端口 `2121`、`8081`、`1445` 和 `11433` 上提供 FTP、HTTP、SMB 和 MSSQL 欺骗面 - `backend` 持续追踪 honeypot 日志,运行数据摄取与评分,并在 `http://localhost:8000` 暴露 API - `frontend` 在 `http://localhost:3000` 提供 SOC 仪表盘 - `postgres` 存储会话、攻击者画像和告警数据 - `ryu` 可用于基于 SDN 的重定向工作流和控制器集成 ## 仓库结构 ``` . ├── backend/ FastAPI API, ingest pipeline, scoring, tests ├── frontend/ React dashboard ├── docs-site/ Docusaurus documentation site ├── honeypots/ Cowrie and Dionaea container definitions ├── sdn/ Ryu controller and flow-management logic ├── splunk/ Universal Forwarder configuration and dashboards ├── infra/ Deployment infrastructure assets └── docker-compose.yml ``` ## 快速开始 克隆仓库并创建根环境配置文件: ``` git clone https://github.com/Janaashraf992/EvilTwin.git cd EvilTwin cp .env.example .env ``` 在 `.env` 中设置必需的密钥: ``` POSTGRES_PASSWORD=changeme SECRET_KEY=change-me-in-production CANARY_WEBHOOK_SECRET=change-me-in-production ``` 启动技术栈: ``` docker compose up --build -d docker compose ps ``` 确认 backend 运行正常: ``` curl -s http://localhost:8000/health | python3 -m json.tool ``` 在 `http://localhost:3000` 打开仪表盘,并使用预置的演示分析师账号: ``` Email: analyst@eviltwin.local Password: eviltwin-demo ``` ## 克隆即运行行为 在全新克隆并执行 `docker compose up --build -d` 后,默认技术栈预计会执行以下操作: - 自动运行数据库迁移 - 当 `DEMO_BOOTSTRAP=true` 时,预置演示分析师账号 - 如果缺少 `MODEL_PATH`,则自动训练 fallback 模型 - 从挂载的卷中持续追踪 Cowrie 和 Dionaea 日志 - 在仪表盘和 `/sessions` 中展示由 Kali 发起的 SSH、HTTP、FTP、SMB 和 MSSQL 类活动 ## 服务与端口 | Service | Host Port | Container Port | Purpose | | ------------- | -------------- | -------------- | ----------------------------------------- | | Cowrie | `2222` | `22` | SSH honeypot | | Dionaea FTP | `2121` | `21` | FTP 欺骗面 | | Dionaea HTTP | `8081` | `80` | HTTP 欺骗面 | | Dionaea SMB | `1445` | `445` | SMB 欺骗面 | | Dionaea MSSQL | `11433` | `1433` | MSSQL 欺骗面 | | Backend API | `8000` | `8000` | FastAPI API 及告警/WebSocket endpoint | | Frontend | `3000` | `3000` | SOC 仪表盘 | | PostgreSQL | `5432` | `5432` | 本地数据库 | | Ryu | `6633`, `8080` | `6633`, `8080` | OpenFlow 及 REST 控制器 | ## 冒烟测试 这些命令可以在启动后进行快速的完整性检查: ``` docker compose ps curl -s http://localhost:8000/health | python3 -m json.tool curl -s http://localhost:8081/ -o /dev/null -D - printf 'USER anonymous\r\nPASS demo@example.com\r\nQUIT\r\n' | nc -nv 127.0.0.1 2121 ssh -p 2222 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@localhost ``` 如果你想重置到干净的本地状态: ``` docker compose down -v docker compose up --build -d ``` ## 演示工作流 在文档网站中,请按以下顺序阅读文档: 1. [运行项目](docs-site/docs/running-the-project.md) 2. [Kali 演示指南](docs-site/docs/kali-demo-walkthrough.md) 3. [事件响应手册](docs-site/docs/incident-response-runbook.md) 该路径涵盖了技术栈启动、来自 Kali 虚拟机的攻击模拟,以及这些活动应该如何在仪表盘中呈现。 ## 配置重点 根目录下的 [.env.example](.env.example) 已经为本地演示技术栈配置好了。最重要的值包括: - `POSTGRES_PASSWORD`、`SECRET_KEY` 和 `CANARY_WEBHOOK_SECRET` 用于本地部署的核心功能 - `DEMO_BOOTSTRAP`、`DEMO_USER_EMAIL` 和 `DEMO_USER_PASSWORD` 用于预置的仪表盘访问 - `DIONAEA_FTP_PORT`、`DIONAEA_HTTP_PORT`、`DIONAEA_SMB_PORT` 和 `DIONAEA_MSSQL_PORT` 用于配置不同的宿主机端口绑定 - `IPINFO_TOKEN` 和 `ABUSEIPDB_API_KEY` 用于实现数据富化和信誉查询 - `LLM_API_KEY` 及相关的 `LLM_*` 变量用于生成 AI 事件分析报告 - `SPLUNK_HEC_URL` 和 `SPLUNK_HEC_TOKEN` 用于 Splunk 转发 ## 常用命令 启动或重新构建所有内容: ``` docker compose up --build -d ``` 仅重新构建 honeypot: ``` docker compose build cowrie dionaea docker compose up -d --force-recreate cowrie dionaea ``` 查看 backend 日志: ``` docker compose logs -f backend ``` 检查正在运行的容器: ``` docker compose ps ``` ## 文档导览 - [快速入门](docs-site/docs/getting-started.md) - [运行项目](docs-site/docs/running-the-project.md) - [Kali 演示指南](docs-site/docs/kali-demo-walkthrough.md) - [运维与部署](docs-site/docs/operations-and-deployment.md) - [故障排除](docs-site/docs/troubleshooting.md) - [文档索引](docs-site/docs/documentation-index.md) ## 技术栈 FastAPI、SQLAlchemy、PostgreSQL、scikit-learn、React、TypeScript、Tailwind CSS、Cowrie、Dionaea、Ryu、Docker Compose,以及可选的 Splunk 和兼容 OpenAI 的集成。
标签:Apex, AV绕过, FastAPI, Petitpotam, PE 加载器, React, SDN, SOC仪表盘, Syscalls, 威胁评分, 机器学习, 测试用例, 版权保护, 蜜罐, 证书利用, 逆向工具