一、主机扫描
扫描ip
查看开放的端口
开启了22、80、111、53567端口、还有操作系统的信息
二、信息收集
先去看看80端口的情况
利用Firefox的Wappalyzer插件发现管理系统为Drupal 7.x版本(Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成,)。网上查询得Drupal 7.x版本存在漏洞,可以利用msf进行攻击。
三、漏洞利用
1,使用msf进行攻击
查看选项设置,设置目标主机的ip
设置目标主机的ip,设置使用的payload的模式,并查看是否设置成功
执行完成,获得了meterpreter(Meterpreter是Metasploit框架中的一个扩展模块,是返回给我们的一个控制通道,用它作为攻击载荷能够获得目标系统的一个Meterpreter shell的链接,功能强大:可以提权、打开shell、显示密码,显示主机信息、截屏、上传下载、隐藏、躲避系统的扫描等)
使用命令 ?可以看到能使用的功能
使用shell
升级为交互式shell:python -c 'import pty; pty.spawn("/bin/bash")'
进入系统后查看可利用的信息,发现有flag1.txt文件
翻译// flag1提示要找到CMS的配置文件
根据第一个flag提示去寻找cms的cinfig file 并且Drupal的默认配置文件为 /var/www/sites/default/settings.php,查看一下发现flag2
发现了数据库的用户密码配置,进行链接mysql
查看数据库
查看表中的内容,是加密后的内容,破解不了。
思路:破解不了,就尝试自己更新数据库的密码
exit退出数据库,返回到drupal目录站点进行对admin加密:
可利/scripts/password-hash.sh脚本进行生成新密码。
登录到数据库,进行更新admin账户的密码,更新成功密码为admin。
进行登录之前的网页,查找到flag3
翻译//特殊的PERMS 将帮助查找passwd—但是您需要-exec该命令来确定如何获取shadow中的内容。
来查看/etc/passwd文件的内容,发现flag4用户。
因为开放22端口,尝试爆破flag4用户密码
得到密码orange,尝试ssh登录flag4用户,得到flag4
四、提权
查看有suid权限的文件的命令,发现find就是用root权限执行,可以利用
查看当前用户的权限
利用find提权
/bin/sh命令达到root的shell交互:
拿到最后一个flag
完成。