Vaccine靶机
n3ym4r

流程概述: FTP匿名攻击 —> zip2john破解hash值得到密码 —>web源码信息泄露—>登录web后台 —>sql注入攻击—>反弹shell拿到权限—> vi提权root

nmap扫端口

image

利用anonymous用户,ftp连接主机

image

get下来backup.zip文件

解压时发现需要密码,利用john得到hash进行破解

image

拿到解压密码,解压查看index.php文件

image

找到admin用户MD5密码

MD5碰撞拿到明文密码

image

登录网页

图片

有个搜索框,想到sql注入,输入1‘,果然报错,确定为sql注入,抓包sqlmap一把梭

image

将数据包放入一个文件

image

扫出为postgresql数据库,直接–os-shell拿shell,这里出现问题,谷歌搜了一下,很多人在这出错,应该是靶机的问题

https://forum.hackthebox.com/t/machine-name-vaccine-stuck-on-getting-sql-code-execution-shell/2513

在GitHub上找到个师傅写的EXP:https://github.com/florianges/-HTB-Vaccine_sql_injection

脚本描述很清楚,将信息修改

在本地跑个80端口提供nc的下载,在这之前要将nc放入你跑服务的目录下(cp /bin/nc.traditional ~/Desktop/nc)

image

本地开启nc监听

image

跑脚本

image

这个脚本实际就是通过注入创建相应的表、字段,从程序中复制数据到这个字段表里,然后后面下载nc,赋予nc执行权限,并且执行反弹shell命令。

image

拿到user flag

image

在dashboard.php文件发现用户名postgres密码P@s5w0rd!

ssh连接主机

sudo -l 查看用户能执行的高权限命令

image

发现postgres账号可以以root权限运行vi,在vi中是可以调用shell的。

执行命令以root权限打开vi sudo /bin/vi /etc/postgresql/11/main/pg_hba.conf

按: 进入命令模式,输入!/bin/bash,命令含义为以shell命令的方式执行 /bin/bash,也就是打开一个交互式终端。感叹号为强制执行。

在我们执行vi时,会调用shell,由于vi是以root权限执行的,那么调用的shell也是root权限下的

image

得到root flag