题目 Blunder
进入
首页就是简简单单的一个静态页面,没有复杂的业务功能
dirsearch
1 | python3 dirsearch.py -u http://10.10.10.191/ -e * -t 100 |
扫描之后可以看到有个 admin
的管理后台,进到管理后台看看
这里尝试了爆破,但是没有爆破到相关的信息,所以应该不是简单的爆破就能进去的。
有个指纹信息,可以Google
搜一下bludit
可以看到是个开源的 CMS
继续搜索相关利益姿势可以看到有 2 个关键的漏洞,1个是登陆认证的爆破 bypass
,1个是文件上传 getshell
,结合前面直接爆破失败的教训可以知道这里的攻击思路应该是这样:
- 首先利用这个爆破
bypass
漏洞进行暴力破解,拿到账号密码 - 登录后利用上传接口
getshell
wfuzz + 爆破
1 | 脚本链接: |
直接修改对应的参数就可以爆破了,但是又有问题了,不知道账号。所以这里还需要再进行信息收集,根据之前大佬的笔记来看,还得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
这里类似是个 todolist
,上面 2 项已经完成,下面还剩一个未完成的,即通知 fergus
新博客还需要照片。根据这里推测用户名为 fergus
,那密码呢?
cwel
cewl
可以根据网站页面的词汇,自动生成对应的字典信息,运行以下命令即可:
1 | cewl -w builtid -d 10 -m 1 http://10.10.10.191/ |
将爆破脚本使用的字典指定为生成的字典,然后运行,即可拿到正确的用户名与密码。
msf getshell
Google
搜索发现msf
已经有内置payload
,直接搜索:
设置好对应的参数之后,就可以成功 getshell
:
提升
在当前 cms
的同级目录下,还存一个高版本的 bludit-3.10.0a
文件夹
根据修改时间,到 bl-content
目录下找,在 /var/www/bludit-3.10.0a/bl-content/databases/users.php
文件里面看到了admin
用户的具体身份信息,包括登录用户名与 hash
密码:
使用 hash-identifier
判断散列类型,显示是sha1
,然后到破解网站找一下明文,显示为 Password120
接下来使用 su
切换到 hugo
,切换完成之后 sudo -l
查看当前用户的权限,发现 hugo
的权限说明有 (ALL, !root) /bin/bash
,意思就是hugo
不能以root
身份来运行bash
,Google
一下就可以发现这种写法与之前 sudo 的一个漏洞有关系,根据提示直接运行 sudo -u#-1 /bin/bash
, rooted
!
读取 /root/root.txt
即可!
把password
放到在线hash
破解网站,就可以拿到明文密码 Password12
知识点
Google
关键信息dirsearch
扫描目录/wfuzz
扫描敏感文件cwel
生成字典文件sudo<1.2.28
的bypass
:sudo -u#-1 /bin/bash
参考链接
https://www.rapid7.com/db/modules/exploit/linux/http/bludit_upload_images_exec