浙江省委宣传部副部长、省委网信办主任赵磊:守正创新 辩证施策 全力推动网络生态治理工作迈上新台阶
2026-02-10
美创产品全面入围中直机关2025年网络设备框架协议采购项目
2026-02-04
连续5年!美创再获中国网络安全产业联盟“先进会员单位”表彰
2026-01-21
每周安全速递³⁷¹ | 勒索软件攻击导致心理健康机构超11万人数据泄露
2026-01-06
四年同行,韧性共铸:西南某商行携手美创科技再度通过年度容灾大考
2025-12-26
存储域
数据库加密 诺亚防勒索访问域
数据库防水坝 数据库防火墙 数据库安全审计 动态脱敏流动域
静态脱敏 数据水印 API审计 API防控 医疗防统方运维服务
数据库运维服务 中间件运维服务 国产信创改造服务 驻场运维服务 供数服务安全咨询服务
数据出境安全治理服务 数据安全能力评估认证服务 数据安全风险评估服务 数据安全治理咨询服务 数据分类分级咨询服务 个人信息风险评估服务 数据安全检查服务在内网渗透中,当攻击者获取到内网某台机器的控制权后,会议被攻陷的主机为跳板,通过收集域内凭证等各种方法,访问域内其他机器,进一步扩大资产范围。通过此类手段,攻击者最终可能获得域控制器的访问权限,甚至完全控制基于Windows操作系统的整个内网环境,控制欲环境下的全部机器。
Windows下安全认证机制
Windows下的安全认证机制总共有两种,一种是基于NTLM的认证方式,主要用在早期的Windows工作组环境中;另一种是基于Kerberos的认证方式,主要用在域环境中。
NTLM认证流程图
这里主要对NTLM的认证流程做一下说明:
1、首先在客户端中输入username,password和domain,然后客户端会把密码进行Hash后的值先缓存到本地。
2、Client将username的明文发送给DC(域控)。
3、DC会生成一个16字节的随机数,也就是挑战码(Challenge),然后再传回给Client。
4、当Client收到挑战码以后,会先复制一份,然后和缓存中的密码Hash再一同混合Hash一次,混合后的值称为response,之后Client再将challenge,response以及username一并都传给server。
5、Server端在收到client传过来的这三个值以后会把它们都转发给DC。
6、当DC接到过来的这三个值的以后,会根据username到域控的账号数据库(ntds.dit)里面找到该username对应的hash,然后把这个hash拿出来和传过来的challenge值再混合hash。
7、将混合后的hash值跟传来的response进行比较,相同则认证成功,反之,则失败,当然,如果是本地登录,所有验证肯定也全部都直接在本地进行了。
在Windows2000以后,Windows机器都用NTLM算法在本地保存用户的密码,密码的NTLM哈希保存
在%SystemRoot%System32configSAM文件中。Windows操作系统中的密码一般由两部分组成:一部分为LM Hash,另一部分为NTLM Hash。在Windows中,Hash的结构通常如下:
Username:RID:LM-Hash:NT-Hash
在windows2000以后的系统中,第一部分的 LM-hash 都是空值,因为LM-hash可以很容易的破解,所以windows2000之后这个值默认为空,所以第二部分的NTLM-hash才真正是用户密码的哈希值。在渗透测试中,通常可从Windows系统中的SAM文件和域控数据库的NTDS.dit文件(在域环境中,用户信息存储在NTDS.dit中)中获得所有用户的Hash。
使用PwDump工具获取密码Hash
PwDump7可以在CMD下提取出系统中的用户的密码hash,使用管理员权限直接运行该工具即可:
获取到Hash后,我们可以用破解工具来破解得到明文密码,也可以进行哈希传递攻击来横向渗透。
使用Mimikatz工具抓取Windows密码
Mimikatz是安全人员在内网渗透过程中的利器,它是由法国的一位大神研发的。攻击者可以通过Mimikatz提升进程权限注入进程读取进程内存。
Mimikatz的最大功能是可以直接读取Windows操作系统的明文密码,原理是lsass.exe是Windows系统的安全机制,主要用于本地安全和登陆策略,通常在我们登陆系统时输入密码后,密码便会存贮在lsass.exe内存中,经过wdigest和tspkg两个模块调用后,对其使用可逆的算法进行加密并存储在内存中,而Mimikatz正是通过对lsass.exe逆算获取到明文密码。
需要注意的是当目标为win10或2012R2以上时,默认在内存中禁止保存明文密码,但是我们可以通过修改注册表的方式抓取明文,输入以下命令即可:
Reg add HKLMSYSTEMCurrentContro
lSetControlSecurityProvidersWDigest /vUseLogonCredential /t REG_DWORD /d 1 /f
1、直接读取
Mimikatz读取明文密码和hash时需要管理员权限。
privilege::debug //提升至debug权限
sekurlsa::logonpasswords //抓取密码
2、Procdump+Mimikatz离线读取lsass.dmp文件
Procdump是微软官方发布的工具,可以用来将目标lsass文件导出。先在目标机器上上传Procdump,导出lsass.dmp
procdump64.exe-accepteula-ma
lsass.exe lsass.dmp

将目标机上的lsass.dmp下载到本地后,执行Mimikatz导出lsass.dmp里面的密码和hash:
sekurlsa::minidump 目录lsass.dmp //将导出的lsass.dmp载入到Mimikatz中
sekurlsa::logonpasswords full //获取密码
3、通过SAM和System文件抓取密码和Hash
首先利用注册表命令将目标机的sam或者system文件导出
reg save hklmsam sam.hive
reg save hklmsystem system.hive
然后将目标机上的sam.hive和system.hive下载到本地,利用Mimikatz读取sam和system文件获取NTLMHash:
token::elevate
lsadump::sam

Windows密码破解方法
1、ophcrack在线破解
防范措施
需要将UseLogonCredential的值设为0,然后注销当前用户,重新登陆即可。