小H靶场学习笔记:DC-1

DC-1

Created: November 8, 2023 11:41 PM
Tags: Drupal, SUID提权
Owner: 只惠摸鱼

打靶场过程

  • nmap扫描 存活主机
    小H靶场学习笔记:DC-1_第1张图片

  • 192.168.199.128可能性更大

    • 80
    • 111
    • 22
    • 端口开发 ,访问跳转出Drupal页面,确定为靶机

    小H靶场学习笔记:DC-1_第2张图片

  • 使用插件进行指纹识别
    小H靶场学习笔记:DC-1_第3张图片

    • 可知以下信息:
      • CMS:Drupal 7
      • 编程:PHP 5.4.45
      • web服务器: Apache 2.2.22
      • 操作系统:Debian
      • JavaScript 库:jQuery 1.4.4
  • 查一下CMS漏洞,
    小H靶场学习笔记:DC-1_第4张图片

    • 利用Kali,msf模块直接寻找相关漏洞
      小H靶场学习笔记:DC-1_第5张图片

      • 尝试最新的
        • 选中一个2018年的查一下,发现与当前使用的版本对照,可以使用。
          小H靶场学习笔记:DC-1_第6张图片
  • 使用drupal_drupalgeddon2漏洞,并设置payload,攻击载荷

  • 配置漏洞利用的参数
    小H靶场学习笔记:DC-1_第7张图片

  • run,执行漏洞,输入shell,成功进入shell;查找flag,并准备提权。

    • 尝试生成交互shell
      小H靶场学习笔记:DC-1_第8张图片

    • 查看当前目录,找到flag1,拿到第一个提示

    • 根据第一个提示,找网站目录 找到Drupal配置文件的位置/var/www/sites/default/settings.php
      小H靶场学习笔记:DC-1_第9张图片

    • 查看settings.php内容得到flag2,拿到数据库的信息
      小H靶场学习笔记:DC-1_第10张图片

      • 数据库drupaldb
      • 用户名 dbuser
      • 密码R0ck3t
  • 尝试使用数据库,登录进数据库
    小H靶场学习笔记:DC-1_第11张图片

  • 成功登录后,使用数据库drupaldb ,查看有什么表
    小H靶场学习笔记:DC-1_第12张图片

    • 找到users表,查看users表信息
      小H靶场学习笔记:DC-1_第13张图片

    • 找到管理员账号,但感觉是加密过的 ,数据加密脚本位置:/scripts/password-hash.sh

      • 思路:先加密自己需要登录的密码,复制加密内容,替换到表中,实现更改密码

      • 查看加密脚本,发现是php语言写的
        小H靶场学习笔记:DC-1_第14张图片

      • 找到用法,需要到根目录运行,先回到网址根目录在运行脚本
        小H靶场学习笔记:DC-1_第15张图片
        小H靶场学习笔记:DC-1_第16张图片

      • 得到加密后的密码,复制:password: admin hash: S S SDqs5yBFjJUid/K7Te3FrSRCebsytuNX2SAK71VSgebmaqWENCSo2
        在这里插入图片描述

      • 回到mysql 修改admin账号的密码

        在这里插入图片描述

  • 返回浏览器,访问192.168.199.128,进入登陆页面,使用admin/admin登录
    小H靶场学习笔记:DC-1_第17张图片

  • 成功登录后,点击dashboard,发现flag3
    小H靶场学习笔记:DC-1_第18张图片

  • 获得第三个提示flag3
    小H靶场学习笔记:DC-1_第19张图片
    在这里插入图片描述

  • 搜索全目录找到第四个flag和thefinalflag,但thefinalflag无权限读

    在这里插入图片描述

  • 根据提示,可以通过find 试试得到root权限

    • 综合flag3 flag4的提示,可以知道,可以通过SUID提权获取thefinalflag
      • 得到root权限
        小H靶场学习笔记:DC-1_第20张图片
  • 读thefinalflag.txt 拿到最后的flag
    小H靶场学习笔记:DC-1_第21张图片

知识:SUID提权

什么是SUID

SUID (Set owner User ID up on execution) 是给予文件的一个特殊类型的文件权限。在 Linux/Unix中,当一个程序运行的时候, 程序将从登录用户处继承权限。

简而言之用户在执行程序/文件/命令的时候,将获取文件所有者的权限以及所有者的UID和GID。

设置方式

  • chmod u+s file1.txt
    • 将所有者的执行权限位被设置成s。
  • chmod 4750 file1.txt
    • 在 4750中, 4 说明 SUID 位被设置, 7 为所有者读写执行权限, 5 为所有组的读执行权限,其他无任何权限。

文件设置SUID位的判断

rwsr–r-- 1 xyz xyzgroup 148 Dec 22 03:46 file1.txt

**注:**给文件/文件夹设置 SUID后,如果在文件的权限部分看到 ‘S’ ,说明这个用户对这个文件/目录没有执行权。

功能

SUID可以让调用者以文件拥有者的身份运行该文件,运行root用户所拥有的SUID的文件,那么运行该文件的时候就是root用户的身份。所以常用于运行”/bin/sh”以提权。

常用的SUID提权指令

  • nmap
  • vim
  • find
  • bash
  • more
  • less
  • nano
  • cp

在Linux/Unix中寻找设置了SUID的文件

  • find / -perm -u=s -type f 2>/dev/null
  • find / -user root -perm -4000 -print 2>/dev/null
  • find / -user root -perm -4000 -exec ls -ldb {} ;

查到相关文件

使用相应命令以执行”/bin/sh”提权得到root权限

例如:find / -exec “/bin/sh” ;

  • \ 是转义字符,转义结尾的’;’以结束命令执行

你可能感兴趣的:(靶场笔记,学习,笔记,web安全,网络安全,安全)