专栏首页信安之路内网中间人的玩法

内网中间人的玩法

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

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

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

1 文件系统中的hosts文件

配置文件地址:C:\Windows\System32\drivers\etc

2 本地DNS缓存

CMD命令:ipconfig /displaydns

3 向dns服务器发送dns请求

4 发送LLMNR查询

在DNS查询失败的时候使用

5 发送NetBIOS-NS查询

它工作在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浏览器上的“自动检测代理设置”。

本文分享自微信公众号 - 信安之路(xazlsec),作者:myh0st

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-06-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 利用DNS协议回显数据

    这个问题已经是去年提出的了,之前也看到过,在 CTF 题目环境中利用过却对原理不慎了解,在公司大佬们的帮助下成功了理解了一波原理。

    信安之路
  • DataCon 的 DNS 恶意流量检查一题回顾

    首先,第二题直接放弃了,算法对我来说很掉头发的,果断放弃了。毕竟现在不是答题时间了,下面的分析如有错误还请各位留言扶正,谢谢!

    信安之路
  • UAF 实例-RHme3 CTF 的一道题

    堆的题目基本都是选择菜单,这里可以添加,删除,选择,编辑,展示球员,还可以显示队伍,功能看着很多啊

    信安之路
  • DNS服务

    DNS(Domain Name System)域名系统,在TCP/IP 网络中有非常重要的地位,能够提供域名与IP地址的解析服务。

    胡齐
  • 阿里巴巴Druid数据源,史上最强的数据源,没有之一

    目前常用的数据源主要有c3p0、dbcp、proxool、druid,先来说说他们 Spring 推荐使用dbcp; Hibernate 推荐使用c3p0和pr...

    风间影月
  • 教你学木马攻防 | 隧道木马 | DNS反弹shell

    在上一篇文章中,我们讲解了木马通信协议中的ICMP协议,并通过ICMP实现了一个反弹shell,本篇接着讲解一下DNS隧道,也实现一个反弹shell。

    七夜安全博客
  • 呼吁暂停面部识别,突出了防止监视技术的必要性

    皮查伊说:“面部识别调节可以立竿见影,但也许我们需要等待一段时间才能真正考虑它的使用方式。”。他表示,支持欧盟委员会(European Commission)在...

    AiTechYun
  • Android开发:往项目工程里面新引入工具包的步骤

    在Android开发过程中,有些时候会根据实际需要往项目里面引入工具包,作为初级开发者或者刚开始入门的开发者来说会不太熟练怎么引入,那么本篇博文就来分享一下给项...

    三掌柜
  • 外媒为比特币挖矿平反:耗电并没有那么多

    腾讯科技讯 据外媒报道,许多人猜测,比特币挖矿将导致电力消耗“不受控制地增长”。但这一猜测可能被夸大了,让人想起关于数据中心和大麻种植将消耗大量电力的担忧。 瑞...

    企鹅号小编
  • 热点 | 苹果目前正在雇佣增强现实团队,或用来开发其Maps应用

    如果苹果公司在其Maps应用上增加了增强现实功能,或许其将有能力与谷歌地图进行抗衡。

    镁客网

扫码关注云+社区

领取腾讯云代金券