VulnHub-Raven:2靶机渗透

前言

通过VulnHub-Raven:2靶机渗透学习

攻击机:kali
靶机:Raven
网段:192.168.123.0/24

知识点:
	PHPMailer 小于5.2.18 (CVE-2016-10033)
	UDF提权


工具:	
	LinEnum——Linux枚举漏洞工具
	dirsearch——目录扫描工具

CVE-2016-10033

原理:PHPMailer mail()函数功能,远程攻击者利用默认开启的PHPMailer可以运行构造的恶意代码,无需登录触发该漏洞,从而导致获取系统权限。

漏洞影响范围:WordPress <4.7.1 PHPMailer <5.2.20

UDF提权

漏洞版本:MYSQL<5.5

步骤

信息收集

首先先知道靶机的IP地址,用nmap获取靶机的IP地址

IP地址为192.168.123.4
也可以用arp-scan工具扫描

扫出IP地址后,继续扫描靶机的开放端口和服务,用nmap获取靶机的端口

目标开放了22、80、111端口

访问该80端口,得到WEB应用

外国网站,不可以注册,提示为目录泄露,随即用dirsearch扫描目录,也可以直接用kali的dirb

找到泄露的目录。进去查看

获得网站绝对路径:/var/www/html/vendor/

在README.md找到phpMailer这个关键

该靶机有phpMailer邮件服务,且该版本为5.2.16

##漏洞利用
查找phpMailer版本小于5.2.16的漏洞(CVE-2016-10033)

利用searchsploit搜索可利用漏洞

存在远程代码执行,去漏洞库将exp复制


exp是在contact.php生成shell.php后门,当访问靶机的contact.php,用kali的4444端口监听,后门上传成功

该py会在对应的漏洞网站生成后门,访问后门文件:

拿到www-data权限,不过权限不够,很多事情做不了,需要提升到root权限
可以通过python获取pty。(交互式webshell)

python -c ‘import pty;pty.spawn("/bin/bash")’

权限提升

查看/var/www/html下的wordpress,查看对应数据库的信息

找到数据库账号密码

这里使用Linux枚举漏洞工具LinEnum,下载地址

其次用靶机获取kali上面的LinEum文件(需要在kali上面打开apache服务,命令为service apache2 start)

上传成功
需要提权才可以执行,提权后./LinEnum.sh执行

可以看到MYSQL以root登录

可以用ps aux |grep root命令

登录MYSQL数据库,查看数据库版本

MYSQL低于5.5的漏洞可以是UDF提权
在kali搜索1518.c的exp

利用提权exp在kali伤编译成so文件

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


并将其复制到/var/www/html里面

靶机切换到/tmp下,获取kali的shell.so

接着进行MYSQL的UDF提权

进行数据库创建数据表foo
create table foo(line blob);

调用do_system函数给find命令所有者的suid权限,使其执行root

命令:select * from mysql.func;
命令:select do_system(‘chmod u+s /usr/bin/find’);

执行find命令,执行shell
命令:find / -exec ‘bin/sh’ ;

参考资料

CVE-2016-10033
权限提升
UDF提权

总结

至此,也算是是系统提权成功,还需要后面学习相关的漏洞EXP。

你可能感兴趣的:(漏洞复现,安全,web安全,linux)