目录

LLMNR和NetBios

攻击原理

Responder

攻击过程


LLMNR和NetBios

什么是LLMNR和NetBIOS名称服务器广播?

当DNS名称服务器请求失败时,Microsoft Windows系统就会通过链路本地多播名称解析(LLMNR)和Net-BIOS名称服务(NBT-NS)试图在本地进行名称解析。

LLMNR和Netbios NS广播存在的问题

当DNS名称无法解析的时候,客户端就会将未经认证的UDP广播到网络中,询问它是否为本地系统的名称。 事实上,该过程是未被认证的,并会广播到整个网络,从而允许网络上的任何机器响应并声称是目标机器。

什么是LLMNR / NBT-NS欺骗?

通过侦听LLMNR和NetBIOS广播,攻击者可以伪装成受害者(客户端)要访问的目标机器,从而让受害者乖乖交出相应的登陆凭证。在接受连接后,攻击者可以使用 Responder 或 Metasploit 等工具将请求转发到执行身份验证过程的服务(如SMB)。 在服务身份验证过程中,受害者会向服务器发送用于身份认证的NTLMv2哈希值,这个哈希值会被攻击者接收并保存。之后就可以使用像Hashcat 或John Ripper(TJR)这样的工具在线破解,或直接用于 pass-the-hash 攻击。

在Windows中,LLMNR和NBT-NS是默认启用的,并且了解这种攻击的人很少,所以我们可以在内部渗透测试中利用该攻击来收集凭据。为此,我们可以在使用其他攻击手段进行测试的过程中,可以让Responder一直监听着。

Netbios(Network Basic Input Output System):网络基本输入输出系统,NetBIOS协议是由IBM公司开发,主要用于20-200台计算机的局域网。Netbios是一种应用程序接口(API),系统可以利用WINS服务、广播及Lmhost文件等多种模式将NetBIOS名解析为相应IP地址,实现信息通讯作用是为了给局域网提供网络以及其他特殊功能,几乎所有的局域网都是在NetBIOS协议的基础上工作的。在Windows操作系统中,默认情况下在安装 TCP/IP 协议后会自动安装NetBIOS。

查看局域网内其他主机的 NetBIOS Name : nbtscan  --r  10.96.10.0/24

LLMNR(Link-LocalMulticast NameResolution):链路本地多播名称解析(LLMNR),是一个基于协议的域名系统(DNS)数据包的格式。当主机访问另外一台主机时,如果只知道对方的主机名,则会向局域网内广播请求,询问该主机名对应的ip地址,然后收到该请求的主机首先会判断自己的主机名是否是这个,如果是的话,则会回复一个ip地址,如果主机名不符合,则丢弃。LLMNR协议就类似于ARP协议。

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

NetBIOS 和 LLMNR在WindowsVista以后的系统中均实现,二者的主要区别在于:

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

攻击原理

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

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

Responder

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

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

Responder会将所有抓取到的hash打印到标准输出接口上,同时会将抓取到的数据存储到 /usr/share/responder/logs/ 文件夹下。

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

攻击过程

  1. 用户发送不正确的SMB共享地址 \\ SNARE01
  2. DNS服务器响应 \\SNARE01 - NOT FOUND
  3. 客户端进行 LLMNR / NBT-NS广播
  4. 攻击者告诉客户端它是SNARE01,并接受被害者发送用于认证的NTLMv2哈希值,保存于本地
  5. 响应者将错误发送回客户端,因此最终用户如果不是精于此道的话,通常不会引起警觉

攻击端输入:

responder -I eth0 -f      #-I指定使用的网卡,-f允许攻击者查看受害者的主机指纹。

开启毒化,针对LLMNR、NBT-NS(NetBIOS名称服务)、DNS/MDNS的毒化攻击已经开启。

靶机端只要随便输入不能解析的名称

可以看到,攻击端已经收到了靶机的NTLMv2版本的hash值,该值被存放到了 /usr/share/responder/logs/ 目录下

最后一步是破解NTLMv2哈希值,这一步成功与否与被害者密码的强弱和你的密码字典有关

