下载地址
https://download.vulnhub.com/hacknos/Os-hackNos-1.ova
环境配置如果出现,扫描不到IP的情况,可以尝试vulnhub靶机检测不到IP地址解决办法_vulnhub靶机扫描不到ip-CSDN博客
信息收集
确定靶机地址:
探测到存活主机192.168.111.7是我们的目标靶机IP地址:
端口信息探测,发现目标靶机仅仅开放了22和80两个端口!详细信息的探测:
80端口上似乎也是默认的界面!22端口似乎也看不出来存在什么漏洞!
尝试进行目录扫描:
发现了存在drupal
尝试在URL后面添加上drupal:
发现了确实存在Drupal!但是不知道具体的Drupal的版本信息:
查看了一下源码,发现可能是Drupal 7的版本,于是开始在网上搜索Drupal 7的相关漏洞:
具体查看了CHANGELOG文件,发现版本是7.57的版本
Drupal 7 RCE
尝试利用msf,搜索存在的漏洞:
尝试先使用drupal_drupalgeddon2这个漏洞,因为这个漏洞的时间和当前版本爆出的漏洞时间比较接近!
设置一下RHOST TARGETURI
利用成功,发现当前的权限是www-data权限,尝试直接利用msf进行提权:
没问题,是我们的目标靶机!
在/home/james目录下面发现了user.txt文件,这就是第一个flag了!尝试反弹一个会话到我们的机器上:
提权
这里利用了python反弹:
成功收到了会话!
find -perm -u=s -type f 2>/dev/null 查找suid权限的文件
发现了pkexec!
尝试上传源码,进行编译,可是没有编译环境!
前面已经知道了当前环境中存在python!尝试利用python版的exp进行利用!
但是都在报错。。查看到/var/www/html/drupal/sites/default路径下面存在一个settings.php文件:
连接数据库,但是没法利用数据库去提权,因为数据库的权限是mysql权限。
发现了users表里面存在james的加密的密码信息!尝试拿出来进行破解!等待了很长的时间,似乎还是没有结果:
网站的根目录下面发现了一个文件,文件的内容疑似是base64编码的内容:
复制出来进行解码:
brianfuck解码:
但是这个密码不对啊!
后来又看到suid权限的文件中存在wget和passwd:
那就尝试利用wget去下载passwd文件(被重写的passwd)
这里利用openssl 生成一个密码,插入到passwd文件中:
按照root的格式去写入passwd文件!然后开启一个简单的http服务!然后尝试去利用wget下载passwd文件,覆盖掉/etc/passwd文件:
下载成功,查看是否替换成功:
没问题,成功替换掉文件,切换用户!拿到root权限!
成功拿到了root权限以及root目录下面的flag文件!
(提权有点点困难,好久没玩了,这个提权也是没见过的提权方式!一直困扰在几个hash 和密码上面,当然还有就是pkexec上了。)