Vulnhub 靶机 CONTAINME: 1
Vulnhub 靶机 CONTAINME: 1
前期准备:
靶机地址:https://www.vulnhub.com/entry/containme-1,729/
kali地址:192.168.147.190
靶机ip:192.168.147.210
一、信息收集
1、nmap对靶机进行扫描
发现22、80、2222、8022等端口开放。
2、80端口
发现什么也没有,源代码也没发现什么,扫描目录。
发现访问index.php会列出当前目录下所有文件。
wfuzz测试看是否有命令注入。
二、漏洞利用
发现 .ssh 文件查看不了,那就尝试写入 shell,首先在本地制作一个 shell 脚本,然后开启 http 服务:
查看哪个目录可以查看上传的文件,发现tmp可以。
wget下载至tmp目录
查看tmp目录,确认上传成功。
bash 运行 shell.sh ,并开启监听:
成功反弹shell。
三、提权
查看可疑文件
发现在 /home/mike 下有个 1cryptupx 文件很可疑,运行查看一下:
查看一下二进制数据:
命令行中复制不方便,就看的这里,复制下来,十六进制编码恢复成 1cryptupx:
转码网址https://gchq.github.io/CyberChef/
根据文件名和 Exeinfope 发现是 upx 打包的
用的 win10 上的upx解压工具进行解压。
用IDA打开
在这个函数中,我们得到一个哈希字符串。这意味着如果我们输入正确的密码,该函数将以 root 身份调用“/bin/bash”。将哈希字符串保存下来,爆破一下:
得到密码为mike。加密码在执行一次,发现用户还是www-data
发现还是跳到了 www-data 用户,应该还有别的类似文件,查一下能执行的文件:
发现有个 crypt 文件。查看一下:
发现和之前发现的 1cryptupx 文件输出得一样,那加上之前发现的密码试一下:
获得了 root 账户,没找到 flag,一开始以为没有 flag,后来不经意间查了一下 ip 发现:
可能在容器中。
四、容器二-提权
nmap查看服务。
发现开放了 22 端口,但是我们不知道密码,那找找有没有密钥。发现有密钥,尝试使用mike用户名和 密钥登陆host2.
成功登陆后,查看host2开启的服务。
发现开启3306 mysql服务。
发现运行着数据库,尝试登录下数据库:
尝试一下发现进去了,mike:password
发现root信息,切换用户。
找找有没有 flag:
发现一个 mike.zip 压缩包,解压发现有密码,之前在数据库中我们发现了 mike 的密码,成功解压: