Enumeration
nmap
首先扫描目标端口对外开放情况,第一轮扫描发现对外开放了22,80,8065三个端口,端口详细信息如下
nmap -sC -sV -p 22,80,8065 10.10.10.222
nmap显示22端口运行着ssh服务,80端口运行着http服务,8065端口运行的服务未知
TCP/80
浏览80端口,展示了一个页面
点击HELPDESK,显示无法连接,需要添加域名和ip到/etc/hosts中
10.10.10.222 delivery.htb helpdesk.delivery.htb
点击另一个contact us,显示对于未注册用户,需要使用helpdesk与团队联系,一旦有了@delivery.htb邮件地址,就 可以访问MatterMost服务器
点击MatterMost server跳转到登录表单,显示端口为8065
Foothold
再回到HelpDesk,发现是一个osTicket票务系统
创建一个新票据,open a new ticket
如果填写无误,创建票据后会收到一个类似创建成功的提醒消息,在票据创建的同时,也会创建一个@delivery邮 箱,可以用该邮箱来注册用户
重新回到MatterMost server,使用刚才给的邮箱来创建一个账户
回到helpdesk看到了链接
访问该链接,登录后可以看到如下页面
其中包含一些有关认证信息的内容,使用该凭证可以登录ssh maildeliverer:Youve_G0t_Mail!
Privilege Escalation
枚举系统时发现,Mattermost将其配置存储在/opt/mattermost/config/config.json,其中有mysql的认证信息
尝试登录mysql数据库
然后进入mattermost数据库
进一步发现该数据库中有users表
其中,可以看到有一行的内容为
root | $2a$10$VM6EeymRxJ29r8Wjkr8Dtev0O.1STWb4.4ScG.anuu7v0EFJwgjjO | NULL | | root@delivery.htb
而在之前的提示中,进入到mattermost服务器里面时,有暗示说不要使用包含了PleaseSubscribe!的密码,猜测密码可能和这个有关
生成一个包含了这组字符串的密码字典
使用john对hash进行解密,很快就能得到root的密码是什么
可以直接切换至root用户