在Windows环境中利用Responder工具窃取NTLMv2哈希
在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哈希的更多相关文章
- windows环境中利用NMake工具编译连接C++源代码
这篇文章是上一篇文章(http://www.cnblogs.com/LCCRNblog/p/4532643.html)的补充,因此需要先看看上一篇文章. 最近在写代码的时候,需要通过命令的方式来执行生 ...
- Windows环境中,通过Charles工具,抓取安卓手机、苹果手机中APP应用的http、https请求包信息
Windows环境中,通过Charles工具,抓取安卓手机.苹果手机中APP应用的http.https请求包信息1.抓取安卓手机中APP应用的http请求包信息1)在电脑上操作,查看Windows机器 ...
- Windows环境下利用github快速配置git环境
在windows环境下利用github客户端我们可以直接拥有可视化的界面来管理工程,当然你也可以选择你喜欢的命令行工具来做.今天我分享一个比较快速的方式来配置git环境. 先去下载github的win ...
- 【Azure 环境】在Windows环境中抓取网络包(netsh trace)后,如何转换为Wireshark格式以便进行分析
问题描述 如何在Windows环境中,不安装第三方软件的情况下(使用Windows内置指令),如何抓取网络包呢?并且如何转换为Wireshark 格式呢? 操作步骤 1) 以管理员模式打开CMD,使用 ...
- 如何在windows环境中搭建apache+subversion(ZT)
我一直有一个想法就是在本机上象scm一样的搭建一个subversion服务器,然后每天写完代码的时候提交一下,这种感觉好好哦,之前我在windows环境中搭建过纯subversion的服务器兴奋过一阵 ...
- 在VS2103环境中集成Doxygen工具
自己已将学习了两三次了吧,差不多这次该总结一下: Doxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统,完全支持C.C++.Java.Objective-C和IDL语言,部分支持P ...
- Neo4j 第一篇:在Windows环境中安装Neo4j
图形数据库(Graph Database)是NoSQL数据库家族中特殊的存在,用于存储丰富的关系数据,Neo4j 是目前最流行的图形数据库,支持完整的事务,在属性图中,图是由顶点(Vertex),边( ...
- 番外篇1:在Windows环境中安装JDK
他山之石,可以攻玉!欢迎关注我的微信公众号 本文作为构建第一个Java程序的番外篇一,跟大家探讨下在Windows下怎么安装JDK.由于本人没有Mac,因此如果是Mac的同学,请自行百度哦! 读前预览 ...
- 在Windows环境中学习Linux
如何在Windows环境下学习Linux?方法如下: 方法一: 下载Cygwin,Cygwin是一个在windows平台上运行的类UNIX模拟环境,网上有很多安装教程,这里不多说. 方法二: 下载一个 ...
随机推荐
- 《Linux内核分析》第二周学习报告
<Linux内核分析>第二周学习报告 ——操作系统是如何工作的 姓名:王玮怡 学号:20135116 第一节 函数调用堆栈 一.三个法宝 二.深入理解函数调用堆栈 三.参数传递与局部变量 ...
- 读C#程序(第三周)
阅读下面程序,请回答如下问题: 问题1:这个程序要找的是符合什么条件的数? 问题2:这样的数存在么?符合这一条件的最小的数是什么? 问题3:在电脑上运行这一程序,你估计多长时间才能输出第一个结果?时间 ...
- Linux命令(二十六) 用户管理命令
一.添加用户 useradd useradd 命令用于创建新用户,格式为useradd [选项] 用户名. 可以使用 useradd 命令创建用户帐户,使用该命令创建账户时,默认的用户目录在 /hom ...
- C# Stopwatch获取循环中某操作的时间消耗
在C#中通常使用DateTime来表示当前时间,可以在一个操作的前后分别使用一个DateTime对象获取当前时间,再将两个DateTime对象相减获得时间差(TimeSpan对象),从而得到这个操作耗 ...
- C# 妈妈再打我一下生成器
设计背景 网上很火的一个"妈妈再打我一下"的漫画图片,给了网友无限的想象发挥空间,此小程序可以给图片添加配文的形式,快速生成图片 设计思路 GDI+ 绘图技术,在图片基础上添加文字 ...
- selenium_UI自动化——篇1(基础)
元素定位的几种方式: (1)driver.find_element_by_id("idname") (2)driver.find_element_by_name("nam ...
- Codeforces 600E Lomsat gelral(dsu on tree)
dsu on tree板子题.这个trick保证均摊O(nlogn)的复杂度,要求资瓷O(1)将一个元素插入集合,清空集合时每个元素O(1)删除.(当然log的话就变成log^2了) 具体的,每次先遍 ...
- Codeforces Round #528 Div. 1 自闭记
整天自闭. A:有各种讨论方式.我按横坐标排了下然后讨论了下纵坐标单调和不单调两种情况.写了15min也就算了,谁能告诉我printf和cout输出不一样是咋回事啊?又调了10min啊?upd:突然想 ...
- BZOJ4559 JLOI2016成绩比较(容斥原理+组合数学+斯特林数)
容斥一发改为计算至少碾压k人的情况数量,这样对于每门课就可以分开考虑再相乘了.剩下的问题是给出某人的排名和分数的值域,求方案数.枚举出现了几种不同的分数,再枚举被给出的人的分数排第几,算一个类似斯特林 ...
- P2704 [NOI2001]炮兵阵地
题目描述 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队.一个N*M的地图由N行M列组成,地图的每一格可能是山地(用“H” 表示),也可能是平原(用“P”表示),如下图.在每一格平原地形上最 ...