美文网首页
NetBIOS名称欺骗和LLMNR欺骗

NetBIOS名称欺骗和LLMNR欺骗

作者: 蚁景科技 | 来源:发表于2018-05-02 14:52 被阅读227次

    NetBIOS和LLMNR简介

    NetBIOS和Link-LocalMulticast NameResolution(LLMNR)是Microsoft针对工作组和域设计的名称解析协议,主要用于局域网中的名称解析。当DNS解析失败时,Windows系统会使用NetBIOS和LLMNR搜索名称。这些协议只为本地连接设计。

    NetBIOS和LLMNR在WindowsVista以后的系统中均实现,二者的主要区别在于:1)NetBIOS基于广播,而LLMNR基于多播;2)NetBIOS在WindowsNT以后的所有操作系统上均可用,而只有WindowsVista和更高版本才支持LLMNR;3)LLMNR还支持IPv6,而NetBIOS不支持,因此,在启用了IPv6,但对IPv6管理不如IPv4那样细致的复杂网络中,就可能发生更广泛的攻击。

    当使用DNS的主机名解析失败后,工作站将广播一个查询来获取NetBIOS名称,或者通过LLMNR地址224.0.0.252(对于IPv6位FF02:1:3)发送一个多播请求来获取名称。

    攻击原理

    NetBIOS和LLMNR协议对于没有DNS的工作站系统来说很有帮助,但也对攻击者大开方便之门。当人们输入不存在、包含错误或者DNS中没有的主机名时,就会使用这些协议在网络中搜索主机,这些协议的本质决定了本地网络上的任何主机都可以回答请求。这意味着作为攻击者,我们能够代替网络上任何不存在的主机回答请求,并诱导搜索内容的主机连接到我们。攻击示意图如图1所示。

    图1LLMNR/NetBIOS欺骗攻击示意图

    更严重的是,当我们使用Metasploit和Responder等工具时,可以要求验证受害者主机的身份,而如果我们被认为是这些主机所在的本地网络中的一部分时,他们就会把自己进行哈希后的Windows凭据发给我们。

    Responder简介

    Responder是由LaurentGaffie发布的一款功能强大且简单易用的内网渗透工具,将NetBIOS名称服务(NBNS)、LLMNR和MDNS欺骗集成到一个工具中。

    下载地址为https://github.com/SpiderLabs/Responder,当前最新版本是2.3。

    默认Kali已安装responder

    Responder的特性包括内置SMB认证服务器、MSSQL认证服务器、HTTP认证服务器、HTTPS认证服务器、LDAP认证服务器,DNS服务器、WPAD代理服务器,内建FTP、POP3、IMAP、SMTP服务器用于收集明文的凭据。

    Responder会将所有抓取到的hash打印到标准输出接口上同时会以下面的格式存储到logs/文件夹下。

    (MODULE_NAME)-(HASH_TYPE)-(CLIENT_IP).txt

    所有的活动都会记录到Responder-Session.log,分析模式下的日志保存到Analyze-Session.log,毒化模式下的日志保存到Poisoners-Session.log.同时所有抓到的hash都会存储到我们在Responder.conf中配置的sqlite数据库中.

    为了获取Responder的帮助选项,输入responder–h,如图2所示。

    图2Responder帮助

    攻击场景

    接下来我们开始进行NetBIOS和LLMNR欺骗攻击。以下操作都在VMware虚拟机中进行。

    所使用的网络环境如下表,攻击者和受害者在同一局域网中。

    攻击流程

    1.运行Responder

    在攻击者主机上运行Responder,命令如下:

    responder –I eth0 –f

    命令解释:-I指定使用的网卡,-f允许攻击者查看受害者的主机指纹。

    开启后,如图3所示,从图中可以看出,针对LLMNR、NBT-NS(NetBIOS名称服务)、DNS/MDNS的毒化攻击已经开启。

    图3开启responder

    2.受害者访问不存在的主机

    在访问之前,首先确保Windows7主机的网络类型是工作网络或者家庭网络中,这将确保凭据通过SMB发送。如图4所示。

    图4设置网络类型

    受害者在资源管理器的地址栏中输入\\gha时,如图5所示,Windows系统会尝试连接主机“gha”。首先,它会检查DNS,如果不存在,就会通过LLMNR协议进行多播,在局域网中进行搜索。此时,我们可以在攻击机上看到Responder的响应,然后受害者的Windows机器会向攻击者进行身份验证。

    图5连接主机gha

    可以看到,受害者请求gha主机时,攻击者的Responder会返回一个LLMNR欺骗,并得到受害者Windows的操作系统信息。当Windows系统尝试连接时,Responder会记录发送的哈希,用户名、IP地址等信息,如图6所示。

    图6LLMNR欺骗

    至此,我们获取了一个NTLMv2哈希。NTLM的全称是NTLAN Manager,是微软提出的WindowsNT挑战/响应验证机制,用于在局域网内传输口令信息,NTLMv2是NTLM的更新版本。

    3.破解NTLMv2哈希

    在一个局域网环境中,我们让Responder运行几分钟到几个小时,以捕获尽可能多的凭据。

    停止Responder后,在安装目录的logs文件夹下,会为每个service-proto-IP生成唯一的文件,如图7所示。

    图7Responder日志目录

    本例中是SMB-NTLMv2-SSP-192.168.26.144.txt

    接下来,使用johnthe ripper进行破解NTLMv2。JohntheRipper是一款快速密码破解器,目前可用于Unix,Windows,DOS和OpenVMS等多种版本。它的主要目的是检测弱Unix密码。除了支持各种Unix系统上最常见的几种密码哈希类型之外,还支持WindowsLM哈希,在社区增强版本中,还支持大量其他哈希和密码。

    默认kali中已经安装该工具,启动命令是john。John可以使用外部字典,使用--wo选项指定外部字典,本例中,我们没有使用外部字典,而是使用john的默认字典,因此没有使用--wo选项。命令如下图。

    图8john破解密码

    可以看出,破解出密码后,就显示到屏幕上。由于我们的密码比较简单,所以很快就破解出来。

    如果收集到很多凭据,可以通过cat*NTLMv2* > NTLMv2.txt将所有的NTLMv2凭据汇聚到一个文件中,然后使用该文件同时破解多个密码。

    防御措施

    为了防止在局域网内遭到NetBIOS名称欺骗和LLMNR欺骗攻击,可以考虑关闭NetBIOS和LLMNR服务。不过在关闭这些服务以后,可能用户的一些正常需求会受到影响。

    关闭NetBIOS

    依次点击控制面板->网络和Internet->网络连接,右击本地连接或者无线网络连接,选择“属性->Internet协议版本4->属性->高级”,在WINS标签栏中的NetBIOS设置中禁用NetBIOS,如图9所示。

    图9关闭NetBIOS

    关闭LLMNR

    点击开始->运行,输入gpedit.msc,如图10所示,打开本地组策略管理器。

    图10运行

    依次点击计算机配置->管理模板->网络->DNS客户端,如图11所示。

    图11本地组策略管理器

    在右侧的设置里,双击最下面的“关闭多播名称解析”,选择“已禁用”,并应用,如图12所示。

    图12关闭多播名称解析

    (完)

    注:本文为合天原创奖励投稿,未经允许,严禁转载!!!

    相关文章

      网友评论

          本文标题:NetBIOS名称欺骗和LLMNR欺骗

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