Uphill Security 登上 Hacker News,但其 SSH 凭据数据需要谨慎解读
- Aisha Washington

- 8月3日
- 讀畢需時 12 分鐘
Uphill Security 向 Hacker News 读者展示了 153 万次 SSH 登录尝试,既揭示了自动化攻击的持续性,也引发了一场重要的解读争议。其全球蜜罐网络在 2026 年 7 月记录了 131,922 组不同的用户名-密码组合。然而,这些观测结果并不能证明密码来自真实账户。
这一差别决定了数据究竟是有用的威胁遥测,还是一份被盗凭据数据库。该项目展示了自动化扫描器在发现开放 SSH 服务时会尝试什么,但并未说明哪些组合能在其他地方成功、由谁汇集,也无法证明攻击者是否从先前泄露事件中复制了它们。
这场讨论之所以重要,是因为防御者常常误读认证失败日志。有人将这些流量视为无害的背景噪声;也有人把每一次密码尝试看作活跃入侵行动的证据。现实介于两者之间,需要更仔细地审视采集方式。
蜜罐网络记录了 153 万次登录尝试
该项目捕获了大规模自动化 SSH 凭据攻击样本,而非经过验证的有效密码集合。
Uphill Security 于 8 月 2 日发布首批发现,涵盖该网络运行的首个完整月份。蜜罐发现涵盖 2026 年 7 月及 15 台专用服务器。
这些服务器使用来自五家虚拟专用服务器提供商的 15 个公网 IPv4 地址。大多数位于欧洲,但基础设施覆盖多个全球区域。每个地址均在 TCP 22 端口暴露一个低交互 SSH 蜜罐。
低交互蜜罐会模拟足以吸引并记录攻击者的服务功能,但不会提供完整的运行环境。在这里,它接收认证尝试并记录提交的用户名和密码,不会让入侵者在逼真的 shell 环境中操作。
该网络观测到来自 6,790 个唯一 IP 地址的 1,531,053 次登录尝试。这些尝试包含 12,238 个唯一用户名、97,621 个唯一密码,以及 131,922 组不同的用户名-密码组合。
最常见的组合是 root 与 123456,共被尝试 3,861 次。其他常见组合包括 root 搭配 root、password、12345678、admin,以及若干简短数字序列。
攻击者共尝试用户名 root 648,133 次,占数据集中全部认证尝试的逾 42%。接下来最常见的用户名是 admin、ubuntu、user 和 test。
密码 123456 出现了 73,592 次。其他高频选择包括 123、1234、password、12345678 和 12345。这些值与常见弱密码字典和可预测的设备默认值相符。
结果表明,一些扫描器几乎不需要侦察。只要服务器在标准端口暴露 SSH,便会立即收到针对通用管理身份的尝试。运营者无需宣传系统,也无需将其列入公开目录。
不过,该实验仅统计认证尝试,不包含网络扫描或针对其他协议的攻击。它也没有跟踪成功入侵者,因为蜜罐的设计目标是收集登录提交信息,而非认证后的行为。
这一边界至关重要。数据集描述的是扫描器向 15 台诱饵服务器提交了什么,无法直接揭示有多少生产系统接受了相同组合。
为什么 Hacker News 的讨论聚焦于“收集”
分歧并不在于这些测量是否真实,而在于提交的凭据究竟代表什么。
一些 Hacker News 评论者质疑文章使用“收集”一词。他们担心自动化机器人是在提供凭据,而不是将凭据泄露给蜜罐。该网络收集的是攻击者输入,而非从攻击者控制的系统中提取的秘密信息。
一条讨论帖认为,大多数组合虽具有统计意义,却没有实际操作价值。随机扫描器尝试 root:123456,并不能证明任何无关服务器使用该组合。
这种批评有充分依据。凭据通常将一个声称的身份与可授予特定系统访问权限的认证信息联系起来。缺少对应主机或服务时,用户名-密码组合便缺乏验证所需的上下文。
即便是罕见组合也需谨慎解读。机器人可能从字典中生成它们、变异已知默认值、组合泄露词汇,或复用从先前行动收集的列表。仅凭认证记录,蜜罐无法区分这些来源。
因此,“收集”一词可能暗示了超出实验所能证明的内容。读者可能会推断该数据集含有从活跃系统窃取的密码,但公开的方法并不支持这一结论。
不过,称这些数据毫无价值也言过其实。反复提交能揭示自动化攻击基础设施内嵌的假设:攻击者预期会发现哪些账户、哪些默认值仍具吸引力,以及特定来源的操作有多激进。
该项目还凸显了服务账户目标。除 root 和 admin 外,扫描器还尝试了 postgres、oracle、git、ftpuser、deploy 和 deployer。这些名称对应常见的软件角色和部署实践。
部分条目似乎受到当前技术趋势影响。用户名 claude 收到 5,993 次尝试,而 solana 收到 8,223 次。这些标签并不能证明存在定向行动,却显示攻击字典会纳入可识别的软件和产品术语。
更有用的解读方式,是将每一组提交的组合视为攻击者的一项假设。扫描器预测某主机可能暴露了指定账户及弱密码或默认密码。重复尝试表明扫描工具对此具有信心、图方便,或广泛复用。
这使这些记录对防御测试颇具价值。管理员可将观测到的用户名与本地账户比对,确认密码认证已被禁用,并在日志中查找密集猜测模式。
但这些记录仍不足以用于攻击归因。观测到的 IP 可能属于已被攻陷的服务器、代理、租用的虚拟机,或经由其他中介控制的基础设施。地理信息只能识别网络注册地或估算位置,而非责任人。
这场讨论最终提升了项目的价值。它迫使读者将原始遥测与更强的安全结论区分开来。每当引人注目的数据集触达广泛技术受众时,这种严谨都很重要。
地理分布展示的是基础设施,而非攻击者身份
来源分布描绘了流量从何处出现,但无法可靠识别操作者生活或工作的地点。
蜜罐网络记录到来自 129 个国家和 1,334 个自治系统的连接来源。自治系统是由一个网络运营商管理的一组互联网路由。
亚洲贡献了 4,084 个唯一来源地址,占总数的 60.1%。欧洲贡献 1,294 个,北美贡献 832 个。其余地址映射至南美、非洲和大洋洲。
流量规模呈现出不同图景。欧洲地址产生了 921,439 次尝试,占全部登录的 60.2%。亚洲来源虽然拥有更多唯一地址,却只产生了 453,254 次尝试。
这种反差反映出集中度。欧洲来源平均每个观测地址有 712.1 次尝试,北美为 117.1 次,亚洲为 111 次。
在国家层面,中国产生的唯一地址最多,达 1,653 个。美国以 721 个紧随其后,印度为 458 个,越南为 338 个。
按尝试总数计算,荷兰居首:来自 276 个观测地址的提交达 686,449 次,占整个数据集的 44.8%。中国产生 112,793 次尝试,美国产生 72,314 次。
这并不意味着荷兰居民进行了近半数活动。托管中心、中继、受感染服务器和租用基础设施都可能使流量集中在特定网络区域。一个自动化集群的尝试次数,也可能远高于数千个活跃度较低的来源。
自治系统结果进一步印证了这一点。Microsoft 的网络拥有最多唯一观测地址,达 303 个;但另一个网络 TechTies 则从 110 个地址产生了 448,559 次尝试。
云服务和托管提供商遍布来源列表。DigitalOcean、Oracle、OVH、Alibaba、Tencent、Google 以及多家电信网络均记录到流量。它们的出现并不意味着这些公司参与其中。
攻击者偏好托管基础设施,因为它能提供稳定带宽和快速部署。他们也会攻陷合法服务器,并将这些机器作为扫描节点。这两种模式都会削弱简单的国家级归因。
数据还包含抽样效应。60% 的蜜罐位于欧洲。服务器位置可能影响路由、延迟、扫描可见性,以及在有限观测窗口内哪些行动会遇到某个地址。
15 个地址能提供有意义的观测,但不足以构成全球 SSH 滥用的代表性普查。地址信誉也可能产生影响:新分配的 IP 所吸引的流量可能不同于此前与其他服务关联的地址。
该项目未来的扩展应能让地理比较更具参考价值。更多地址、更均衡的区域部署,以及持续的每月测量,将有助于区分持久模式与短暂的行动峰值。
公布每个传感器的结果会增加另一层分析价值。若某个蜜罐接收了大部分荷兰流量,研究人员可调查扫描器是否针对了狭窄的地址范围。若每个传感器均观察到相似行为,则该行动很可能扫描得更为广泛。
对防御者而言,运营层面的教训比地图更简单。基于这份样本封锁整个国家会制造虚假的安全感。速率限制、基于密钥的认证、账户限制和监控,能更直接地应对这种攻击方式。
SSH 凭据攻击在成功登录后会变成什么
失败猜测只是背景流量;一旦某次成功,同样的自动化就可能将服务器变成攻击基础设施。
蜜罐没有观测登录后的命令,因此无法说明扫描器接下来打算做什么。独立事件研究提供了缺失的背景。
MITRE 将密码猜测归类为一种凭据访问技术,并将 TCP 22 端口上的 SSH 视为常见目标。其密码猜测条目还指出,反复失败后可能出现一次成功,是重要的检测模式。
成功的密码带来的不只是交互式终端暴露。该账户可能提供对源代码、环境文件、私钥、云令牌、数据库凭据或部署系统的访问。
权限决定了即时损害的程度。root 登录会让攻击者获得广泛控制权。受限的服务账户仍可能泄露有价值的数据,或通过薄弱的文件权限和继承的凭据允许横向移动。
攻击者还可以修改 SSH 授权设置以实现持久化。MITRE 记录了向 authorized_keys 添加由对手控制的密钥的行为,其中包括通过云管理界面进行添加。植入的密钥可让入侵者在原始密码变更后再次返回。
Microsoft 曾记录过以自动化 SSH 暴力破解为开端的恶意软件。其Linux 威胁分析描述了一次成功登录后执行恶意脚本,并部署由 IRC 控制的机器人。
该僵尸网络支持分布式拒绝服务活动和任意命令执行。其他 Linux 入侵案例则会利用被攻陷系统进行加密货币挖矿、垃圾邮件投递、扫描或代理流量转发。
另一项 Linux 攻击调查通过分阶段下载脚本,追踪了一起成功的 SSH 暴力破解入侵。受影响的服务器随后成为更大范围恶意活动的发起点。
这些案例说明,重复失败的尝试值得关注。扫描器可以以极低成本尝试数千种弱凭据组合。只要有一个暴露账户成功被攻破,就足以让这种投入获得回报。
它们也表明,不应将 Uphill Security 数据集视为密码泄露事件。重要信号在于围绕这些猜测形成的自动化工作流。攻击者持续寻找那些仍然使用常见凭据的系统。
root 相关结果最清楚地暴露了风险与便利之间的不匹配。生产环境管理员有时会为紧急操作保留 root 访问权限。机器人则假定,其中一部分系统同样允许密码认证。
服务账户带来的问题更为隐蔽。团队可能为自动化创建 git、deploy 或数据库用户,随后忽视了交互式登录权限。即使原始工作流已经变更,旧部署脚本仍可能长期保留密码。
禁用交互式 Shell 会有所帮助,但管理员必须审查完整的 SSH 配置。端口转发、命令执行、文件传输和强制命令行为,都可能在认证成功后形成不同的访问路径。
云权限扩大了潜在影响范围。被攻陷的虚拟机可能访问实例元数据、附加身份、内部服务或部署密钥。本地账户可能成为进入更大环境的入口点。
这正是 SSH 蜜罐数据能够发挥运营价值的地方。它告诉团队哪些用户名会持续受到常规关注,以及公开服务几乎无法依靠隐蔽性获得保护。它还提供了可用于验证告警和速率控制的真实输入。
正确的问题并不是每一种尝试组合是否都有效,而是是否仍有任何生产账户能够接受其中某一种组合。
数据支持加固,但不足以得出普遍结论
该实验强化了消除基于密码的暴露面的必要性,但仍有若干研究问题尚未解答。
最明确的防御措施是要求管理用途的 SSH 访问使用公钥认证。私钥对在线猜测的抵抗力远高于人工设置的密码。
CISA 建议管理员在可行的情况下要求使用公钥认证、禁用密码认证并限制重复尝试。其 SSH 加固指南还建议将管理服务与普通互联网流量隔离。
将 SSH 迁移到其他端口可以减少嘈杂的扫描,但不能替代认证控制。大范围扫描器能够发现非标准端口上的服务。更换端口主要只能减少不成熟的流量和日志量。
禁用直接 root 登录,可将最受攻击者关注的身份从基于密码的访问中移除。管理员应改用具名账户、受限权限和受控提权。
未使用的服务账户同样值得审查。git 或 deploy 账户应只暴露其工作流所需的能力。配置应拒绝该服务不需要的 Shell、转发、子系统和命令。
速率限制增加了另一层防护。NIST 将节流描述为防御在线密码猜测的主要措施。其密码指南也更倾向于使用阻止列表和机器生成的凭据,而非任意的密码组成规则。
日志应将失败尝试与后续成功关联起来。来自某一地址的一万次被拒绝密码尝试可能很嘈杂,但仍处于可控范围内。多次失败后出现的成功登录则需要立即调查。
团队还应监控认证后的行为。新进程、出站扫描、异常带宽、被修改的密钥、计划任务、隐藏目录以及与矿池的连接,都可能暴露入侵迹象。
网络隔离可降低漏报的后果。公开工作负载不应拥有对管理系统、敏感数据库或凭据存储的无限制访问。认证失败之后,最小权限同样重要。
不过,Uphill Security 项目仍存在重要局限性。仅在一个月内观察到的 15 个 IP 地址,无法描述每个地区、提供商或季节的情况。攻击活动会启动和停止,扫描器也会调整其字典。
该蜜罐记录了提交的值,但未将其与外部服务进行验证。这类验证在伦理上存在风险,也可能违法。研究人员不应使用收集到的组合去测试无关系统。
该项目还发布了可逆的凭据字符串。尽管这些值来自攻击者,但其中一些可能因巧合或重复使用而与真实密码相同。对未来发布内容进行哈希处理,可在减少不必要暴露的同时支持频率分析。
作者已将密码哈希列为计划改进项。与已知密码列表进行交叉比对,也有助于将常见字典输入与异常值区分开来。该过程应使用合法、负责任获取的参考数据。
更详细的时间信息将揭示攻击活动的结构。研究人员可以按源网络、凭据顺序、连接行为和传感器覆盖范围对突发活动进行分组。相似序列或许能在无需归因攻击者身份的前提下,暴露共用的扫描软件。
更高交互性的环境可以展示认证后发生的行为,但风险也更高。这类蜜罐必须隔离入侵者、限制其向外滥用,并防止诱饵系统伤害其他系统。
这构成了该项目的核心权衡。简单蜜罐能够安全捕获广泛的认证遥测数据,但缺乏行为深度。真实感更强的系统能提供更丰富的证据,却会增加隔离、法律和运营方面的要求。
当前结果支持采取实际的加固措施,因为攻击者会反复尝试可预测的账户。它们并不支持关于全球攻陷率、攻击者国籍或 131,922 个凭据对在现实世界中有效性的论断。
在 Hacker News 关注之后应观察什么
下一阶段应检验这些模式是否持续、攻击活动是否跨传感器聚类,以及成功认证后的机器人会尝试什么。
第一个信号是月度一致性。再进行一个采集周期,可以检验 root、admin 和简短数字密码是否仍占主导地位。稳定的排名将支持这样一个结论:标准字典驱动了大部分活动。
排名的大幅变化则可能表明攻击活动正在更替。某个特定产品用户名突然上升,可能反映出新的定向攻击、泄露的配置模式,或某个扫描器反复在网络中循环。
第二个信号是传感器层面的分布。按地址和地区统计的数据将揭示,高流量是覆盖整个网络,还是集中于某一个子网。这一区别将有助于解释荷兰地区的流量激增。
更均衡的地理部署将增强比较的可靠性。目前对欧洲的集中覆盖,使原始的大洲总量难以推广。更多提供商也可以降低某一家托管公司的地址历史所带来的影响。
第三个信号是受控的认证后行为。经过谨慎隔离的环境可以接受选定的诱饵组合,并记录攻击者发出的首批命令。这将把凭据猜测与可衡量的目标联系起来。
必须首先确保隔离。该环境应阻断出站扫描、垃圾邮件、拒绝服务流量以及对真实密钥的访问。研究人员还需要明确的数据保留、隐私和披露政策。
未来发布应在可能的情况下区分生成的猜测与重复使用的列表。序列分析会有所帮助,因为扫描器通常会按一致顺序提交凭据。匹配不同 IP 地址之间的这些序列,可以识别共用工具。
使用哈希而非可逆密码发布,也会改善研究设计。读者可以通过记录在案的程序比较已知弱值,而不会直接获得攻击者提交的明文列表。
Hacker News 的回应已经带来了一项有益的修正:大型数字需要准确的标签。“提交的凭据对”准确描述了证据。“收集到的凭据”则可能暗示实验从未验证过的有效性。
对运营人员而言,下一步行动并不依赖未来研究。盘点每一项面向互联网的 SSH 服务,确认密码认证已被禁用,并审查服务账户是否拥有超出预期的访问权限。
团队还应将这些决策与事件记录、配置和认证证据一并保存。可搜索的工程知识库有助于让本地文档中的运营上下文保持关联。
然后提出一个直接的问题:如果自动化扫描器今晚尝试 root:123456,你的服务器只会记录这次尝试,还是会成为他人的基础设施?


