Vulnhub 靶机 CONTAINME: 1

前期准备:

靶机地址:https://www.vulnhub.com/entry/containme-1,729/

kali靶机地址:192.168.11.129
靶机ip:192.168.11.198

一、信息收集

1.使用nmap对目标靶机进行扫描

Vulnhub 靶机 CONTAINME: 1

发现开放了 22、80、2222 和 8022 端口。

2. 80端口

Vulnhub 靶机 CONTAINME: 1

源代码中也没有什么发现,扫一下目录:

Vulnhub 靶机 CONTAINME: 1

检查 index.php 时发现会列出当前目录下的文件:

Vulnhub 靶机 CONTAINME: 1

也许 index.php 有 命令注入。wfuzz 扫一下:

Vulnhub 靶机 CONTAINME: 1

二、漏洞利用

发现可以注入:

Vulnhub 靶机 CONTAINME: 1

简单查看一下系统中的文件:

Vulnhub 靶机 CONTAINME: 1

发现 .ssh 文件查看不了,那就尝试写入 shell,首先在本地制作一个 shell 脚本,然后开启 http 服务:

Vulnhub 靶机 CONTAINME: 1

查找一下哪里上传的文件能读取:

Vulnhub 靶机 CONTAINME: 1

发现可以上传到到 /tmp 目录下:

Vulnhub 靶机 CONTAINME: 1

查看一下是否上传成功:

Vulnhub 靶机 CONTAINME: 1

bash 运行 shell.sh ,并开启监听:

Vulnhub 靶机 CONTAINME: 1

Vulnhub 靶机 CONTAINME: 1

连接成功。

三、容器一提权

查看一下系统内的可疑信息:

Vulnhub 靶机 CONTAINME: 1

发现在 /home/mike 下有个 1cryptupx 文件很可疑,运行查看一下:

Vulnhub 靶机 CONTAINME: 1

查看一下二进制数据:

Vulnhub 靶机 CONTAINME: 1

命令行中复制不方便,就看的这里,复制下来,十六进制编码恢复成 1cryptupx:

Vulnhub 靶机 CONTAINME: 1

根据文件名和 Exeinfope 发现是 upx 打包的:

Vulnhub 靶机 CONTAINME: 1

upx解压:

Vulnhub 靶机 CONTAINME: 1

报错了,查了没找到什么原因,后来用的 win10 上的 UPX Tool

Vulnhub 靶机 CONTAINME: 1

解压成功了,IDA 打开:

Vulnhub 靶机 CONTAINME: 1

在这个函数中,我们得到一个哈希字符串。这意味着如果我们输入正确的密码,该函数将以 root 身份调用“/bin/bash”。将哈希字符串保存下来,爆破一下:

Vulnhub 靶机 CONTAINME: 1

发现文件密码是 mike,再次运行一下 1cryptupx 文件:

Vulnhub 靶机 CONTAINME: 1

发现还是跳到了 www-data 用户,应该还有别的类似文件,查一下能执行的文件:

Vulnhub 靶机 CONTAINME: 1

发现有个 crypt 文件。查看一下:

Vulnhub 靶机 CONTAINME: 1

发现和之前发现的 1cryptupx 文件输出得一样,那加上之前发现的密码试一下:

Vulnhub 靶机 CONTAINME: 1

获得了 root 账户,没找到 flag,一开始以为没有 flag,后来不经意间查了一下 ip 发现:

Vulnhub 靶机 CONTAINME: 1

原来我在容器中。

四、容器二提权

找找同网段还有没有别的容器,容器中没有 nmap,下载一个再扫:

Vulnhub 靶机 CONTAINME: 1

也可以用 bash 命令扫:

for i in {1..254} ;do (ping 172.16.20.$i -c 1 -w 5 >/dev/null && echo "172.16.20.$i" &) ;done

Vulnhub 靶机 CONTAINME: 1

扫一下 172.16.20.6 开放的端口:

Vulnhub 靶机 CONTAINME: 1

发现开放了 22 端口,但是我们不知道密码,那找找有没有密钥:

Vulnhub 靶机 CONTAINME: 1

试试在host1上使用用户名mike和mike的id_rsa登录host2:

Vulnhub 靶机 CONTAINME: 1

发现能成功登录到 host2.检查一下有哪些服务:

Vulnhub 靶机 CONTAINME: 1

发现运行着数据库,尝试登录下数据库:

Vulnhub 靶机 CONTAINME: 1

简单测试一下发现居然进去了,mike:password

Vulnhub 靶机 CONTAINME: 1

查看表内信息发现了 root 的密码,登录 root:

Vulnhub 靶机 CONTAINME: 1

找找有没有 flag:

Vulnhub 靶机 CONTAINME: 1

发现一个 mike.zip 压缩包,解压发现有密码,之前在数据库中我们发现了 mike 的密码,成功解压:

Vulnhub 靶机 CONTAINME: 1

得到了 flag。

注: 在 host2 中发现密码是 password,是猜对的,有点取巧。如果猜不对需要爆破,需要在 host1 上,使用 ssh -L 来映射 host2:3306 ==> host1:3306。再将 host1:3306 映射到 kali 然后再爆破。

上一篇:Vulnhub-Narak靶场


下一篇:Vulnhub 靶场 EVILBOX: ONE