NTML
阅读原文时间:2023年07月08日阅读:2

 NTLM:

        1.客户端向服务器发送一个请求,请求中包含明文的登陆用户名。在服务器中已经存储了登陆用户名和对应的密码hash

        2.服务器接收到请求后,NTLMv2协议下会生成一个16位的随机数(这个随机数称为Challenge),明文发送回客户端。使用存储的登录用户名密码hash加密Challenge,获得challenge1

        3.客户端接收到Challenge后,使用当前账户密码的hash(NTLM Hash)对Challenge加密,获得response,将response发送给服务器

        4.服务器接收到客户端加密后的response,比较response和Challenge,如果相同,验证成功

LLMNR协议:

一台主机想要访问到另一台主机时,主机在自己的内部名称缓存中查询名称。如果在缓存中没有找到名称,那么主机就会向自己配置的DNS服务器发送查询请求。如果主机没有收到回应或收到了错误信息,即DNS解析会失败,那么就会转为使用LLMNR链路本地多播名称解析。使用链路本地多播名称解析时,主机会通过UDP向局域网内发送多播查询,查询主机名对应的IP,查询范围被限制在本地子网内。本地子网内每台支持LLMNR的主机在收到这个查询请求后,收到到请求的主机会判断自己的主机名是不是这个查询的主机名。如果是,这台主机会回复自己IP地址给请求该查询的主机;如果不是,则丢弃该请求。

NetBIOS协议:

网络基本输入输出系统,它提供了OSI模型中的会话层服务,让在不同计算机上运行的不同程序,可以在局域网中互相连线以及分享数据。严格来说,Neibios是一种应用程序接口(API),系统可以利用WINS服务、广播及Lmhost文件等多种模式将NetBIOS名解析为相对应的IP地址。

SMB欺骗:(获取凭证后进行hashcat爆破 )

当捕捉过一次以后,不会再继续捕捉。

NTML中继攻击:(域控环境下有smb验证,工作组默认不开启)与PTH很相似,对于工作组而言,需要sid为500用户的hash。也就是被欺骗主机是sid 500的用户发起的请求,且密码与被攻击主机sid500 账户密码相同。对于域用户而言,需要域管理员组的用户发起请求才行。

步骤:1.修改Responder.conf http与smb为OFF

2. 主机A访问先访问B,然后访问一个不存在的共享,发现kali接收到了中继(主机B)的shell(

使用RunFinger.py -i ip查找SMB signing为false的机器

使用MultiRelay.py -t ip -u ALL,Responder.py -i 网卡

参考链接:NTLM认证相关攻击技巧(较全) - 先知社区 (aliyun.com)