总结与思考:

1. 利用Responder进行NTLMV2哈希的窃取

2. 使用Responder进行中继,攻击成功后进行代码执行

3. 使用Responder进行凭证/哈希破解

4. 使用Responder进行快速SMB扫描

5. 使用Responder配合MSF反弹shell

6. LLMNR/NBT-NS攻击的防御

概述:

Responder是对渗透测试工作者来说一个很棒的工具,如果客户端/目标无法通过DNS域名解析,则会回退到LLMNR(在Windows Vista中引入)和NBT-NS进行解析。如果我们的Responder在运行着,那么我们将对所有我们能看到的LLMNR和NBT-NS请求响应“yeah, 就是我”,然后所有的传输都将被引导到我们这。在这个简短的概述中,我们将涉及几个常见的用法以及最近由@pythonresponder引入的新功能。

本文<渗透师指南之Responder>属于【脉搏译文系列】文章之一,由 安全脉搏编辑w2n1ck 翻译,原文:Pwning with Responder – A Pentester’s Guide  转载请注明来源"安全脉搏”。

针对特定主机:

如果你想针对特定的IP/IP范围,可以通过修改Responder.conf并更改RespondTo参数。当你只是想针对特定的目标时,这是非常有用的,因为你不希望导致整个网络的中断。

此外,还可以通过改变RespondToName参数来指定NBT-NS / LLMNR名称,大家有兴趣可以尝试下。下面的截图中,我们就是针对主机192.168.10.17进行的特定攻击。

在以下屏幕截图中,我们限制只对主机192.168.10.17的攻击。

监听模式:

你可以在监听模式下使用Responder,即分析,但不主动响应任何请求。 这可以通过使用-A参数来实现,并且这是一个非常有用的功能,可以查看网络是如何在没有主动定位任何主机的情况下进行的。

主动攻击:

在下面的示例中,攻击者IP地址是192.168.10.206,我们通过SMB针对单个主机192.168.10.17。 这是用户输入错误服务器名称的常见情况,由于DNS查找失败,名称解析又回退到NBT-NS和LLMNR。

从上面的Wireshark输出中可以看到192.168.10.17发送一个NBNS查询到广播地址192.168.255.255,而攻击主机192.168.10.206立即回复说它实际上是file-share-123并且返回它自己的IP在回应之内。

在Wireshark捕获中也可以看到,在NBNS请求/响应之后,立即通过LLMNR进行相同的处理,但是使用注册的多播地址224.0.0.252 。 敏锐的读者也看到,这个过程也是通过IPv6进行的,使用了FF02 :: 1:3的组播地址(详情也可以从上面的链接中获得)。

这样做的结果是,受害者现在认为我们确实是file-share-123,并试图建立SMB连接(TCP 445)。 从这里我们可以继续为受影响的用户(在本例中是一个名为default的本地用户)窃取NTLMv2哈希以进行脱机破解《几种windows本地hash值获取和破解详解》。

这是通过Wireshark查看的SMB通信协商过程

在Responder中还有很多可以尝试的好玩的地方,现在我们将会看下这个项目中增加的一些更新的功能。

Multi-relay攻击:

这是@pythonresponder 在2016年年底推出的新功能之一。使用这个功能,我们可以将我们的NTLMv1/2身份验证中继到特定的目标,然后在攻击成功的时候执行代码。 在深入研究这种攻击之前,应该说明下默认攻击目标是特权用户,并且目标不能有SMB签名。 一个很好的脚本RunFinger.py已经被封装在Responder的工具目录中,这使得我们可以在主动定位任何主机之前在目标上验证后者。

在准备这个攻击时,我们需要禁用Responder使用的SMB和HTTP服务器,否则我们会在这个和Multi-relay之间产生一些冲突(如下所示)。

对于下面的例子,我们将通过将相关服务更改为“Off”来禁用Responder.conf文件中的这些特定服务来完成任务。

再一次用默认选项运行Responder,可以看到这两个服务现在被禁用了。

我们现在要为受害者192.168.10.17(如前面的例子)作出毒害响应,但是我们现在也要将我们的会话认证转接到第二主机192.168.11.17。

