saulGoodman
一个专注于红队攻防研究的公众号
EnuBox_Mattermost
简介
靶机地址:https://www.vulnhub.com/entry/enubox-mattermost,414/
Name:EnuBox:Mattermost
靶机介绍:The Mattermost chatting system may or may not hold sensitive information. Can you find your way in?
信息搜集
拿到靶机 IP
之后上神器 NMAP
对它就是一顿梭哈:
nmap -A -p- -T4 192.168.1.137
扫描完成后,发现它开放了 21
(ftp)、22
(ssh)、80
(http)、3389
(XRDP远程桌面)、8065
(web) 端口。
其中 ftp
可以用匿名用户 anonymous
登陆:
由上图所示登陆到它的 ftp
后没有显示任何文件!那么我们还是先来看看 web
(80、8065)的目录文件把:
dirb http://192.168.1.137
dirb http://192.168.1.137:8065
枚举目录出来后先是看了 80
端口的 index.html
,它显示的是 403
没有找到,但是页面上的信息提示有一个 README.md
的文件:
我访问 README.md
发现是 404
:
http://192.168.1.137/README.md
这个时候先放弃 80
端口,来到 8065
端口看看,它扫描出来是有一个 robots.txt
文件,访问但是空白的:
http://192.168.1.137:8065/robots.txt
这个时候我直接访问它的首页发现是一个登陆页面:
http://192.168.1.137:8065/login
tftp下载README.md文件
它使用的 CMS
是 Mattermost
,它是一款易于使用、经过简化且可扩展的团队通信和企业消息传送系统。
尝试若口令无果,Google
上只有它的默认 Mysql
的账号密码,我用来尝试登陆 Web
无果。
思路回到上面,刚刚打开 80
端口的 Web
页面它提示了一个 README.md
文件,是不是作者告诉我们那个是关键点呢?刚好我们有了它的 ftp
匿名用户可以登陆,但是刚刚看过了没有任何文件,正当我一筹莫展的时候我下意识的在 tftp
里尝试能不能把 README.md
下载到本地,没想到真成了!
# 因为我写到这里的时候是第二天了,我重启后靶机的 IP 就变成 192.168.1.138 了!
tftp 192.168.1.138
# TFTP是一个传输文件的简单协议,它基于UDP协议而实现的。
把 README.md
下载到本地打开后发现我们得到了一个账号和密码:
admin:ComplexPassword0!
随后我登陆到了它到后台:
http://192.168.1.138:8065/login
来到后台后我大致看了看它的后台消息,翻译过来好像是一些没用的诗句?
额。。。先不管它!我又去了 exploit-db
上寻找了有关 Mattermost
的漏洞,但是没有得到我想要的信息:
Mattermost-后台获取FTP账号密码
随后我在后台的头像以及能上传的地方尝试看看能不能获取到一枚 webshell
,很显然我没成功,我太菜了。
正当我一筹莫展的时候我发现了一个系统控制台找到了一个插件 zoom
:
它默认是 False
关闭的,我把它开启 True
后得到了一枚 URL
:
http://localhost/JK94vsNKAns6HBkG/AxRt6LwuA7A6N4gk/index.html
这个时候我是在 8065
端口打开的 URL
发现没有这个页面:
但是用 80
端口的 web
去访问这个页面的时候却得到一段提示:
http://192.168.1.138/JK94vsNKAns6HBkG/AxRt6LwuA7A6N4gk/index.html
Hello Admin, FTP credentials help you edit, transfer and delete files from your site. This is why it's important to keep these credentials handy. FTP Credentials: ftpuser / ftppassword Make sure to keep these to yourself.
通过这个提示我有得到一枚账号和密码,是 FTP
的:
ftpuser:ftppassword
随后我便用得到的账号和密码成功登陆到它的 FTP
服务里:
ftp 192.168.1.148
获取到SSH的账号密码
登陆进去后发现有一个 examples.desktop
文件,还有一个 users
目录、mattermost
目录下有一个 message
文件,我把他们都下载到本地后查看了一下examples.desktop
文件没发现什么:
查看 message
文件发现里面有一段话:
这个时候有点懵了,整半天你给我了一句 Welcome!!!
?但是后来把一切结合起来想了想,刚开始是有一个 users
目录,然后是 mattermost
目录下有一个 message
文件,文件内容是 Welcome!!!
。
柯南:真実はいつも一つ
(真相只有一个),mattermost
是一个用户名,而 message
文件内容 Welcome!!!
就是密码!!!按照我这个推理我尝试登陆到它到 SSH
没想到真成了!!!
USER:mattermost
PASS:Welcome!!!
ssh mattermost@192.168.1.138
玩 CTF
靶机就是要多思考,根据我们得到到信息要去想它为什么会有这个信息?这个信息的线索是干嘛的?我可以用得到的信息做写什么?
毕竟CTF
就是这样不按常理出牌,你得像个黑客,以黑客的思维去思考问题!
登陆到 mattermost
用户后,我习惯性的 sudo -l
发现它没有权限去执行 sudo
,需要密码:
接着我查看了一下有没有一些文件可以以 SUID
权限去执行:
find / -perm -u=s -type f 2>/dev/null
结果发现了刚好有一个文件 secret
文件是可以以 SUID
权限执行的,而且刚好在我所登陆的 mattermost
用户的 家目录下的桌面:
/home/mattermost/Desktop/secret
逆向分析secret文件获取Flag
随后我来到了 mattermost
用户的家目录,里面有一些目录和文件,除了 Desktop
目录里有文件,其他目录都是空的!
我先是看了看 README.md
文件,发现里面是一段话,大概意思是你有一个密钥,而且在 30
天后会过期
Hello User,
Your secret key is 48912.
Do not share this key with anyone.
!! NOTE:: This key is not valid after 30 days and has been changed by our internal systems.
!! NOTE:: Please contact the support desk to get new secret key.
吓的我迫不及待地去运行 secret
文件,运行后它让你输入密码,我用刚刚得到的密码发现出错了:
很显然密码以及过期了!这个时候怎么办呢?我先是把 secret
文件使用 nc
传到 KALI
:
之后各种百度各种Google关于逆向的文章,临时拜佛脚!WEB狗表示伤不起,一路硬钢下来的!呜呜呜~~~
经过查看源代码发现了一段代码:
undefined8 main(void)
{
long in_FS_OFFSET;
int local_14;
long local_10;
local_10 = *(long *)(in_FS_OFFSET + 0x28);
local_14 = 0;
puts("Hello Admin, Please enter the secret key:");
__isoc99_scanf(&DAT_00100992,&local_14);
if (local_14 == 0xf447) {
setuid(0);
setgid(0);
system("/bin/bash");
}
else {
printf("Your is either invalid or expiredn.");
}
if (local_10 != *(long *)(in_FS_OFFSET + 0x28)) {
/* WARNING: Subroutine does not return */
__stack_chk_fail();
}
return 0;
}
拿到源代码之后开始审计,幸好以前学过一点点 C
语言,还是能看懂一点的,具体是要让 local_14
的值等于 0xf447
,这个时候就成功运行 system
函数,切换到 /bin/bash
!0xf447
是十六进制
,我把它转化为十进制
为:62535
最后运行 secret
文件获得 root
权限!
最终也是在 /root/Desktop
下拿到 Flag
!
原文始发于微信公众号(CTS纵横安全实验室):VulnHub通关日记-EnuBox_Mattermost,逆向分析文件获取Flag
- 我的微信
- 微信扫一扫
-
- 我的微信公众号
- 微信扫一扫
-
评论