前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >内网中间人的玩法

内网中间人的玩法

作者头像
信安之路
发布2018-08-08 11:06:26
2.2K0
发布2018-08-08 11:06:26
举报
文章被收录于专栏:信安之路

在内网渗透测试中,我们可以欺骗攻击网络配置和服务。这种攻击方式主要针对ARP(地址解析协议)、DHCP(动态主机配置协议)和DNS服务器配置不当造成的安全隐患。还有一种比较常见的攻击方式就是中间人攻击,他能够使我们通过监控网络流量获取敏感信息。我们可以对网络设备采取安全措施来预防攻击。但是,由于一些协议固有的弱点来进行攻击,本文就是利用LLMNR NetBIOS和WPAD机制来进行中间人攻击。

下面我们先了解一下DNS的查询过程,如图所示:

下面是在内网中dns查询的几个关键步骤:

1 文件系统中的hosts文件

代码语言:javascript
复制
配置文件地址:C:\Windows\System32\drivers\etc

2 本地DNS缓存

代码语言:javascript
复制
CMD命令:ipconfig /displaydns

3 向dns服务器发送dns请求

4 发送LLMNR查询

代码语言:javascript
复制
在DNS查询失败的时候使用

5 发送NetBIOS-NS查询

代码语言:javascript
复制
它工作在OSI模型的会话层。NetBIOS是一个API不是一个windows操作系统之间的协议。

计算机的NetBIOS名字跟电脑名字是一样的

LLMNR和NetBIOS-NS是什么

LLMNR (本地链路多播名称解析)和NetBIOS-NS(名称服务)是windows用于名称解析和沟通的两个组件。LLMNR是在windows vista之后版本中出现的,也算是NetBIOS-NS的延续。

LLMNR为使用IPv4、IPv6或者同时使用这两种地址的设备提供了点对点名称解析服务,可以让同一子网中的IPv4和IPv6设备不需要WINS或DNS服务器就可以解析对方的名称,而这个功能是WINS和DNS都无法完全提供的。虽然WINS可以为IPv4提供客户端-服务器以及点对点名称解析服务,不过并不支持IPv6地址。至于DNS,虽然支持IPv4和IPv6地址,但必须通过专门的服务器才能提供名称解析服务。LLMNR通过在DNS名称解析服务不可用时提供解析服务,弥补了DNS的不足。

LLMNR 协议经常在dns服务器解析不到的时候才会用到且使用的服务端口是5355 TCP/UDP,默认使用的多播服务IP地址是IPv4:224.0.0.252以及IPv6:FF02:0:0:0:0:0:1:3

比如:在内网中ping test.local,首先会去dns服务器查询,在dns服务器未找到的时候,这时查询请求就会重定向到LLMNR协议。

下图是查询时捕获的数据包:

而NetBIOS是本地网络的系统API,它有三种NetBIOS服务:

1 域名服务,使用137端口用于域名注册和域名解析

2 数据分发服务,使用138端口连接通信

3 会话服务,使用139端口面向连接通信

在dns查询失败后,LLMNR会调用NetBIOS,生成一个NetBIOS-NS数据包然后使用广播的方式发送出去。

这个看似没什么坏处的协议,我们可以利用其进行中间人攻击从而获取敏感数据,如用户名,hash等。

测试举例

攻击场景模拟
实现方式

推荐工具:

1 https://github.com/SpiderLabs/Responder

2 msf -- https://www.rapid7.com/db/modules/auxiliary/spoof/llmnr/llmnr_response

3 https://github.com/byt3bl33d3r/MITMf

简要步骤

1 使用Responder指定网络接口并开始监听流量

2 我们尝试连接\\filesrvr (一个不存在的主机名)

3 获取SMB-NTLMv2的哈希

4 我们已经知道了NTLMv2的哈希,这时我们既可以暴力破解也可以哈希传递来利用了。

利用WPAD

什么是WPAD

通常公司内网为了安全,不允许员工直接访问外网的服务,但是允许公司员工通过web代理访问外网资源,但是对于员工来说设置代理又是个麻烦事,所以通常公司使用wpad自动配置代理。

WPAD(web代理自动发现协议-Web Proxy Auto-Discovery Protocol),是客户端通过DHCP或DNS协议探测代理服务器配置脚本url的一种方式。当IE定位脚本并将脚本下载到本地之后,就可以通过该脚本来为不同的url选择相应的代理服务器。目前主流浏览器一般都支持WPAD。

WPAD是如何工作的

客户端想用访问wpad.dat配置代理,在DHCP服务器没有配置wpad的情况下,回去查找以wpad命名的服务器然后寻找对应的文件,然后进行以下步骤:

1 如果DHCP服务器配置了wpad,那么直接从DHCP服务器获取wpad.dat文件然后跳到第4步,否者执行下一步

2 向dns服务器发送请求查找wpad.test.local,然后获取代理配置文件,如果成功跳到第4步,否则执行下一步

3 发送LLMNR查询wpad.test.local,如果成功跳到第4步,不成功代理设置失败

4 下载wpad.dat并且配置

在第一步中使用dns污染攻击到第二步,第二步也可以使用dns污染攻击,这种攻击模式是可以通过配置网络设备去预防的。当通过LLMNR进行查询时,该请求将通过广播发送到网络中的每个客户端。 在这一点上,攻击者可以像wpad服务器那样将他的wpad.dat文件发送给客户端。

重要的是WPAD协议内置于Windows操作系统中。 此配置可以在Internet Explorer浏览器的LAN设置部分中看到。如下图;

利用WPAD

Responder是中间人攻击很好的实用工具,Responder提供假的WPAD服务器并响应客户端的WPAD名称解析。然后提供假的wpad.dat下载。Responder创建一个身份验证程序,并要求客户端填写域中的账户密码。这样就可以获取到员工的帐号密码。

下面是一个wpad中间人攻击的拓扑图:

利用Responder的步骤:

1 提供假的http服务器并等待帐号密码

2 Responder伪造的登录框

3 获取的明文如下

缓解WPAD攻击的方法

1 在DNS服务器上指定wpad服务器的地址

2 使用组策略设置禁止所有Internet浏览器上的“自动检测代理设置”。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • LLMNR和NetBIOS-NS是什么
  • 测试举例
    • 攻击场景模拟
      • 实现方式
        • 简要步骤
        • 利用WPAD
          • 什么是WPAD
            • WPAD是如何工作的
              • 利用WPAD
            • 缓解WPAD攻击的方法
            相关产品与服务
            多因子身份认证
            多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档