此工具的语法如下所示,其中IP是要中继身份验证的地址,并希望获得shell访问权限:

python MultiRelay.py -t 192.168.11.17 -u ALL

在下面的示例中,主机是Windows 10的默认安装,当前被认证为192.168.10.17的受害用户是名为default的本地管理员用户。

在下面的输出中,可以看到这个用户被列入白名单(我们将-u ALL指定为参数),同时拒绝访问中继主机192.168.11.17。 Multi-relay在这里帮了我们一个忙,同时不会继续尝试向可能被锁定帐户的主机进行认证。 192.168.10.17和192.168.11.17都配置相同的帐户/凭证。

在Wireshark中查看它显示了以下内容

因此,我们有一个管理员用户(在主机上实际上拥有有效凭据),但它不是RID为500的默认管理员帐户。我们再次运行该攻击,但是这次我们将使用 RID 500的本地管理员帐户。

成功! 所以我们已经成功地转发了来自受害者192.168.10.17的默认RID 500的身份验证,并获得了192.168.11.17上的shell访问权限,因为两个主机都使用相同的本地管理员帐户凭证。 还应该提到,这两个都是域成员,而不是独立的基于工作组的系统。

下面的Wireshark输出只显示了初始中继通信中涉及的smb流量,我们可以清楚地看到中继路由 192.168.10.17(毒害受害者)> 192.168.10.206(攻击者)> 192.168.11.17(中继目标)

Multi-relay功能:

这就是Multi-relay功能中自己特色的地方。 今年3月底,@pythonresponder和@gentilkiwi一起添加了Mimikatz集成(其他一些有趣的工具),使得获得凭证/哈希变得轻而易举。

我们来试验下这些; 我们目前在192.168.11.17上有一个Multi-relay shell,我们可以通过使用mimi命令轻松地调用标准的Mimikatz函数(如果我们的目标是一个32位的主机,我们可以使用mimi32)。

其他有用的功能包括超快速SMB扫描,可用于查找网络中的其他潜在目标。 下面的屏幕截图显示了一个例子,它提供了一个/ 16范围(我们的示例网络是一个192.168.0.0/16)。

让我们玩Multi-relay的最后一个功能,并使用此工具来产生每个读者最喜欢的shell——Meterpreter。 首先我们需要在msf中配置一个合适的监听器,在这个例子中,我们将使用exploit/multi/script/web_delivery。这个实验没有关于这个漏洞的具体细节,我们的攻击系统为192.168.10.206 ,已经设置了一些基本的选项,PowerShell已经配置了攻击目标。

回到Multi-relay shell,我们现在可以运行我们最喜欢的IEX命令,并希望反弹更多的shell。请注意,我们并不期待任何输出,因此在这种特定情况下通常可以忽略“something went wrong…”输出。

回到msf的web_delivery漏洞,我们看到一些动作,一旦shell已经登陆,我们可以根据需要在msf框架内部使用内置的Meterpreter 模块和功能。

预防和修复:

为了加强Windows系统的安全性,可以进行以下调整。

通过组策略禁用LLMNR

打开gpedit.msc 到计算机配置>管理>网络> DNS客户端>关闭多播域名解析并设置为已启用

禁用NBT-NS

这可以到网卡>属性> IPv4>高级> WINS,然后在“NetBIOS设置”下选择禁用TCP/IP上的NetBIOS

或者,这个任务可以通过到下面的键修改注册表,并将值更改为2 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces\{$ InterfaceID}\NetbiosOptions

通过组策略启用SMB签名

SMB签名的更多细节以及可以定义的各种值可以在以下链接中找到。

http://techgenix.com/secure-smb-connections/

https://technet.microsoft.com/en-us/library/jj852239(v=ws.11).aspx

