AmberCell:运行真实服务的高交互蜜罐
AmberCell is a high-interaction honeypot: it runs full, real services
AmberCell 是一款高交互蜜罐,直接运行 postfix、OpenLDAP、xrdp、kamailio 等真实开源服务而非模拟仿真,攻击者的每个数据包、凭据和载荷都被完整留存。它提供 28 个协议诱饵,基于 Docker Compose 单主机部署,采集器独占 netns 记录 pcap、原始流量与 JSONL 事件,证据经单向投递通道输出,SIEM 与分析人员只拉取、不接触蜜罐本体。
// 高交互蜜罐 · 真实服务 · 零模拟
AmberCell 是一个高交互蜜罐:它运行完整、真实的服务——真正的 postfix、OpenLDAP、xrdp、kamailio——而非模拟的仿制品。攻击者在真实的网络栈上与真正的守护进程交互,每一个数据包、凭据和载荷都被保存下来,封存在琥珀之中。
/ 蜂巢启动序列 /
utc —
蜂巢从不休眠
高交互意味着服务是真实的 — 为何这很重要 ↓
01 / 什么是蜜罐 — 两种解读
通俗地说
AmberCell 是一台诱饵计算机,看起来像一个真实的办公网络:邮件服务器、文件共享、数据库,甚至还有一个远程桌面登录入口。
与电影道具的区别在于:它上面的一切都真正可用。闯入的攻击者面对的是真实软件——而每一步操作都被记录下来,如同封存在琥珀中的昆虫。
你的任何东西都不会暴露,证据通过一个单向信箱送出。
面向安全专业人员
- 高交互源于架构:按协议划分的蜂巢中运行真实 OSS 守护进程——没有假 shell,没有脚本化响应
- 单主机 Docker Compose(Ubuntu 22.04 / Debian 12),主机 nftables 入站/出站
- 采集器拥有的 netns 捕获:pcap + 原始流 + JSONL 事件,仅追加
- ATT&CK/Engage 富化;有界 AI 管理器脱离数据包路径,配有确定性审查器
- Kill bars G1–G14 控制生产环境暴露
- 单向死信箱——SIEM 和分析师主动拉取,从不接触蜜罐
与此同时,在网络上——触碰蜂巢的攻击者会 被困其中:
没有真实数据,没有下一跳,无路可逃。每一次挣扎都是 又一帧证据,被保存下来。
02 / 为何高交互很重要
蜜罐按服务真实程度分类。AmberCell 刻意处于最深处。
低交互
仅模拟协议横幅和握手(honeyd 风格)。成本低且安全,但攻击者几秒内就能识别出伪造并离开——你几乎学不到他们意图做什么。
中交互
脚本化模拟:假 shell 和预设响应(cowrie 风格)。诱饵更好,但仍可被检测——行为始终无法完全匹配真实系统,高级工具会注意到接缝。
高交互 AMBERCELL
完整、真实的服务。攻击者在真实网络栈上利用、认证、上传并与真正的守护进程交互——这是你能收集到的最深入、最真实的证据。AmberCell 让这一切可安全运营:每个真实守护进程都被封存在自己的蜂巢中,配有严格的 caps、seccomp 和出站允许列表。
03 / 28 个高交互协议诱饵
| 协议 | 端口 | 协议 | 软件 | 状态 |
|---|---|---|---|---|
| ftp | 21 | tcp | vsftpd | 真实 |
| ssh | 22 | tcp | openssh | 真实 |
| telnet | 23 | tcp | busybox | 真实 |
| smtp | 25 | tcp | postfix | 真实 |
| dns | 53 | udp+tcp | coredns | 真实 |
| tftp | 69 | udp | dnsmasq | 真实 |
| http | 80/443 | tcp | nginx | 真实 |
| pop3 | 110 | tcp | dovecot | 真实 |
| ntp | 123 | udp | chrony | 测试版 |
| netbios | 137 | udp | nmbd | 真实 |
| imap | 143 | tcp | dovecot | 真实 |
| snmp | 161 | udp+tcp | net-snmp | 真实 |
| ldap | 389 | tcp | openldap | 测试版 |
| smb | 445 | tcp | samba | 真实 |
| 协议 | 端口 | 协议 | 软件 | 状态 |
|---|---|---|---|---|
| syslog | 514 | tcp+udp | rsyslog | 测试版 |
| mqtt | 1883 | tcp | mosquitto | 真实 |
| dockerapi | 2375 | tcp | 模拟 api | 陷阱 |
| mysql | 3306 | tcp | mariadb | 真实 |
| rdp | 3389 | tcp | xrdp | 真实 |
| sip | 5060 | tcp | kamailio | 真实 |
| postgres | 5432 | tcp | postgresql | 真实 |
| vnc | 5900 | tcp | tigervnc | 真实 |
| redis | 6379 | tcp | redis | 真实 |
| elastic | 9200 | tcp | elasticsearch | 真实 |
| kubelet | 10250 | tcp | 模拟 api | 陷阱 |
| memcached | 11211 | tcp | memcached | 真实 |
| ollama | 11434 | tcp | llm 诱饵 | 模拟 |
| mongo | 27017 | tcp | mongodb | real |
/ 流量 — 每秒数据包,实时
04 / 你的诱饵,你做主 — 现成或自制
无论你接入什么 — 精选、自制或远程 — 证据管道始终如一
每个协议单元都遵循同一契约。运行精选的真实守护进程,自带守护进程, 或隧道连接到你自己运营的服务器 — 采集器和证据永不改变。
方式 1
精选真实守护进程
70+ 个摘要固定的开源服务器,只需替换一个环境变量即可部署:
AMBER_FTP_PROVIDER=proftpd、AMBER_SMTP_PROVIDER=exim、
AMBER_LDAP_PROVIDER=glauth……每个都保持相同的证据模式,因此
切换永远不会破坏你的管道。
方式 2
自带 Docker 镜像
已经打造了完美的诱饵?将单元指向你的镜像:
AMBER_FTP_HI_IMAGE=registry…@sha256:…(预构建)或
AMBER_FTP_PROVIDER_CONTEXT=/path/to/your/Dockerfile。隔离与
捕获会包裹住你带来的任何东西。
方式 3
隧道连接到自己的服务器
已有真实服务?将单元中继到任意地址的它们:
AMBER_LDAP_PROVIDER=remote +
AMBER_LDAP_REMOTE_ADDR=ldap.corp:389。这是 L4 中继 — 字节原样不动,
证据仍在单元前端捕获。
05 / 工作原理
步骤 1
诱饵
真实开源守护进程运行在 nftables DNAT 之后的密封单元中 — 一个可信、高交互的网络。
步骤 2
记录
每个单元的采集器掌控网络命名空间:轮转 pcap、原始流量、凭据、上传 — 仅追加。
步骤 3
分析
ATT&CK/Engage 增强 + 有界 AI 决策;情报通过单向死投点传出。
┌─────────────────────────── the sealed case ───────────────────────────┐ internet ───▶│ nftables DNAT ──▶ ambernet (icc off) ──▶ 28 real-service cells │ │ │ │ │ │ │ ▼ ▼ ▼ │ │ egress allowlist dns sinkhole *-collector ──▶ /var/ambercell │ │ (tcp 80/443 only, (all lookups │ pcap · flows · JSONL │ │ tcp/25 dropped) logged) ▼ │ │ dead drop ◀ one-way letterbox │ └──────────────────────────────────────────────────────────────────────────┘ SIEM / analysts pull — never touch the pot
/ BEACON — 死投点发布周期
06 / 教程 — 交互式、可直接复制、真实
每条命令都经过仓库验证。会话在动画终端中运行 — 行会自行输入,每个 $ 行点击即可复制。
~3 分钟
初学者
TUT·01
首次飞行 — 你的第一个真实蜜罐
克隆、构建 amberctl、启动一个真实的 vsftpd 单元、探测它,并见证你的第一条证据落地。无需公网 IP。
> open_session_
~2 分钟
初学者
TUT·02
更换诱饵 — 提供者与自己的 Docker
用一个变量将 vsftpd 切换为 proftpd,然后接入自定义镜像。证据模式永不改变;摘要保持固定。
> open_session_
~2 分钟
中级
TUT·03
将单元指向你自己的服务器
将攻击者中继到任意地址上你现有的 LDAP/SNMP/SIP 服务器 — 单元仍在前端持续捕获。
> open_session_
~2 分钟
分析师
TUT·04
获取情报 — 死投点
发布证据包,逐哈希验证,并像你的 SIEM 那样精确拉取。
> open_session_
~4 分钟
操作员
TUT·05
部署传感器 — 远程集群
无头配置、systemd 看门狗 + 发布定时器,以及用于多个传感器的中央启动器。
> open_session_
07 / 安全 — 真实服务,硬性限制
高交互意味着如果做得草率就会有真实风险。AmberCell 的答案是分层隔离 — 生产环境暴露由终止开关把关,任何一项触发,你都无法发布。
[✓] 实验配置为默认 [✓] 永不进行宿主机编排 [✓] 出口允许列表 + DNS 黑洞 [✓] 仅追加证据 [✓] 单向死投点
[✓] G1 无无法解释的出口流量
[✓] G2 无横向容器可达
[✓] G3 无宿主机/元数据访问
[✓] G4 任何位置都无 docker.sock
[✓] G5 未知流量永不丢弃
[✓] G6 AI 永不篡改证据
[✓] G8 陷阱无法进行编排
[✓] G10 无出站 tcp/25
[✓] G13 无 DNS/memcached 放大
[✓] G14 中继无法扩大出口
● AMBERCELL × CHN — 你找到了网络的一部分
AmberCell 作为独立盒子运行完美——但它是 Cyber Halluci Net (CHN) 的一部分,我们的安全研究集体。 完美的完整免费欺骗套件。
> 在 cyberhallucinet.org 尝试 CHN_
在笔记本电脑上约 30 秒即可就绪——实验室无需公网 IP。
来源:Hacker News · cyberhallucinet.github.io