在内网渗透中,当攻击者获取到内网某台机器的控制权后,会议被攻陷的主机为跳板,通过收集域内凭证等各种方法,访问域内其他机器,进一步扩大资产范围。通过此类手段,攻击者最终可能获得域控制器的访问权限,甚至完全控制基于windows操作系统的整个内网环境,控制欲环境下的全部机器。
windows下安全认证机制
windows下的安全认证机制总共有两种,一种是基于ntlm的认证方式,主要用在早期的windows工作组环境中;另一种是基于kerberos的认证方式,主要用在域环境中。
图1: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后,我们可以用破解工具来破解得到明文密码,也可以进行哈希传递攻击来横向渗透。
智能垃圾桶的制作教程
英国皇家国家剧院计划为2019年度所有的表演 全面提供AR字幕眼镜服务
NVIDIA 知乎精彩问答甄选 | 了解 NVIDIA 生成式 AI 相关技术如何驱动各行业发展
可快速储存热量的创新技术 为电动汽车座舱供暖
Ultra-Thin DC-DC Converters Su
内网渗透:获取Windows内Hash密码的方法
上京东预定vivo新机可享众多权益!vivo Z6和iQOO 3等你pick
RoHS测试仪有辐射吗
传台积电六大AI客户群明年投片需求将增加
苏-35单挑两架猛禽F22,我国订购即将全部到货
电压比较器工作原理
2020年-2021年全国电力供需形势预测
Advancis与Quanergy打造更强的周界入侵检测和人员统计应用
多功能降压-升压转换器可在各种应用中提供高效率
粤港澳大湾区工业发展中值得关注的问题
2019年推出的iPhone将会有一款采用三镜头摄像头设计
2019年二季度末,乐信用户突破五千万达到5020万
家电市场缺芯,国产芯片产业链有望加速市场拓展
信息消费成经济转型抓手 4G建设料再超预期
金风直驱风力发电原理