Responder 利用相关推荐

  1. WPS如何制作流程图

    WPS如何制作流程图 随着可视化分析的普及,我们工作中有越来越多需要利用流程图或者思维导图反应事件的发展历程,利用直观的图像式思维工具,让工作内容一目了然. 制作流程图的软件很多,常用的是Visio软 ...

  2. 不利用系统漏洞拿shell,kali强大工具Responder

    这是一种不用通过漏洞利用来获取权限的一种方法,使用的是kali的一个工具,叫Responder,主要是通过监听网络,有人如果访问了虚假的共享文件地址,就会获得该系统登录口令的哈希值,然后再通过脚本进行 ...

  3. 在 Windows 环境中使用 Responder 窃取 NTLMv2 哈希并利用

    Responder工具 Responder下载地址: https://github.com/lgandx/Responder Responder工具可以污染LLMNR和NBT-NS请求. 首先假设连接 ...

  4. 模拟namenode挂掉利用secondary namenode恢复

    测试机器: 10.0.50.144  master  (namenode,datanode) 10.0.50.145  node1    (datanode) 10.0.50.146  node2   ...

  5. MDNS的漏洞报告——mdns的最大问题是允许广域网的mdns单播查询,这会暴露设备信息,或者被利用用于dns放大攻击...

    Vulnerability Note VU#550620 Multicast DNS (mDNS) implementations may respond to unicast queries ori ...

  6. 数据挖掘肿瘤预测_Nature Medicine封面文章:利用单核细胞数量预测及评估肿瘤免疫治疗效果...

    免疫检查点阻断已经彻底改变了癌症治疗,临床实验数据表明PD-1.PD-L1抗体的免疫治疗可以有效应对转移性黑色素瘤和多种其他类型的癌症.尽管无进展生存期显着增加,临床治疗结果也呈现很大的个体差异,只有 ...

  7. Cairngorm初学者入门教程 第六节--Cairngorm中Command利用Delegate与Service连接

    在上一节,我们利用FrontController 去映射 Event与Command 在这一节我们主要针对Command这部分动作做介紹.在RIA应用程序中,不可或缺的部份就是跟后台服务器连接进行数据 ...

  8. Responder Chain简析

    一.responder对象 在iOS系统中,能够响应并处理事件的对象称之为responder object, UIResponder是所有responder对象的基类,在UIResponder类中定义 ...

  9. NTLM Relay利用

    文章目录 简介 NTLM Relay准备 NTLM Relay端口转发 LLMNR和NBNS投毒(Net NTLM Hash获取) 打印机漏洞(Net NTLM Hash获取) 图标Net-NTLM ...

最新文章

  1. 允许用户在web Interface上修改密码
  2. 傻瓜式操作Nagios图解
  3. 通过severlet获取请求头信息
  4. 【问链财经-区块链基础知识系列】 第二十一课 区块链应用于大宗商品供应链金融
  5. 微信小程序摄像头监控_微信必备黑科技小程序!
  6. jQuery实现数据映入form表单
  7. BPP 相关——01
  8. Go泛型草案设计简明指南
  9. java future模式 所线程实现异步调用
  10. idea怎么调试jsp页面_一文学会JSP
  11. 【3005】拦截导弹问题(noip1999)
  12. 利用百度地图获取行政区边界的经纬度信息
  13. 对赌协议的经典案例分析
  14. 弄个linux系统计划任务让你感受一下删库跑路
  15. vue 如何使用md5密码加密
  16. Windows 7可以拯救微软Netbook市场
  17. 计算机组成原理(三)存储器的层次结构
  18. 笔记本电脑突然无法链接wifi、无法连接宽带
  19. 介绍2款最流行的画PCB工具
  20. PMP——项目组织结构

热门文章

  1. 微信小程序分享海报/卡片 生成时一直加载可能存在的问题
  2. LeetCode题解(1373):二叉搜索子树的最大键值和(Python)
  3. 行人检测算法评估标准
  4. java计算机毕业设计合租吧管理系统源程序+mysql+系统+lw文档+远程调试
  5. 什么是spring以及为什么要使用 spring?
  6. 3.FSDR学习-文章解读
  7. 计算机自动设置开机,电脑可以设置系统自动开机吗
  8. 国际象棋棋盘有64格,若在第1格放1粒谷;第2格放2粒谷;第3格放4粒谷;第4格放8粒谷……如此一直放到第n格(n小于等于64)。假设2000000粒谷有一吨重,问需要多少吨谷才能存满n格?
  9. 关于线上陪诊,什么是陪诊我今天说说
  10. 基于python 的数据挖掘环境搭建