目录

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. python scapy实现ARP欺骗与DNS欺骗

    (仅限python2.7.15) 关于ARP ARP协议(地址解析协议),是一个能够将IP地址转换为MAC地址来让设备间通讯的协议,由于设备间进行网络通讯时,需要将网络层IP数据包包头中的IP地址信息 ...

  2. 利用NetBIOS名称与其他计算机通信

    当某台计算机与网络中的其他计算机通信时,它是如何依据对方的计算机名称来得知其IP地址呢?名称解析的方法有以下几种: 检查NetBIOS名称缓存(NetBIOS name cache) 广播 直接向WI ...

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

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

  4. 《网络空间欺骗:构筑欺骗防御的科学基石》一1.1 主动网络空间防御中网络空间抵赖与欺骗的视图...

    1.1 主动网络空间防御中网络空间抵赖与欺骗的视图 本文讲的是网络空间欺骗:构筑欺骗防御的科学基石一1.1 主动网络空间防御中网络空间抵赖与欺骗的视图,将抵赖与欺骗纳入标准操作规程(SOP):随着攻击 ...

  5. 修改域的NetBIOS名称

    一.修改Windows 2008域的NetBIOS名称 1. 进入命令提示符窗口 2. 生成域命名配置文件 Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009  ...

  6. 网络嗅探与欺骗----函数sniff()、ARP的原理、ARP欺骗、AARP欺骗的中间人攻击

    网络嗅探与欺骗 如果想要彻底了解一个网络,那么最好的办法就是对网络中的流量进行嗅探 嗅探工具可以用来窃取网络中明文传输的密码,监视网络中的数据流向,甚至可以收集远程登录所使用的NTLM数据包(这个数据 ...

  7. 《网络空间欺骗:构筑欺骗防御的科学基石》一2.4.3 实施和集成欺骗

    2.4.3 实施和集成欺骗 本文讲的是网络空间欺骗:构筑欺骗防御的科学基石一2.4.3 实施和集成欺骗,许多欺骗机制作为一个单独的与真实系统不相交的组件而实现,例如蜜罐.随着许多被恶意敌手和恶意软件所 ...

  8. 《网络空间欺骗:构筑欺骗防御的科学基石》一2.4.2 策划欺骗

    2.4.2 策划欺骗 本文讲的是网络空间欺骗:构筑欺骗防御的科学基石一2.4.2 策划欺骗,策划一个成功的以欺骗为基础的防御组件有6个基本步骤来.第一步,经常被忽视,是确定防御者想要达到的战略目标.简 ...

  9. NETBIOS名称解析

    无聊至极,整理一下,呵呵!主要来自于微软官方! NetBIOS协议 说明:全称NetWork Basic Input/Output System(网络基本输入/输出系统),该协议是由IBM公司开发,主 ...

最新文章

  1. CF939E:Maximize! ——题解
  2. Python基础教程:type()函数-动态创建类
  3. CV中多的空格导致报错
  4. 7-8垃圾箱分布_您认为有关垃圾收集的7件事-完全错了
  5. shiro会话监听_SpringBoot集成Shiro会话管理
  6. Visual Studio 2012资源管理器里单击打开改为双击打开文件
  7. 地铁 java_怎么用Java编写一个地铁售票机的程序?
  8. excel字符处理函数
  9. 拼音排序mysql_MySQL拼音排序解决方案解决办法
  10. html文件里面的中文乱码
  11. pads图标logo库制作方法
  12. iOS开发初学者入门需要学习哪些知识?
  13. 浏览器快捷键大全、常用快捷键整理
  14. 如何系统地学习3D建模!教你零基础入门,初学者看过来
  15. 快速排序算法的发明者霍尔
  16. 【QNX Hypervisor 2.2 用户手册】1.3 QNX hypervisor架构
  17. 4维俄罗斯方块 java_HTML5边玩边学(九)-俄罗斯方块之数据模型篇
  18. python后台开发性能问题_《Python高性能编程》——2.14 确保性能分析成功的策略-阿里云开发者社区...
  19. 网页使用微信扫码登录
  20. python zipfile压缩文件夹

热门文章

  1. matlab画图的参数,Matlab 画图plot参数 颜色 类型
  2. AWR报告相关指标解读
  3. Flask学习之旅——2.6 模板继承
  4. 换位思考:爱情要不要门当户对?
  5. 2017 年度码云新增项目排行榜 TOP 50,为它们打“call”
  6. oracle shell卸数,Shell 数据库文件卸数成多个txt文件
  7. 第3讲:组件图(Component Diagram)
  8. go实现word,excel,pptx转pdf
  9. uni-app开发短视频创作伴侣AI配音语音合成神器
  10. 桐梓县春晖行动志愿者协会开展环保捡拾垃圾志愿服务活动