1.环境搭建
这里DC-1网卡的ip地址要配置为nat模式,kali机的网卡也是nat模式,默认是桥接
2.扫描靶机主机ip
这里使用arp-scan还可以用namp -sp 10.10.1.0/24或者netdiscover -r 10.10.1.0/24其中arp-scan这个工具扫描是最快的
这个10.10.1.134就是靶机的ip地址
3.信息收集
使用nmap工具来扫描开放的端口和服务
如图扫描出了开放端口和详细信息
访问80端口看看,可以知道这个网站的CMS是Drupal7,这个是一个登录页
我们看到登录框应该尝试一下是否存在sql注入,经过各种尝试发现,不存在,也可以使用sqlmap索一下
除此之外,whatweb 也可以进行信息收集,指纹探测
接下来我们对网站进行目录扫描,看看有什么敏感信息
经过漫长的扫描 并没有发现有什么敏感的目录,
4.寻找可利用漏洞
我们想到通过Drupal7版本来查找有没有可用的漏洞模块,发现了有5个是7.0的可以利用下试试,这里面并没有可以进行权限提升的脚本,大多是远程代码执行,我们先用34992.py这个脚本在CMS添加一个拥有管理员权限的用户进去,然后在CMS上就可以登录了
先把脚本cp下来
cat来稍微看一下脚本内容
然后和帮助如何使用
这是一个python2的脚本,开始使用脚本添加用户
如下提示administrator user created1管理员用户成功创建了
5.反弹shell
我们通过创建的text用户来登录CMS内容管理系统
然后我们点击Content内容这个选项
得到了flag3,然后edit编辑,往里面写一个反弹shell,使用kali进行连接,但是这里没有php的文本格式,我们去到Modules这个模块中去找php filter,这里要注意一下,我上次找的是filter然后怎么弄都不行
勾选上之后发现还是不行,最后回来再permissions中看到有一个选项没有勾选,勾选上即可
然后再flag3中编辑添加反弹shell的命令,在kali上监听,然后访问flag3页面即可
反弹shell成功
6.权限提升
我们先切换到交互式shell使用python命令
看一下flag1的内容,说让我们看配置文件
我们查找一下配置文件,
找出来了很多文件,我们看一下web.config这个配置文件
没有看到什么信息,想到find setting看看
我们看一下setting.php文件
看到了数据库的用户名和密码之后,我们连接一下 数据库看看
进入drupaldb来看看
查看表
表中有一个users,查看users中的内容
把admin Fred text这三个用户复制出来,后面可能会用到,然后复制出来hash,使用jjohn进行爆破
爆破了很久不行,然后看wp说可以有加密脚本,寻找加密脚本,这个不太理解,但是跟着wp找到了加密的脚本
查看加密脚本,然后利用加密脚本来生成一个自定义密码的hash,这个脚本是php写的,如图可以知道
然后运行也需要php来运行,而且必须在html目录下使用php ./script/password-hash.sh
然后我们去数据库替换密码为明文123123,密文为hash: $S$DdaV9AyJiYNNLidx9.CuCmtNWo31kfvuJyrLQoy4rjLQi/vFl3Vk
数据库用户密码做题的时候要粘贴出来,不然不好找
'default' =>
array (
'database' => 'drupaldb',
'username' => 'dbuser',
'password' => 'R0ck3t',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
),
),
);
这里直接update users set pass="$S$DdaV9AyJiYNNLidx9.CuCmtNWo31kfvuJyrLQoy4rjLQi/vFl3Vk";把全部用户的密码改为123123
然后去web中登录就可以看到flag3了
接下来我们要把权限提升到root,我们先进入home中,看到了有一个flag4用户,有一个flag4.txt,查看flag4.txt,没啥有用的提示,那么我们想要切换到flag4来往后填权,要么爆破密码,要么爆破/etc/shadow中的hash,我们使用hydra来爆破一下试试,使用的字典是rockyou.txt这个字典永安里爆破用户名hash等都很有用,shadow文件看不了,只可以通过hydra的ssh爆破了
成功爆破出密码 orange
使用爆破出的密码ssh连接靶机,没有sudo命令,然后root权限所有用户可执行的有一个find可以用来提权
提权的命令为find ./ -name flag4.txt -exec /bin/sh \;
查看root的flag
这里好像还有一种提权方法,是通过exim4,查看它的版本,发现是4.80的
搜索漏洞脚本,后面不说了,不行