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

DC-1

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

打靶场过程

  • nmap扫描 存活主机
    在这里插入图片描述

  • 192.168.199.128可能性更大

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

    在这里插入图片描述

  • 使用插件进行指纹识别
    在这里插入图片描述

    • 可知以下信息:
      • CMS:Drupal 7
      • 编程:PHP 5.4.45
      • web服务器: Apache 2.2.22
      • 操作系统:Debian
      • JavaScript 库:jQuery 1.4.4
  • 查一下CMS漏洞,
    在这里插入图片描述

    • 利用Kali,msf模块直接寻找相关漏洞
      在这里插入图片描述

      • 尝试最新的
        • 选中一个2018年的查一下,发现与当前使用的版本对照,可以使用。
          在这里插入图片描述
  • 使用drupal_drupalgeddon2漏洞,并设置payload,攻击载荷
    在这里插入图片描述

  • 配置漏洞利用的参数
    在这里插入图片描述

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

    • 尝试生成交互shell
      在这里插入图片描述

    • 查看当前目录,找到flag1,拿到第一个提示
      在这里插入图片描述

    • 根据第一个提示,找网站目录 找到Drupal配置文件的位置/var/www/sites/default/settings.php
      在这里插入图片描述

    • 查看settings.php内容得到flag2,拿到数据库的信息
      在这里插入图片描述

      • 数据库drupaldb
      • 用户名 dbuser
      • 密码R0ck3t
  • 尝试使用数据库,登录进数据库
    在这里插入图片描述

  • 成功登录后,使用数据库drupaldb ,查看有什么表
    在这里插入图片描述

    • 找到users表,查看users表信息
      在这里插入图片描述

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

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

      • 查看加密脚本,发现是php语言写的
        在这里插入图片描述

      • 找到用法,需要到根目录运行,先回到网址根目录在运行脚本
        在这里插入图片描述
        在这里插入图片描述

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

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

        在这里插入图片描述

  • 返回浏览器,访问192.168.199.128,进入登陆页面,使用admin/admin登录
    在这里插入图片描述

  • 成功登录后,点击dashboard,发现flag3
    在这里插入图片描述

  • 获得第三个提示flag3
    在这里插入图片描述
    在这里插入图片描述

  • 搜索全目录找到第四个flag和thefinalflag,但thefinalflag无权限读
    在这里插入图片描述
    在这里插入图片描述

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

    • 综合flag3 flag4的提示,可以知道,可以通过SUID提权获取thefinalflag
      • 得到root权限
        在这里插入图片描述
  • 读thefinalflag.txt 拿到最后的flag
    在这里插入图片描述

知识: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” ;

  • \ 是转义字符,转义结尾的’;’以结束命令执行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

只惠摸鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值