saptreekly/net-honeynet

GitHub: saptreekly/net-honeynet

一个基于 Rust 的中等交互式蜜网系统,通过模拟 SSH、HTTP、SMTP、SMB 服务捕获攻击行为,为企业安全团队提供威胁情报收集与恶意 IP 导出能力。

Stars: 0 | Forks: 0

# 网络 Honeynet 用于收集威胁情报的中等交互式 Rust 蜜网。模拟 SSH、HTTP、SMTP 和 SMB 服务,将结构化事件发送至 collector,并支持本地或 S3 存储。 **警告:** 仅在您拥有的基础设施上进行部署。请使用隔离的 AWS 账户/VPC。请勿在暴露于互联网的笔记本电脑上运行生产环境的蜜罐。 ## 架构 - **Honeypots**(`ssh`、`http`、`smtp`、`smb`)接收攻击者流量并发出 JSON 事件。 - **Collector** 通过 `POST /v1/events` 摄取事件,并将分区后的 JSONL 写入文件或 S3。 - **Intel export** CLI 对源 IP 进行评分,并从本地文件或 S3 导出恶意 IP 列表。 详情请参阅 [docs/architecture.md](docs/architecture.md)。 ## 快速开始(本地集成测试) ``` cargo build --release cargo run -p net-collector & cargo run -p net-ssh-honeypot -- --bind 0.0.0.0:2222 ``` 或者使用 Docker Compose(用于本地开发的非特权端口): ``` cd deploy/docker docker compose up --build ``` - Collector:`http://localhost:8080` - SSH honeypot:`localhost:2222` - HTTP honeypot:`http://localhost:8081` - SMTP honeypot:`localhost:2525` - SMB honeypot:`localhost:4445` ## 配置 环境变量使用 `NET_` 前缀(见 `crates/common/src/config.rs`)。 ### Personas 设置 `NET_PERSONA=wellington_water` 以在所有 honeypot 中启用新西兰水务关键基础设施诱饵配置。请参阅 [docs/personas/wellington-water.md](docs/personas/wellington-water.md)。 ``` # 使用 Wellington Water persona 的 Docker Compose cd deploy/docker docker compose -f docker-compose.yml -f docker-compose.wellington-water.yml up --build # Kubernetes overlay kubectl apply -k deploy/k8s/overlays/wellington-water ``` Collector 配置示例: ``` bind = "0.0.0.0:8080" sink = "file" # or "s3" output_dir = "./data/events" s3_bucket = "my-bucket" s3_prefix = "events" ``` ## AWS 部署 1. 将 `deploy/terraform/terraform.tfvars.example` 复制为 `terraform.tfvars` 并应用: ``` cd deploy/terraform terraform init terraform apply ``` 2. 构建容器镜像并将其推送至 ECR。 3. 使用 Terraform 输出中的 collector IAM 角色 ARN 更新 `deploy/k8s/base/serviceaccount.yaml`。 4. 部署清单: ``` kubectl apply -k deploy/k8s/base ``` ## 威胁情报导出 ``` # 本地事件 cargo run -p net-intel-export -- local --input-dir ./data/events --output ./data/malicious-ips.txt # S3 事件 cargo run -p net-intel-export -- s3 --bucket net-honeynet-events-123456789 --prefix events ``` ## Crates | Crate | Binary | 用途 | |-------|--------|---------| | `net-common` | — | 共享事件 schema 和 collector 客户端 | | `net-collector` | `net-collector` | 事件摄取 API | | `net-ssh-honeypot` | `net-ssh-honeypot` | SSH 虚假 shell | | `net-http-honeypot` | `net-http-honeypot` | HTTP 诱饵路由 | | `net-smtp-honeypot` | `net-smtp-honeypot` | 入站 SMTP 捕获 | | `net-smb-honeypot` | `net-smb-honeypot` | SMB2 协商/认证日志记录 | | `net-intel-export` | `net-intel-export` | 恶意 IP 导出 CLI | ## 法律声明 仅限于您控制的系统上进行防御性安全研究。在部署前,请审查数据保留和隐私要求。
标签:ADCS攻击, BOF, CISA项目, Rust, 可视化界面, 威胁情报, 子域名突变, 开发者工具, 插件系统, 欺骗防御, 版权保护, 网络攻防, 网络流量审计, 蜜罐系统, 请求拦截, 通知系统