NetBIOS名称欺骗和LLMNR欺骗的更多相关文章

  1. 中间人攻击之arp欺骗 科普ARP欺骗

    中间人攻击之arp欺骗 科普ARP欺骗 A <-> B A中有个ARP Table,每次发包都会在此Table中查找,若找不到,发APR Request包询问.此时若hacker冒充B的M ...

  2. 将NetBIOS名称解析为IP地址的常用方法

    在Windows网络中,当一台计算机要利用NetBIOS名称与另一台计算机通信时,首先要将对方计算机的NetBIOS名称解析成IP地址 2.广播   通过发送一个广播消息来查询对方的IP地址,拥有此N ...

  3. LLMNR欺骗工具Responder

    LLMNR(Link-Local Multicast Name Resolution,链路本地多播名称解析)协议是一种基于DNS包格式的协议.它可以将主机名解析为IPv4和IPv6的IP地址.这样用户 ...

  4. ApacheCN Kali Linux 译文集 20211020 更新

    Kali Linux 秘籍 中文版 第一章 安装和启动Kali 第二章 定制 Kali Linux 第三章 高级测试环境 第四章 信息收集 第五章 漏洞评估 第六章 漏洞利用 第七章 权限提升 第八章 ...

  5. 超越LLMNR /NBNS欺骗 - 利用Active Directory集成的DNS

    利用名称解析协议中的缺陷进行内网渗透是执行中间人(MITM)攻击的常用技术.有两个特别容易受到攻击的名称解析协议分别是链路本地多播名称解析(LLMNR)和NetBIOS名称服务(NBNS).攻击者可以 ...

  6. 使用ARP欺骗, 截取局域网中任意一台机器的网页请求,破解用户名密码等信息

    ARP欺骗的作用 当你在网吧玩,发现有人玩LOL大吵大闹, 用ARP欺骗把他踢下线吧 当你在咖啡厅看上某一个看书的妹纸,又不好意思开口要微信号, 用arp欺骗,不知不觉获取到她的微信号和聊天记录,吓一 ...

  7. netbios wins dns LLMNR

    NetBIOS名称 Network Basic Input/Output System  (RFC-1001,1002)网络基本输入/输出系统协议 NetBIOS是一种高级网络接口,最初是在硬件中实 ...

  8. 【转】宽带路由器应用(三)—ARP欺骗防护功能的使用

    在局域网中,通信前必须通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址).ARP协议对网络安全具有重要的意义.通过伪造IP地址和MAC地址实现ARP欺骗,对网络的正常传输和安全都是一个很 ...

  9. 【网络编程4】网络编程基础-ARP响应(ARP欺骗之中间人攻击)

    arp欺骗->arp响应 ARP 缓存中毒(ARP欺骗) arp传送原理在于主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址:收到返回消 ...

随机推荐

  1. LG gram 双系统全指南

    LG gram 双系统全指南 为了和同学联机玩帝国时代2,以及为了下学期的编程课,五年没用过 Windows 的我决定装 Ubuntu20.04 LTS / WIndows 10 双系统了. 我的 L ...

  2. Fedora一键安装NVIDIA显卡驱动Fedora28+

    这是一篇以前写的文章,写在CSDN的,现在不想使用CSDN了,就把笔记写在了博客源,后续考虑建立自己的博客,每一个CRUD程序员都想建立自己的博客吧,我猜是的 进入正题 rpm fusion源包含Nv ...

  3. 在Linux上从零开始部署前后端分离的Vue+Spring boot项目

    最近做了一个前后端分离的商城项目来熟悉开发的整个流程,最后希望能有个正式的部署流程,于是试着把项目放在云服务器上,做了一下发现遇到了不少问题,借此记录一下整个部署的过程. 使用的技术栈如标题所说大体上 ...

  4. slickgrid ( nsunleo-slickgrid ) 5 增加子件

    slickgrid ( nsunleo-slickgrid ) 5 增加子件 上次把单元格切换的问题解决了,这次要最做的事情就是给slickgrid的treegird增加子件,我们先选中某一条记录,然 ...

  5. java实现回溯算法

    最近有在leetcode上面做算法题,已经遇到了两道回溯算法的题目,感觉一点思路都没有,现决定将java如何实现回溯算法做一次总结. 什么叫做回溯算法 (摘抄于百度百科) 回溯算法实际上一个类似枚举的 ...

  6. Python3+Pygame实现的射击游戏,很流畅,有音效

    之前看到过很多人写的飞机大战,当然了之前我也写过多个版本,总体来说功能是实现了,但总感觉不够"炫" 今天浏览Python资料的时候,意外发现了这个很好的"射击" ...

  7. java例题_13 加上100再加上168的完全平方数问题

    1 /*13 [程序 13 根据条件求数字] 2 题目:一个整数,它加上 100 后是一个完全平方数,再加上 268 又是一个完全平方数,请问该数是多少? 3 程序分析:在 10万以内判断,先将该数加 ...

  8. 用 customRef 做一个防抖函数,支持 element 等UI库。

    这几天学习Vue的官网,看到 customRef 提供了一个例子,研究半天发现这是一个防抖函数,觉得挺好,于是把这个例子扩展了一下,可以用于表单子控件和查询子控件. 需求 v-model 基于 ele ...

  9. jQuery核心函数和静态方法

    jQuery核心函数 从jQuery文档中可以看出,jQuery核心函数一共3大类4小类 jQuery(callback) 当DOM加载完成后执行传入的回调函数 <script> $(fu ...

  10. 在PHP7以上版本使用不了mysql扩展

    旧程序使用了mysql扩展,而新环境却是PHP7以上版本,不支持mysql扩展,办法是将旧程序中的mysql相关内容修改为mysqli或PDO代码. 但是涉及修改的量大,那则可以包含(include ...