T1190-CVE-2020-1938漏洞利用检测
来自ATT&CK的描述
使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。
如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。
对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。
CVE-2020-1938漏洞
2月20日,国家信息安全漏洞共享平台(CNVD)发布了Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938)。该漏洞是由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行。目前,厂商已发布新版本完成漏洞修复。
测试案例
具体复测可以参考
- Apache Tomcat文件包含漏洞 (CVE-2020-1938) 分析:https://www.secrss.com/articles/17267
检测日志
HTTP流量
测试复现
可参考上述测试案例
测试留痕
HTTP流量检测规则基于payload关键词进行检测
检测规则/思路
Suricata检测规则
# CNVD-2020-10487 CVE-2020-1938
alert tcp any any -> any 8009 (msg:"CNVD-2020-10487 Ghostcat"; content:"javax|2e|servlet|2e|include|2e|request_uri"; content:"javax|2e|servlet|2e|include|2e|path_info"; content:"javax|2e|servlet|2e|include|2e|servlet_path"; reference:url,www.anquanke.com/post/id/199351; classtype:tomcat; sid:202002211; rev:1;)
Bro检测规则
module EXPLOIT;
event tcp_packet(c: connection, is_orig: bool, flags: string, seq: count, ack: count, len: count, payload: string)
{
if ( (c$id$resp_p == 8009/tcp) && /javax\.servlet\.include\.request_uri/ in payload && /javax\.servlet\.include\.path_info/ in payload && /javax\.servlet\.include\.servlet_path/ in payload)
{
local rec: EXPLOIT::Info = [$ts=c$start_time,
$src_ip=c$id$orig_h,
$src_port=c$id$orig_p,
$dst_ip=c$id$resp_h,
$dst_port=c$id$resp_p,
$vul_payload=payload,
$vul_describe="CVE-2020-1938 Ghostcat",
$vul_refer="https://www.anquanke.com/post/id/199351",
$vul_level="high"];
Log::write(EXPLOIT::LOG, rec);
}
检测规则转载自:https://github.com/DaemonShao/CVE-2020-1938
建议
暂无
参考推荐
MITRE-ATT&CK-T1190
https://attack.mitre.org/techniques/T1190/
CVE-2020-1938检测规则