干了这么多年内网安全评估和应急响应,我见过太多人一拿到内网权限就掏出爆破工具开跑。结果往往很尴尬:账号被锁定、日志翻飞、目标设备还没摸清,人已经被防守方盯上了。真正让我觉得“凭据满天飞”的,从来不是爆破出来的,而是老老实实“翻”出来的。这篇文章想聊的就是内网里凭据密码收集的方法论,从终端文件、内存缓存、协议流量到策略性爆破,把我这些年攒下来的思路、步骤、坑和排查经验一次说清楚。
这篇文章适合三类人看:一是做授权渗透测试和红队评估的朋友,二是企业安全建设者,想搞明白内网到底哪里在泄露凭据,三是刚入门、想系统了解内网安全问题的新人。我尽量少讲虚的,多给能落地的检查思路和防护建议。先强调一句:所有方法都只能在获得授权的前提下使用,靶场、企业内部评估、红蓝对抗演习都是合理的场景,未授权环境下用这些手段,后果只能自己承担。
1. 先想清楚一件事:爆破不是你进入内网后的首选
1.1 为什么“瞎爆破”是最低效的选择
先说个很直观的现象:很多朋友把“内网渗透”等同于“爆破”。拿到一个目标内网 IP,第一反应就是架起 hydra、超级弱口令检查工具,把常见用户名字典和密码字典往上一灌,然后开始漫长等待。但真实的内网环境里,爆破的代价非常高。
第一是账户锁定策略。Windows 域环境默认或者经过安全加固后,往往配置了账户锁定阈值,比如 5 次失败锁定 30 分钟。一旦你对着某个账号连续尝试,账号被锁,防守方很快就会从安全日志里看到大量 4625 事件,等于直接暴露了自己。第二是告警问题。现在稍微正规一点的企业,都会在域控、核心交换机、EDR 上做登录失败告警。你跑一万次字典,可能十秒钟内告警就传到安全团队手机上了。第三是效率问题。爆破是典型的“用时间换概率”,对着未知密码试错,命中率其实低得感人。
我见过一次挺典型的授权评估,客户给了几台内网服务器的账号权限,结果测试人员一上来就对全 C 段跑 SSH 爆破,跑了一个通宵,一个弱口令都没跑出来。后来我们换了个思路,先去翻那几台服务器上的运维脚本和配置文件,半小时内就拿到了 3 组明文口令。这个对比很直观:爆破是“逐把试钥匙”,凭据收集则是“先检查门垫下面、花盆底下、口袋里面有没有备用钥匙”。后者的成功率比前者高一个数量级。
1.2 内网凭据收集的两条主线
我把内网凭据密码收集分成两条主线。第一条叫“主机侧存储形态”,意思是凭据以文件、数据库、内存、配置项等形式存在于终端和服务器上。比如 Web 配置文件里的数据库连接串、运维脚本里的 FTP 密码、远程桌面保存的凭据缓存、浏览器表单里保存的登录信息。第二条叫“协议侧传输形态”,意思是凭据在网络上传输的过程中被截获或重放。比如 HTTP Basic 认证的明文口令、FTP/Telnet 这类明文协议里的密码、SMB 协议中的 NTLM 认证数据。
这两条线的优先级是不一样的。我的经验是:先做主机侧的“翻垃圾”,再做协议侧的流量分析。因为主机侧的信息通常静态、稳定、不会突然消失,而且一旦找到就是明文口令,直接就能用。流量侧则需要你已经在目标网络中占据一定观察位置,而且很多内网流量已经加密或启用签名,能拿到的东西有限,但它的好处是“被动、安静、不容易被察觉”。
所以整套方法论的核心其实是“降低爆破的必要性”。凭据收集做得越充分,你越不需要靠试错去撞口令。就算最后必须做口令测试,也应该是精准的、有策略的,而不是一把梭。
1.3 授权与合规:这篇内容适用的场景
我必须把这条单独拎出来说。内网里的凭据收集,本质上是围绕口令展开的安全测试。它的合法场景很明确:你对自己企业的系统做安全自查,你所在的团队与目标单位签署了渗透测试授权书,或者你是在靶场、实验环境里做技术验证。除此之外,任何未授权的尝试都可能触犯法律。
写这篇文章的目的不是教人去打真实系统,恰恰相反,是希望大家理解内网口令是怎么“漏”出来的,从而在防守端做好自查和加固。我在后面每个小节里,能写防守建议的地方都会尽量写上。红队视角和蓝队视角本来就是一枚硬币的两面,理解了攻击者怎么收集凭据,才知道该把力气花在哪里堵漏。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 内网凭据的第一大来源:终端与服务器上的“翻垃圾”环节
2.1 配置文件:一个口令串就能让你少跑一万次字典
“翻垃圾”听上去不高级,但它是内网凭据收集里性价比最高的动作。企业内网里最不缺的就是各种配置文件,它们散落在 Web 服务器、应用服务器、数据库服务器上,里面几乎都硬编码着敏感口令。
最常见的几类配置目标:
- Web 站点配置:
config.php、application.yml、web.config、.env等文件里,大概率有数据库连接串、Redis 密码、加密 key。 - 中间件配置:Tomcat 的
tomcat-users.xml、WebLogic 的config.xml、Nginx 的nginx.conf里如果配置了反向代理和上游认证,也可能存在口令。 - 运维平台配置:Jenkins 的
credentials.xml、GitLab Runner 配置、Ansible 的 inventory 文件,里面保存的凭据数量往往比想象中多得多。 - 云环境配置:企业上云之后,
~/.aws/credentials、阿里云 CLI 的配置文件、腾讯云 API 密钥,经常以明文形式摆在服务器上。
查找方式不复杂。在拿到授权的 Linux 主机上,用 grep 快速扫关键字即可。我常用的命令大概是:
bash复制grep -r -E "password
