1、靶机地址:
HarryPotter: Nagini ~ VulnHub
本篇为哈利波特死亡圣器系列的第二部,该靶机中存在3个魂器,依次找到它们,摧毁它们!
2、渗透过程
首先收集靶机ip和确定攻击机ip,同时探测靶机开放端口
存在22、80端口,访问80端口发现了一张图,再无其他信息,常规思路,是进行目录爆破,看是否存在一些有用的敏感信息或目录!
可以使用多个扫描器,进行扫描看看
gobuster dir -u http://192.168.56.144/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x .php,.txt,.html
扫描结果发现了note.txt,joomla框架,利用joomscan进行扫描发现了一些列信息
发现了administrator后台登录,还有前端的登录 ,还有一个配置文件的备份,一般来说里面都是有用户名和密码的。
将该文件下载查看,发现了mysql的用户登录名goblin
再没有什么其他信息,访问note.txt,发现了提示,该提示是让我们用http3进行访问,这边得进行下面的安装操作,才能实现http3访问
按照如下步骤,基本没什么问题
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 config --global url."https://gitclone.com/".insteadOf https:// #git加速,用这个可以解决git克隆连接延时的问题
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.56.144 #利用http3的客户端去访问目标靶机
用http3-client 访问靶机,获得了源码,其中含有了一个路径
访问后发现是一个搜索框的样子,进行简单尝试
猜测可能会有ssrf漏洞,利用gopher协议进行本地访问
返回了本地的web界面
再用file协议进行读取
读取成功,确定,是存在ssrf漏洞,该漏洞可以探测内网情况
接下来就要利用一个gopher的工具,该工具可以构造payload,进行ssrf攻击
git clone https://github.com/tarunkant/Gopherus.git
运行该工具,其中的mysqlusername在之前备份文件中看到过,goblin,下面是要操纵数据库的指令,一般都是进行查看数据库名,查看表,查看表内容等等
这里如果输入后,未出结果,可以刷新几次,就可以看到
数据库名为joomla,然后重复刚才的操作,探测表名
找到joomla_users表
下一步就是拿其中的数据了
发现了用户名site_admin,密码是经过加密的
site_admin
$2y$10$cmQ.akn2au104AhR4.YJBOC5W13gyV21D/bkoTmbWWqFWjzEW7vay
这个密码如果暴力破解的话会很费时,那么就换个思路,我们将它的密码给它修改了,在kali本地生成个123的加密密文
echo -n "123" | md5sum
202cb962ac59075b964b07152d234b70
然后利用工具,输入数据库修改密码的语句,将密文替换它的密码
然后将payload执行,修改成功
这时,我们用site_admin用户,和我们修改的密码123进行登录
啪的一下,很快啊,我们就登录成功了,登录成功后,下一步就是反弹shell了,对于这类的框架,有个常用的方法就是利用他们的主题,对主题中的文件进行修改,然后访问主题文件,本地监听,即可反弹shell
利用kali自带的reverse_tcp_shell文件,讲里面的ip改为kali的ip,端口随意
然后随便找主题里的一个文件,复制粘贴进来保存
本地开启监听
访问刚才修改的文件
反弹回一个shell
找了半天,发现了第一个魂器
horcrux_{MzogU2x5dGhFcmlOJ3MgTG9jS0VldCBkRXN0cm9ZZUQgYlkgUm9O}
在home中发现用户赫敏,也看到了第二个魂器,但是有权限,无法读取
还有个斯内普的文件,发现了类似于密钥的文件,还是base64编码了
解码出来是爱莉莉,那就用斯内普远程连接一下,连接成功
看看有没有什么可以提权的方式,发现了赫敏存在这个执行文件,利用这个执行文件可以提权成赫敏
看它那个su_cp不禁的联想到了,向它的文件中写入自己随便生成的ssh密钥,来,我们本地生成一个
一路回车,这里就相当于免密了,讲生成的公钥上传到斯内普下
然后,利用赫敏文件中的可执行文件,将刚才上传的公钥,复制到赫敏文件中,替换之前的公钥
接下来就可以免密登录赫敏了,登录后轻松查看魂器2
找寻一圈,发现了个.mozilla目录,这个目录是Linux在使用火狐浏览器的时候,生成的,里面存在一些配置信息,更甚至有密码
horcrux_{NDogSGVsZ2EgSHVmZmxlcHVmZidzIEN1cCBkZXN0cm95ZWQgYnkgSGVybWlvbmU=}
将该目录下载到本地
然后下载一个破译工具
git clone https://github.com/unode/firefox_decrypt.git
利用该脚本破译.mozilla目录下的firefox文件,破解出来root的密码
真舒服,直接su root,输入密码,提权成功,获得了第三个魂器
horcrux_{NTogRGlhZGVtIG9mIFJhdmVuY2xhdyBkZXN0cm95ZWQgYnkgSGFycnk=}
最后渗透结束!
3、总结
该靶机综合了很多知识,其中包括ssrf漏洞的利用,ssh公钥写入等内容,其中最难受的是http3的访问,花费了很大的功夫,有很多次,那些配件安装失败,花费了很长时间。该部为哈利波特死亡圣器系列第2部,后续会带来最后一部,最后的三个圣器!