在Windows环境中利用Responder工具窃取NTLMv2哈希

翻译自:https://github.com/incredibleindishell/Windows-AD-environment-related/tree/master/Responder

翻译:lipss

校对:看雪翻译小组 一壶葱茜

responder 下载地址:

该工具有向LLMNR和NBT-NS请求进行欺骗的能力。

LLMNR(Link-Local Multicast Name Resolution,链路本地多播名称解析)协议是一种基于DNS包格式的协议。它可以将主机名解析为IPv4和IPv6的IP地址。这样用户就可以直接使用主机名访问特定的主机和服务,而不用记忆对应的IP地址。该协议被广泛使用在Windows Vista/7/8/10操作系统中。

该协议的工作机制很简单。例如,计算机A和计算机B同处一个局域网中。当计算机A请求主机B时,先以广播形式发送一个包含请求的主机名的UDP包。主机B收到该UDP包后,以单播形式发送UDP的响应包给主机A。由于整个过程中,都是以UDP方式进行,主机A根本不能确认响应主机B是否为该主机名对应的主机。这就造成欺骗的可能。

假设我们已连接到Windows Active Directory环境,当网络中任何一台计算机尝试使用LLMNR或NBT-NS请求来解析目标计算机时,Responder假装为目标计算机。当受害者计算机尝试登录到攻击者计算机时,Responder就可以捕获受害者计算机用户的NTLMv2哈希。

文章基于例子讨论两种攻击方式。

  • 1、捕获NTLMv2哈希并使用“Hashcat”密码破解工具破解。
  • 2、使用Responder和Multirelay.py脚本执行中转NTLMv2哈希到“已禁用SMB签名”的计算机。如果中转成功,在目标计算机上将获得shell访问权限。

捕获NTLMv2哈希值

通过使用参数-I指定机器的以太网接口来运行Responder,这个例子中使用的接口是eth0。

python Responder.py -I <Interface_card_name>

命令是:

python Responder.py -I eth0

Responder监听模式将是这样的

如果网络中的任何用户试图访问共享哪个机器没有IP或用户类型共享名称不正确,该机器将触发LLMNR请求到网络,Responder将通过说我是那台机器来回答该请求,请提供给我NTLMv2哈希并访问资源。

这里,用户“box1”(机器IP 192.168.56.101)正在尝试访问名称为“pwned68”的共享。当机器触发LLMNR请求时,Responder响应该请求并从域“DC2”捕获用户“box1”的NTLMv2哈希值。

现在,我们需要破解此哈希以获取纯文本密码。“Hashcat”是执行最快的hashcracking的绝佳工具。它支持CPU / GPU散列破解,并支持多种哈希格式。

Hahcat官方下载网站是:

 - <https://hashcat.net/hashcat/>

下载一个好的密码字典,这里有<https://hashkiller.co.uk/downloads.aspx>

运行hashcat并等待,如果运气好的话。

获取纯文本密码后,我们可以使用此密码登录Windows域上的其他计算机,以查看我们是否可以在其他计算机上访问任何敏感信息。

在网络中的计算机上访问Shell

Responder还有一些其他工具允许攻击者通过转发NTLMv2 哈希来执行攻击,例如获取对网络中机器的shell访问权限。这里条件是,如果捕获哈希的用户在目标机器上具有“administrator”访问权限,则捕获的哈希可以帮助我们获得shell访问。普通域用户哈希不会帮助我们在机器上获得shell访问权限。在我给出的案例中,其中一个管理员用户试图访问一个不存在的共享,Responder投毒成功,然后Multirelay.py脚本使用捕获的NTLMv2哈希登录到Windows域网络的一部分机器。

设置此项,在“Responder.conf”文件中进行更改。 打开Responder.conf文件并将SMB和HTTP的值设置为“Off”,以便Responder不捕获哈希值,但Multirelay.py执行任务。

现在运行RunFinger.py脚本来识别网络中已将“SMB signing”设置为“False”的HOST计算机,因为我们只能对那些没有将“SMB signing”设置为“True”的计算机执行攻击。该脚本位于Responder的”tools“目录中,首先进入该目录。RunFinger.py脚本需要IP范围,它将检查活动主机是否启用了SMB签名。运行RunFinger.py脚本的命令是:

- python  RunFinger.py -i IP_Range

Example:

- python RunFinger.py -i 192.168.56.100-200

脚本的输出将是这样的:

在我的例子里,只有2台机器在线。一个是域控制器机器,第二个是“Windows 7”,它是Windows域的一部分。具有IP 192.168.56.101的计算机未启用SMB签名。因此,我们可以尝试对这台机器执行NTLMv2哈希转发。在发现机器之后,让我们设置responder和multirelay.py脚本以获得未启用“SMB signing”的机器上的访问权限。运行下面提到的命令,在2个不同的终端中启动Responder和Multirelay.py脚本

在第一个终端中,运行responder

python Responder.py -I <interface_card>

在第二个终端中,运行Multirelay.py

python MultiRelay.py -t <target_machine_IP> -u ALL

这两个脚本都是这样的:

如果Domain中的任意管理员用户尝试访问不存在的/拼写错误的共享,Responder将向被响应的机器投毒(发出伪造请求)。Multirelay.py将通过捕获NTLMv2哈希完成剩余的工作,并将它们关联到目标机器。成功的中转将让我们在目标机器上访问shell(在我的例子中是Windows 7)

一旦我们获得shell访问权限,我们也可以执行其他工作,其中一个正在加载“Mimikatz”,它可以执行诸如转储当前登录用户的纯文本密码/哈希或从SAM文件中获取本地用户哈希等任务。

== [[Greetz to]] == -

zero cool, code breaker ica, root_devil, google_warrior, INX_r0ot,Darkwolf indishell, Baba, Silent poison India, Magnum sniper, ethicalnoob Indishell, Local root indishell, Irfninja indishell, Reborn India, L0rd Crus4d3r, cool toad, Hackuin, Alicks, Gujjar PCP, Bikash, Dinelson Amine, Th3 D3str0yer, SKSking, rad paul, Godzila, mike waals, zoo zoo, cyber warrior, shafoon, Rehan manzoor, cyber gladiator, 7he Cre4t0r, Cyber Ace, Golden boy INDIA, Ketan Singh, Yash, Aneesh Dogra, AR AR, saad abbasi, hero, Minhal Mehdi, Raj bhai ji, Hacking queen, lovetherisk, D2 and rest of TEAM INDISHELL

--[[Love to]]--

My Father,Ritu Tomer Rathi,cold fire hacker, Mannu, ViKi, Ashu bhai ji, Soldier Of God, Bhuppi, Gujjar PCP, rafay baloch Mohit, Ffe, Ashish, Shardhanand, Budhaoo, Jagriti, Salty, Hacker fantastic, Jennifer Arcuri, Don(Deepika kaushik) and all lovely people around the world ❤️

