Bino97/boarnet

GitHub: Bino97/boarnet

BoarNet 是一个被动威胁情报传感器代理,通过蜜罐捕获连接并加密上报,解决分布式安全数据采集的轻量化与可靠性问题。

Stars: 0 | Forks: 0

# boarnet-agent BoarNet 传感器代理的 Go 参考实现。 单一二进制文件。运行 SSH 与 TLS 蜜罐(监听配置端口),提取传入连接的 JA3 / HASSH 指纹,在本地加密的 SQLite 文件中缓冲事件,并通过 mTLS HTTPS 批量推送 [信封](../spec/envelope.md) 到 BoarNet 摄入服务。 ## 状态 v0.1 — 原型。程序可独立编译并运行。生产特性已在代码中以 `TODO` 标注,并在下方汇总。 ## 构建 ``` cd agent go mod tidy make build # -> ./bin/boarnet ``` 为 Raspberry Pi 交叉编译: ``` make build-arm64 # -> ./bin/boarnet-linux-arm64 ``` ## 运行 ``` make run ``` 默认配置: - SSH 蜜罐监听 `:2222` - TLS 蜜罐监听 `:8443` - 缓冲区位于 `./.boarnet/buffer.db`(AES-GCM 加密) - 事件通过 POST 发送至 `http://localhost:3000/v1/events` 所有选项均可通过标志覆盖 — 运行 `boarnet --help` 查看。 ## 已实现功能 - 与 [`spec/envelope.md` v1](../spec/envelope.md) 匹配的信封类型。 - 使用 `gliderlabs/ssh` 的 SSH 监听器(会话打开与认证尝试)。 - TLS ClientHello 解析器,支持 JA3 字符串与 MD5 哈希(JA4 待实现 — 详见 `internal/honeypot/tls.go`)。 - 基于 HMAC-SHA256 的 IP 哈希,使用传感器胡椒值(详见 `internal/hash/hash.go`)。 - 凭证的 SHA-256 哈希(在传感器端发射前处理)。 - 本地 SQLite 事件缓冲区,每行使用基于磁盘主密钥的 AES-GCM 加密(详见 `internal/buffer/buffer.go`;OS 密钥库集成为 TODO)。 - 批量 HTTPS 发射器,支持 gzip 压缩、ULID 批次 ID、指数退避与去相关抖动重试。 - 最小化心跳循环。 ## 生产环境待办事项 | 领域 | 当前状态 | 生产目标 | |---|---|---| | 存储介质加密 | 基于文件的主密钥 | OS 密钥圈(Windows DPAPI、macOS Keychain、Linux libsecret) | | 传输认证 | Bearer 令牌存根 | mTLS(通过注册流程颁发传感器证书) | | JA4 | 仅 JA3 | 完整 JA4(通过 `FoxIO-LLC/ja4` 移植) | | SSH 蜜罐 | 会话与认证事件 | 中交互(命令执行、伪造文件系统) | | HTTP 蜜罐 | 未实现 | 基本认证与 WordPress/phpMyAdmin 诱饵 | | 注册流程 | 未实现 | `boarnet enroll ` CLI | | 配置拉取 | 静态标志 | 轮询 `/v1/config` | | 死信队列 | 内存中 | 持久化 BoltDB 桶 | | 更新通道 | 手动重建 | 签名发布拉取 | ## 项目结构 ``` agent/ ├── cmd/boarnet/main.go # entrypoint, flag parsing, wiring └── internal/ ├── envelope/ # envelope types + JSON marshaling ├── hash/ # HMAC pepper + SHA256 credential hashing ├── buffer/ # encrypted SQLite local queue ├── transport/ # batched HTTPS emitter, retry logic ├── honeypot/ │ ├── ssh.go # SSH honeypot (gliderlabs/ssh) │ └── tls.go # TLS ClientHello parser + JA3 └── config/ # CLI flag → runtime config ```
标签:ADCS攻击, AES-GCM加密, API集成, BoarNet, EVTX分析, Go语言, gzip压缩, HASSH指纹, HMAC-SHA256, HTTPS传输, IP哈希, JA3指纹, JA4, mTLS, OS密钥链, Raspberry Pi, SQLite缓冲, SSH蜜罐, TLS蜜罐, ULID, 信封规范, 入站服务, 内存分配, 内存执行, 单二进制, 可观测性, 命令行标志, 威胁情报, 安全传感器, 密钥旋转, 底层编程, 开发者工具, 心跳机制, 批量信封, 指数退避, 日志审计, 流量采集, 生产待办, 程序破解, 端口配置, 蜜罐, 蜜网, 被动传感器, 证书利用, 证书颁发, 跨平台编译, 进程注入