前言
Vulnhub之Raven系列靶机第一台Raven 1的Write-up。
Step 1
寻找靶机地址:
扫描开放的端口和服务:
首先看下80端口的服务,打开后是Raven Security公司的网站,浏览下网站,在SERVICE界面的源码中找到flag1:
Step 2
在BLOG界面,发现是一个wordpress搭建的站点,后台数据库为MySQL:
根据经验这里肯定是有问题的,用wpscan扫一下看看能发现什么:
然而并没有得到什么有用的信息,不甘心,再尝试爆破一下用户信息:
找到两个用户steven和michael,尝试爆破这两个账户的密码无果。
Step 3
在wordpress这里尝试了很久也没有任何收获,只能转向22端口。
尝试下steven和michael两个用户爆破22端口:
找到一个,接下来ssh登录一下,找找有什么信息。
登录后提示我们有新的邮件,去找一下这个邮件在哪里:
然后看一下michael这封邮件内容,有一个比较有趣的片段:
但是并不明白这有什么用。同时在/var/www目录下找到flag2.txt文件:
Step 4
在查看wordpress网站的配置文件时,找到数据库的账户和密码,之前Wappalyzer也说明网站后台是MySQL数据库:
连接MySQL数据库:
wp_users表里应该是用户的账户密码,看一下有什么:
果然是Steven和Michael两个用户,Michael用户的密码查不出来,Steven账户密码解密结果:
再依次看一下其他的表,在wp_posts表里发现flag3和flag4:
Step 5
到这所有的flag我们都已经拿到了,但是还希望可以获得root权限。
虽然在数据库里获得的是wordpress后台账户的密码,但还是尝试一下ssh是否有用:
幸运地登录了steven账户,看一下sudo有什么权限:
那么就可以通过python提权了,具体可看之前DC系列靶机的writeups中python建立交互式终端:
提权成功,获取root权限后拿到一切(原来flag4应该这样拿==):
P.S.
靶机介绍里也说了这台靶机提权的方法有至少两种,后来看其他Writeup发现还可以通过MySQL的udf提权实现。关于udf提权在JarvisOJ Web RE?题里有涉及到。
这台靶机udf提权首先找一下payload:
然后在本地编译好1518.c文件:
将编译好的1518.so文件上传到靶机上:
然后回到michael账户连接数据库开始提权: