近期,阿里云安全观测到,在 Apache Log4j2 漏洞攻击全程中,无论是在漏洞利用阶段,还是后续要进行验证和进一步的控制利用,大多涉及多次受害服务器的主动外联,云防火墙已陆续发现并拦截60余万次涉及勒索、挖矿家族的漏洞利用行为。
提醒广大企业用户即刻排查服务器主动外联行为,做好漏洞应急响应!主动外联管控方案尤其适合研发同学无法立即升级log4j依赖的场景,对于入方向基于攻击识别和拦截存在的种种绕过,也能通过外联控制能力进行第二道的有效拦截。
如需阿里云安全的协助,请拨打:95187-1,我们会在第一时间为您提供应急响应服务。
Log4j2 RCE漏洞利用方式多样,且具备攻击入口多、payload变形多、支持协议多样的特点,单纯的入向流量检测难以有效的制衡攻击者利用该漏洞。
阿里云安全将对攻击行为的监测重点转移到服务器主动外联行为的排查上,观测到多种形式的大规模扫描、在野利用和绕过,并且已有APT组织、挖矿蠕虫、勒索蠕虫、僵尸网络整合该漏洞利用,用于传播。
图. Tellyouthepass勒索病毒payload显示jndi:ldap外联下载示例
01
主动外联拦截超9800+起
有效遏制蠕虫传播
阿里云安全团队分析了 Apache Log4j2 远程代码执行漏洞常见的验证、利用方式及其原理,发现攻击者在试图利用该漏洞发起恶意行为过程中,均存在多次必要的服务器外联通信:
- 在攻击者发送请求之后,命令执行阶段之前,受害服务器需要向攻击者所控制的带恶意载荷的LDAP/RMI服务器发起至少两次请求(请求Reference、加载class);
- 命令执行阶段当中,如果反连、反弹shell、后门植入等,则需要向DNS反连平台、黑客控制的服务器等发起外联。
通过主动外联管控,可以有效斩断该漏洞的验证和利用链,有效遏制恶意蠕虫和高级威胁传播。
截至目前,阿里云云防火墙已检测并阻断主动外联的Log4j恶意利用9800+起,涉及僵尸网络家族、团伙十余个,包括Tellyouthepass等勒索团伙,Kinsing、Muhstik、Mirai等挖矿和DDOS家族等。
图.僵尸网络通过ldap协议外联
图.Muhstik僵尸网络外联Java Class下载挖矿脚本代码拦截示例
图.CobaltStrike木马外联Java Class下载反弹shell代码拦截示例
图.僵尸网络外连Java Class下载Base64加密的挖矿脚本拦截示例
02
Log4j漏洞原理——
为什么要管控主动外联?
Log4j漏洞的本质是一个JNDI注入漏洞。JNDI是Java的一个目录服务应用程序接口(API),它提供一个目录系统,并将服务名称与对象关联起来,从而使得开发人员在开发过程中可以使用名称来访问对象。
JNDI支持LDAP、DNS、NIS、RMI、CORBA等多种协议,即使并非都能用于命令执行,但信息可以通过上述几种协议中任何一种被泄露,加之该漏洞相关源码存在递归解析,利用方式非常灵活,payload变化多端且漏洞入口多样化,目前行业中对该漏洞的防护缺乏完整的体系化思路。
漏洞利用灵活 防护掣肘
漏洞入口多样化:
web服务是Log4j漏洞利用的重要入口,但绝不是唯一入口,只要任意输入片段到达应用程序并通过Log4j2进行处理,就可能触发远程命令执行。如果在防御时只做入方向Web侧防护,很难彻底防御这一攻击;
Payload变形多:
灵活的利用方式导致流量检测/拦截等正面对抗手段存在较大的被绕过可能性。攻击payload并非一定通过明文方式到达Log4j2组件处理,中间处理阶段可能通过编码、加密等各个阶段,单字段拦截可能造成大量误报;
多种协议导致信息泄露:
仅针对LDAP、RMI前缀进行检测和拦截很难防御信息泄露、木马后门等的影响。
服务器外联管控 斩断漏洞利用链条
攻击者利用Log4j RCE漏洞进行远程恶意行为的步骤大致如下图所示:
攻击者部署带有恶意载荷的LADP/RMI服务器
向使用Log4j2组件的服务器发送带有恶意的JNDI payload的攻击请求
受攻击服务器中的使用Log4j2组件的服务调用lookup方法,向恶意LADP/RMI服务器发起请求,并从响应中获取返回的恶意Reference对象
服务器解析该恶意Reference对象,并进一步基于Reference中指定的codebase地址,加载并执行恶意class
实现命令执行后,攻击者将得以操控受害服务器去进行各种操作,包括但不限于反连验证、外带敏感信息、反弹shell、后门植入等。
因为该漏洞本质是JNDI注入漏洞,攻击者要执行任意代码,受害主机必须进行至少两次主动外联:第一次是请求Reference对象,第二次是加载恶意class。
理论上来说,管控好服务器的主动外联行为,仅放行认识的域名/IP和协议,让它无法向陌生的、攻击者控制的域名/IP发请求,漏洞就无法利用成功了。
这是目前来看最难被绕过的防御方式之一。
03
云防火墙全链路防御
阿里云云防火墙在漏洞利用阶段、验证和进一步的控制阶段,都能够对攻击者的行为进行有效拦截,达到全链路防御的效果,尤其擅长发现并阻断目标服务器的主动外联通信行为。
防御链路如下图所示:
IPS入侵防御引擎
在不同的Log4j2漏洞利用手段中,攻击者、带恶意载荷的LDAP/RMI服务器,以及存放恶意后门的下载服务器都会在不同阶段尝试与存在漏洞的目标服务器进行通信。云防火墙IPS入侵防御引擎支持多种攻击手法的检测和拦截,覆盖漏洞利用的各个阶段,包括但不限于“下载可疑的java class”、“恶意LDAP外联”等。
图 下载可疑的java class行为拦截
ACL主动外联管控
云防火墙支持配置应用粒度的ACL策略,可以通过配置内到外的管控策略,放行到特定目的的访问,此外云防火墙的智能策略功能,通过智能学习客户正常的外联流量生成白基线,为客户推荐放行已知正常的域名和IP的流量。
客户可以通过下发智能策略、配置外联白名单,仅放行访问外部已知正常的域名和IP的流量,对其他主动外联流量一概拒绝,这样做能够有效避免因受JNDI注入攻击,导致加载执行来自恶意域名和IP的class文件而产生命令执行,也能有效避免后续利用行为。
从下图可以看出,开启主动外联拦截后,进行Log4j RCE漏洞利用测试,已无法弹回shell,在向恶意服务器请求Reference的阶段就已被拦截。
DNS防火墙
在本次Log4j2 RCE漏洞事件中,针对通过DNS解析外带信息,导致信息泄露的“不出网”场景,DNS防火墙功能,能够选择性地仅对正常域名请求进行解析。
阿里云防火墙提供DNS防火墙功能,将DNS技术和安全威胁防护库相结合,对域名请求进行威胁判断,选择性地对正常域名请求进行解析,阻止恶意域名解析和外联,从而保护企业内网安全。
目前云防火墙的DNS防御能力正在邀测,如您有兴趣,且已经是企业认证用户,可以在用防火墙控制台申请进行试用。
阿里云安全
国际领先的云安全解决方案提供方,保护全国 40% 的网站,每天抵御 60 亿次攻击。
2020 年,国内唯一云厂商整体安全能力获国际三大机构(Gartner/Forrester/IDC)认可,以安全能力和市场份额的绝对优势占据领导者地位。
阿里云最早提出并定义云原生安全,持续为云上用户提供原生应用、数据、业务、网络、计算的保护能力,和基础设施深度融合推动安全服务化,支持弹性、动态、复杂的行业场景,获得包括政府、金融、互联网等各行业用户认可。
作为亚太区最早布局机密计算、最全合规资质认证和用户隐私保护的先行者,阿里云从硬件级安全可信根、硬件固件安全、系统可信链、可信执行环境和合规资质等方面落地可信计算环境,为用户提供全球最高等级的安全可信云。