在Windows环境中利用Responder工具窃取NTLMv2哈希的更多相关文章

  1. windows环境中利用NMake工具编译连接C++源代码

    这篇文章是上一篇文章(http://www.cnblogs.com/LCCRNblog/p/4532643.html)的补充,因此需要先看看上一篇文章. 最近在写代码的时候,需要通过命令的方式来执行生 ...

  2. Windows环境中,通过Charles工具,抓取安卓手机、苹果手机中APP应用的http、https请求包信息

    Windows环境中,通过Charles工具,抓取安卓手机.苹果手机中APP应用的http.https请求包信息1.抓取安卓手机中APP应用的http请求包信息1)在电脑上操作,查看Windows机器 ...

  3. Windows环境下利用github快速配置git环境

    在windows环境下利用github客户端我们可以直接拥有可视化的界面来管理工程,当然你也可以选择你喜欢的命令行工具来做.今天我分享一个比较快速的方式来配置git环境. 先去下载github的win ...

  4. 【Azure 环境】在Windows环境中抓取网络包(netsh trace)后,如何转换为Wireshark格式以便进行分析

    问题描述 如何在Windows环境中,不安装第三方软件的情况下(使用Windows内置指令),如何抓取网络包呢?并且如何转换为Wireshark 格式呢? 操作步骤 1) 以管理员模式打开CMD,使用 ...

  5. 如何在windows环境中搭建apache+subversion(ZT)

    我一直有一个想法就是在本机上象scm一样的搭建一个subversion服务器,然后每天写完代码的时候提交一下,这种感觉好好哦,之前我在windows环境中搭建过纯subversion的服务器兴奋过一阵 ...

  6. 在VS2103环境中集成Doxygen工具

    自己已将学习了两三次了吧,差不多这次该总结一下: Doxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统,完全支持C.C++.Java.Objective-C和IDL语言,部分支持P ...

  7. Neo4j 第一篇:在Windows环境中安装Neo4j

    图形数据库(Graph Database)是NoSQL数据库家族中特殊的存在,用于存储丰富的关系数据,Neo4j 是目前最流行的图形数据库,支持完整的事务,在属性图中,图是由顶点(Vertex),边( ...

  8. 番外篇1:在Windows环境中安装JDK

    他山之石,可以攻玉!欢迎关注我的微信公众号 本文作为构建第一个Java程序的番外篇一,跟大家探讨下在Windows下怎么安装JDK.由于本人没有Mac,因此如果是Mac的同学,请自行百度哦! 读前预览 ...

  9. 在Windows环境中学习Linux

    如何在Windows环境下学习Linux?方法如下: 方法一: 下载Cygwin,Cygwin是一个在windows平台上运行的类UNIX模拟环境,网上有很多安装教程,这里不多说. 方法二: 下载一个 ...

随机推荐

  1. 【MOOC EXP】Linux内核分析实验四报告

    程涵  原创博客 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 [使用库函数API和C代码中嵌入汇编代 ...

  2. Office处理

    1.NPOI:一个开源项目,不需要安装Microsoft Office,支持对Office 97-2003,2007文件格式,功能比较强大. http://npoi.codeplex.com/ 2.a ...

  3. [CB] 支付宝区块链的应用- 区块链发票医保理赔.

    全国第一单区块链理赔.发票开出:1分钟报销     区块链技术和概念随着比特币等虚拟电子货币的兴起而尽人皆知,但是区块链的用途可不仅仅只玩币,尤其是在“矿难”到来之后,区块链正在向更多应用领域渗透.最 ...

  4. Java之List使用场景

    1.List使用场景 特点: ①在 List集合中允许出现 重复元素 <通过元素的equals方法,来比较是否为重复的元素.> ②所有元素是以一种 线性方式进行存储 ③List集合还有一个 ...

  5. JXOI2017颜色 解题报告

    JXOI2017颜色 首先记录每个位置上颜色在序列中上次出现的位置 开两颗线段树,第一棵维护区间最大值,实际上是维护当前必须被删去的颜色的位置的最大值,第二棵则是维护区间和 首先倒着扫一遍,对于当前颜 ...

  6. Android应用如何跳转到应用市场详情页面

    Android应用开发过程中,可能会有需求,比如:推广时跳转到应用市场下载应用,跳转到应用市场给自己的应用打分,跳转到应用市场更新自己的应用.那如何跳转到应用市场呢?可能跳转的方法大家都是知道的,方法 ...

  7. 解题:EXNR #1 金拱门

    题面 大力统计题 考虑把和的平方拆开,最终就是许多对位置乘起来求和.所以考虑每对位置的贡献,对于$a_{i,j}$和$a_{k,h}(1<=i<=k<=n,1<=j<=h ...

  8. 用HashSet存储不重复的对象

    直接进入主题,先来创建一个类:Bean public class Bean { private int id; private String name; public Bean() { super() ...

  9. python的类的 静态属性 类方法 静态方法

    一.静态属性 静态属性说的就是数据属性 1.定义一个房间的类,求下这个房间的面积 class Room: def __init__(self,name,ower,width,length,heigh) ...

  10. C语言复习---二维数组和二级指针的关系:没关系,别瞎想(重点)

    前提:一维数组和一维指针为什么可以替换使用? ] = { , , }; int *p = a; ; i < ; i++) printf("%d ", *(p + i)); 上 ...