题目 Blunder

进入

首页就是简简单单的一个静态页面,没有复杂的业务功能

image-20200728162845154

dirsearch

1
python3 dirsearch.py -u http://10.10.10.191/ -e * -t 100

扫描之后可以看到有个 admin 的管理后台,进到管理后台看看

image-20200728163224212

这里尝试了爆破,但是没有爆破到相关的信息,所以应该不是简单的爆破就能进去的。

有个指纹信息,可以Google搜一下bludit 可以看到是个开源的 CMS

image-20200728163209044

继续搜索相关利益姿势可以看到有 2 个关键的漏洞,1个是登陆认证的爆破 bypass ,1个是文件上传 getshell ,结合前面直接爆破失败的教训可以知道这里的攻击思路应该是这样:

  • 首先利用这个爆破 bypass 漏洞进行暴力破解,拿到账号密码
  • 登录后利用上传接口getshell

wfuzz + 爆破

1
2
脚本链接:
https://github.com/musyoka101/Bludit-CMS-Version-3.9.2-Brute-Force-Protection-Bypass-script/tree/master

直接修改对应的参数就可以爆破了,但是又有问题了,不知道账号。所以这里还需要再进行信息收集,根据之前大佬的笔记来看,还得wfuzz继续找敏感文件

1
wfuzz -u http://10.10.10.191/FUZZ.txt -t 100 -w /usr/share/wordlists/dirb/common.txt --hc 404,403

跑完之后可以看到有个 todo.txt

image-20200728164525898

这里类似是个 todolist ,上面 2 项已经完成,下面还剩一个未完成的,即通知 fergus 新博客还需要照片。根据这里推测用户名为 fergus ,那密码呢?

cwel

cewl可以根据网站页面的词汇,自动生成对应的字典信息,运行以下命令即可:

1
cewl -w builtid -d 10 -m 1 http://10.10.10.191/

将爆破脚本使用的字典指定为生成的字典,然后运行,即可拿到正确的用户名与密码。

msf getshell

Google搜索发现msf已经有内置payload,直接搜索:

image-20200728165148155

设置好对应的参数之后,就可以成功 getshell

image-20200728165348178

提升

在当前 cms 的同级目录下,还存一个高版本的 bludit-3.10.0a 文件夹

image-20200728170531983

根据修改时间,到 bl-content 目录下找,在 /var/www/bludit-3.10.0a/bl-content/databases/users.php 文件里面看到了admin用户的具体身份信息,包括登录用户名与 hash 密码:

image-20200728171553154

使用 hash-identifier 判断散列类型,显示是sha1,然后到破解网站找一下明文,显示为 Password120

接下来使用 su 切换到 hugo ,切换完成之后 sudo -l 查看当前用户的权限,发现 hugo 的权限说明有 (ALL, !root) /bin/bash ,意思就是hugo不能以root身份来运行bashGoogle一下就可以发现这种写法与之前 sudo 的一个漏洞有关系,根据提示直接运行 sudo -u#-1 /bin/bashrooted

image-20200728174958161

读取 /root/root.txt 即可!

password放到在线hash破解网站,就可以拿到明文密码 Password12

知识点

  • Google 关键信息
  • dirsearch 扫描目录/ wfuzz扫描敏感文件
  • cwel 生成字典文件
  • sudo<1.2.28bypasssudo -u#-1 /bin/bash

参考链接

https://www.rapid7.com/db/modules/exploit/linux/http/bludit_upload_images_exec

https://www.exploit-db.com/exploits/47502