Raven2
一、靶机介绍
靶机地址:https://download.vulnhub.com/raven/Raven2.ova
攻击方法:
- 主机发现
- 端口扫描
- 信息搜集
- 路径爆破
- 远程代码执行注入
- exp代码修改
- 反弹shell
- 内核漏洞枚举
- 本地信息手机
- mysql udf提权
二、主机发现
arp-scan -l |
靶机ip为192.168.43.157
三、端口扫描
nmap -p- 192.168.43.157 |
发现靶机开放22,80,111,49867
四、web信息搜集
80端口开放,进入是也博客页面,点击blog页面,进入wordpress目录,不知道什么原因wordpress加载不完全,页面比较丑,查看一下源代码,发现一个比较奇怪的域名,
raven.local
在kali中绑定一下
重新访问页面,页面加载完成
4.1、wpscan扫描
已经确定是wordpress页面了,就用wpscan扫描一下,
wpscan --url http://192.168.43.157 |
根据扫描结果访问路径,在uplods目录下,发现flag3
4.2、dirsearch扫描
获取不到更多信息了,扫描一下目录
dirsearch -u "http://192.168.43.157" |
在vendor这个目录下,存在许多文件,在path目录下,发现网站路径和flag1
网站路径为/var/www/html
在vendor的readme中看到关于,phpmailer的历史版本漏洞
在/vendor/VERSION,目录下看到版本号
五、远程代码执行
在kali中查找是否存在对应漏洞脚本
searchsploit phpmailer |
发现存在漏洞脚本
那两个改了也用不成,这里直接忽略了,直接把python脚本复制当当前目录,便于更改
cp /usr/share/exploitdb/exploits/php/webapps/40974.py . |
下面是需要更改的地方,根据网上资料,这个脚本的利用页面就是那个邮件那个地方,在靶机中对应/contact.php这个路径,把反弹的ip更改为kali的ip,网站的路径根据flag1得知,也需要更改一下
更改完成后,直接执行脚本就行了,在kali监听页面应该可以看到反弹成功
python3 40974.py |
六、mysql udf提权
6.1、本地信息搜集
ps -ef |
查看一下进程,发现mysql是以root权限执行的,这个也是最有可能提权成功的
由于web页面是wordprss框架,所有从wordpress的配置文件中看看能不能找的mysql的相关信息
cd /var/www/html/wordpress |
在wordpress中找的了账号密码,并且这个mysql只允许本地登录
root
R@v3nSecurity
6.2、\!bash提权尝试
mysql -uroot -p |
登录mysql,使用\!bash尝试提权,发现失败
6.3、udf提权
查看是否存在
select version(); # 查看数据库版本号 |
首先看一下是否满足写入条件
这里secure_file_priv没有具体值,表示不对mysqld的导入|导出做限制,这个时候可以提权。
如果secure_file_priv的值为NULL,表示限制mysqld不允许导入|导出,此时无法进行提权。
如果secure_file_priv的值为/tmp/,表示限制mysqld的导入|导出只能发生在/tmp/目录下,也无法进行提权。因为MySQL的版本大于5.1,所以必须把UDF的动态链接库文件放置于MySQL安装目录下的lib\plugin文件夹下才能创建自定义函数
如果不是只能本地登录的话,可以直接用msf
这里我懒省事,没有直接拿了msf下的exp,也可在searchploit中搜索对应的脚本,用gcc编译一下在用
find / -name "*mysqludf*" 2>/dev/null # 查找msf的udf库文件 |
然后再登录到mysql终端中
use mysql; |
select sys_exec('id > /tmp/out.txt'); # 尝试执行函数,看看是否成功 |
反弹成功,flag4再root目录下
找一下flag2
find / -name '*flag*' 2>/dev/null |
发现在/var/www目录下