☰
从部署到识别:SSH-Honeypotd、Cowrie 蜜罐实战与 Nmap 探测对抗
2026/10/28 1:49:04 网站建设 项目流程

环境准备

  • 蜜罐主机(kali-Honeypot):IP192.168.4.9,host-only 网卡用于本地连接,NAT 网卡用于外网连接。
  • 攻击主机(Attacker):IP192.168.4.4,host-only 网卡。
  • 基础环境:两台虚拟机均安装了 Docker。

一、 低交互蜜罐:SSH-Honeypotd 搭建与测试

低交互蜜罐通常仅模拟服务的基本特征,资源消耗低,适合大规模部署。本次选择 SSH-Honeypotd 进行搭建。

1. 部署蜜罐

由于克隆仓库失败,改为本地下载后使用scp传入虚拟机。在 Docker 中运行 SSH 蜜罐,监听端口设为2022(避开本地占用的 22 端口):

dockerrun-d\--network=host\--cap-add=NET_BIND_SERVICE\--restart=always\--read-only\--name=ssh-honeypotd\-eADDRESS=0.0.0.0\-ePORT=2022\wildwildangel/ssh-honeypotd:latest

2. 攻击测试与日志分析

在 Attacker 主机上尝试 SSH 连接:

ssh-p2022kali@192.168.4.9

连接提示输入密码,但无论输入什么密码均被拒绝。此时查看蜜罐日志:

dockerlogs ssh-honeypotd

日志清晰记录了攻击者的 IP、攻击时间以及尝试的用户名和密码组合。进一步测试发现,Attacker 使用 22 端口连接蜜罐反而能成功,且蜜罐不记录该操作。这说明蜜罐仅监听 2022 端口,未对其他端口进行监听。

3. Nmap 扫描探测

使用 Nmap 对蜜罐进行不同类型的扫描:

  • 全连接扫描(-sT):端口状态为open,服务识别为down,蜜罐日志显示了 TCP 三次握手信息,但显示“未收到身份标识字符串”。
  • 半连接扫描(-sS):端口状态open,服务down,蜜罐完全没有检测到此次扫描活动。
  • 隐蔽扫描(-sN, -sF, -sX):三种扫描结果均为open|filtered,蜜罐均无任何记录。
  • 服务识别(-sV):端口状态open,Nmap 识别出服务为ssh,软件为Dropbear,伪装身份为Linksys WRT45G路由器。蜜罐日志准确记录了攻击者 IP 和随机源端口。




二、 中等交互蜜罐:Cowrie 搭建与测试

Cowrie 是一款中等交互蜜罐,能够模拟完整的 SSH 会话,甚至提供文件系统交互。

1. 部署蜜罐
gitclone https://github.com/cowrie/cowrie.gitdockerrun-p2222:2222 cowrie/cowrie:latest


2. 攻击测试与日志分析

Attacker 尝试连接ssh -p 2222 kali@192.168.4.9,连接失败。查看蜜罐日志,记录了尝试的用户名、密码组合(三次均为 kali 且失败)、尝试连接的时间等详细信息。
(此处可插入 Cowrie 日志截取图)

3. Nmap 扫描探测
  • 全连接扫描(-sT):Nmap 将端口2222误识别为工业协议EtherNetIP-1。蜜罐日志记录连接建立后立即丢失(持续 0.0 秒),并出现No moduli配置缺失的警告。
  • 半连接扫描(-sS):同样被误识别为EtherNetIP-1,蜜罐无任何记录。
  • 隐蔽扫描(-sN, -sF, -sX):端口状态open|filtered,蜜罐均无任何记录。
  • 服务识别(-sV):Nmap 这次正确识别出 SSH 服务,版本为OpenSSH 9.2p1 Debian 2+deb12u3。蜜罐日志完整记录了连接的生命周期。



4. 两款蜜罐对比分析
对比维度Cowrie(中等交互)SSH-Honeypotd(低交互)
交互程度中等,支持完整的 SSH 会话模拟与文件系统交互低,仅模拟 SSH 认证过程
服务模拟模拟真实的 OpenSSH 服务,含版本和协议交互模拟简单的 SSH 响应,返回伪造的路由器 banner
日志记录详细记录连接、认证、会话活动和命令执行仅记录基本连接信息和认证尝试
Nmap 检测能力仅检测完整连接扫描(-sT, -sV)仅检测完整连接扫描(-sT, -sV)
服务识别能被 Nmap 正确识别为 OpenSSH被识别为 Linksys 路由器的 Dropbear SSH
资源消耗较高,需模拟完整文件系统较低,仅处理基本网络连接
适用场景适合深入分析攻击者行为和攻击技术适合大规模部署,监控基本扫描和认证尝试

综合分析,两者都能有效监控 SSH 暴力破解,但 Cowrie 提供了更深入的攻击者行为分析能力。面对隐蔽扫描(-sS, -sN, -sF, -sX),两种蜜罐均存在检测盲区,这是由其网络监听机制依赖于完整 TCP 连接所决定的。


三、 如何辨别「蜜罐」?

通过上述测试,可以总结出几种辨别蜜罐的实用方法:

针对 SSH-Honeypotd
  1. 连接测试:任意密码均被拒绝,且不触发账户锁定机制,无法获得完整 Shell。
  2. 全连接扫描(-sT):监听端口2022服务识别为down,而真实端口22却被正确识别为ssh。行为不一致是重要线索。
  3. 服务识别(-sV):2022端口识别为Linksys WRT45G路由器设备,但又处于虚拟化环境(MAC 地址为 VirtualBox),服务版本信息过于详细,不符合真实服务惯例,可判定为蜜罐。

针对 Cowrie
  1. 连接测试:同样密码均被拒绝,无账户锁定。
  2. 全连接扫描(-sT):2222端口被识别为不常见的EtherNetIP-1服务标识,疑似伪装手段。
  3. 服务识别(-sV):22端口版本为OpenSSH 10.0p2,而2222端口版本为OpenSSH 9.2p1,版本不一致且暴露过于详细,极易引起怀疑。

通用蜜罐识别与检测方法
  1. 服务指纹分析:检查同一主机不同端口服务版本是否合理匹配;留意异常服务标识;关注 banner 信息是否过于详细。
  2. 行为模式检测:检查是否存在无限次登录尝试不锁定;多次发送相同请求观察响应是否完全一致;检查对畸形数据包的响应。
  3. 网络层面检测:对比不同类型的扫描(如 SYN 扫描与隐蔽扫描)的响应差异;监测连接时长是否过短;分析流量模式。
  4. 系统层面检测:检查资源使用模式是否过于简单;尝试访问特定系统路径;验证系统环境变量和进程列表是否符合声明的系统类型。
  5. 时间和延迟分析:观察响应时间是否过于规律,时间戳是否存在明显偏差。

四、 扩展探索:基于 Canarytokens 搭建蜜信环境

Canarytokens 是一种蜜信(Honeytoken)工具,能够生成各种类型的令牌,一旦被攻击者访问即可触发告警。

1. 环境部署
gitclone https://github.com/thinkst/canarytokens-docker.gitcdcanarytokens-docker

生成 WireGuard 密钥种子,配置frontend.env与switchboard.env文件,并修改本机 hosts 文件:

ddbs=32count=1if=/dev/urandom2>/dev/null|base64cpfrontend.env.dist frontend.envcpswitchboard.env.dist switchboard.env# 编辑配置文件后sudosh-c'echo "127.0.0.1 mycanary.local token1.local token2.local" >> /etc/hosts'

启动服务:

docker-composeup-ddockerps

2. 创建并触发 Web URL 令牌

在 Attacker 主机配置 hosts 文件,访问http://mycanary.local/generate创建 Web URL 令牌。使用curl触发该 URL:

curl"http://token1.local/stuff/w07lgr0hwd4dlgbek4bzg5pp/payments.js"

查看蜜罐日志,成功捕获攻击者的 HTTP 请求(HTTP 200),并尝试发送告警邮件(尽管 QQ 邮箱拒绝了 SMTP 连接,但告警机制已成功触发)。

3. 创建并触发 DNS 令牌

创建 DNS 令牌后,在 Attacker 主机使用dig触发:

dig@192.168.4.9 8p149tkxg3sj9rv5fn0ap0aa2.token1.local

蜜罐日志成功记录了攻击者的 IP、查询的域名、查询类型、时间,并从域名中提取了令牌 ID 记录到数据库,同时返回蜜罐 IP 以欺骗攻击者。


五、 总结与心得

通过这次从部署到对抗的完整实战,可以得出以下结论:

  1. 部署层面:SSH-Honeypotd(低交互)与 Cowrie(中等交互)均能成功部署,并有效记录攻击者的连接与认证信息。
  2. 检测盲区:两种蜜罐都能检测全连接扫描(-sT)和服务识别扫描(-sV),但对半连接扫描(-sS)和隐蔽扫描(-sN/-sF/-sX)均无法检测,这是依赖完整 TCP 连接的蜜罐的天然局限。
  3. 识别关键:异常的服务版本、不合常理的端口行为、无限制的登录尝试以及虚拟化环境与声称设备不符等,都是辨别蜜罐的重要切入点。
  4. 蜜信扩展:Canarytokens 的 Web URL 和 DNS 令牌均能准确记录访问来源并触发警报,是主动防御和溯源的有效补充手段。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询