网络 “冠状病毒” |启明星辰ADLab联合CNCERT物联网安全研究团队发布最新研究报告

发布时间 2020-03-27

概况


随着“新型冠状病毒肺炎”上升为全球性公共卫生突发事件,各国民众开启了“宅抗疫、云生活”模式。在非常时期,网络空间在人们的日常生活变得更加不可或缺,然而当大家都在奋力抗疫的同时,大量的黑客却开始以“冠状病毒”名义从事大规模的网络攻击活动,除了目前已经发现以冠状病毒为名进行的APT攻击、勒索病毒攻击之外,物联网领域中以冠状病毒为名的相关攻击也快速上升。


这些物联网“冠状病毒”样本以“Corona”(冠状的英文)、“covid”(冠状病毒英文缩写)命名,并利用物联网设备所存在的漏洞进行传播。我们通过监测数据发现,该类样本的数量与疫情发展出现一定程度的相关性,比如进入3月份随着全球疫情持续升温,以“covid”命名的样本开始显著增多。


物联网“冠状病毒”样本统计分析


截止到2020年3月26日,我们的物联网威胁数据平台共捕获到801个以冠状病毒命名的样本。我们针对这些物联网“冠状病毒”样本进行了仿真环境动态分析,样本的C&C上线分布情况如图1所示。



图1 僵尸样本C&C上线分布


数据显示,这批物联网“冠状病毒”样本中共近90%的样本受控于位于美国的5个C&C服务器,7%位于俄罗斯,4%位于荷兰。其中有6个C&C服务器在疫情期间较为活跃,且关联的样本量较大,包括X86、ARM、MIPS、PowerPC、SPARC、Renesas SH等多个平台的ELF文件。通过进一步的同源性分析,我们将这些样本分成两类,分别命名为Corona-A、Corona-B,后文将进一步探究它们的技术特点和所属家族。


这批“冠状病毒”样本的主要传播手段仍然是通过内置密码本进行Telnet密码爆破,部分样本利用到了“Redis 未授权代码执行”等多个已知漏洞利用进行传播。另外在我们溯源分析的过程中,发现相关组织近期利用最新的漏洞CVE-2020-9054[1](Zyxel网络附属存储(NAS)设备)开展攻击活动。据著名调查人员Brian Krebs的说法,该漏洞的相关POC在地下论坛被以2万美元的价格出售,同时也吸引了大量勒索软件攻击组织的兴趣(可能还与Emotet有关)。由于漏洞的严重性,美国CERT/CC将该漏洞定为CVSS10分。


表1 样本传播利用的设备漏洞


技术分析


1、Corona-A类样本技术分析


在对Corona-A类样本进行整体分析后,我们发现其中的变种虽多,但各类样本间的相似度很高,故以近期活跃的C&C (192[.]3[.]193[.]251)为例,对关联样本进行逆向分析,其多种架构的样本均被命名为“Corona”。


图2 Shell脚本


僵尸程序运行后,首先绑定本地端口0x22B8(8888端口),连接C&C地址为:192[.]3[.]193[.]251:20。


图3  监听本地端口


通过ensure_bind函数确保样本程序只存在单实例运行。


图4  检查单实例运行


执行botkiller模块以清除其它存在竞争的主流僵尸程序。


图5 执行botkiller模块


需清除的僵尸家族和关联字符串如下图所示:


图6 清除的目标家族及关联字符串


恶意代码中多处硬编码了“Corona”关键词,包括上线数据包和连接中断的输出显示(僵尸服务端可能将“Corona”作为通信协议识别的关键特征)。


图7 硬编码“Corona”关键词


上线包及C&C回复包通信流量如下图所示:


图8 TCP通信流量


样本的proc_cmd()函数包含DDoS攻击模块,其融合了多种常见的攻击模式,包括UDP、VSE、HTTP、TCP、STD、XMAS等。同时在针对该C&C监控的过程中,我们发现其近期发动的DDoS攻击活动较为频繁,主要目标为欧美国家,部分攻击示例如下图所示:


图9 攻击情况示例


基于样本的代码结构、函数命名、通信流量、攻击模式等特征,可以发现Corona-A类样本与Gafgyt家族的相似度很高,黑客虽对通信数据等内容包装了“新冠”概念,但代码在整体上仍与Gafgyt家族相近,可以认为是Gafgyt家族的变种。Corona-A的其它类型样本也同样基于Gafgyt进行修改,在此不做赘述。


2、Corona-B类样本技术分析


Corona-B类恶意样本的代码相较Corona-A更为复杂,且大部分样本进行了符号剥离,对逆向分析会产生较大干扰。但是黑客百密一疏,在大量样本中,依然存在个别arm架构的样本包含符号,可供研究分析。通过进一步的观察,我们发现Corona-B类样本间的差异较大,可以细分为变种Corona-B-1和变种Corona-B-2进行分析。


▸ Corona-B-1


Corona-B-1的关联C&C为45[.]84[.]196[.]75,相关样本占捕获总量的64%,是目前发现样本量最大的物联网“冠状病毒”,近一个月时间内迭代了多个版本。在溯源分析的过程中,我们发现相关组织近期利用Zyxel网络附属存储(NAS)设备的最新漏洞CVE-2020-9054开展攻击活动,相关入侵流量如下图所示:


图10 漏洞入侵流量


CVE-2020-9054漏洞是网络产品供应商Zyxel近期修复的一个严重的远程代码执行漏洞,漏洞影响多款NAS设备,攻击者可以通过weblogin.cgi组件触发命令注入并加载恶意代码。


攻击成功后会执行shell脚本下载不同架构的僵尸样本。


图11 执行shell脚本


此类恶意样本也曾以“corona”作为后缀名进行下载传播。


图12 “corona”后缀样本


通过进一步的分析确认,Corona-B-1是Mirai家族的新变种Mukashi,虽然代码未集成漏洞利用模块,但黑客有很大可能在利用CVE-2020-9054漏洞进行攻击并传播恶意样本,需要引起各方重视。


Corona-B-1与其它Mirai家族不同的是,其在初始化模块中,并未采用常规的xor加解密,而是使用了自定义的解密模式。其不同版本的解密算法相同,但预置加密字符串不同,初始加密字符串示例如下图所示。


(样本ad61c361f76026e0b0c1ff1bc62b52e7) :


图13 初始加密字符串


解密后的命令和字符串会存储到Table中供后续使用,对应信息如下表所示:


表2 解密后的命令和字符串


Corona-B-1的扫描模块scanner_init则同Mirai家族的大多数变种一样,采用Telnet爆破,并使用不同的默认凭据组合进行登录。


图14 扫描流量


一旦Telnet爆破成功则会以“<host ip addr>:23 <username>:<password>”的格式将信息提交给C&C。


同时,Corona-B-1会试图发送命令执行一些操作,如“system”、“shell”等默认命令, Corona-B-1在此处新增了"/bin/busybox CORONA"命令,可以进一步执行busybox中的恶意代码部件。


图15 “CORONA”命令


值得注意的是,Corona-B-1在最新的代码中删除了对该命令的后续处理,前期版本通过recv()函数来接收和判断回显信息(如若CORONA命令不存在,busybox将返回“CORONA: applet not found”)。


图16 新旧版本命令处理对比


在攻击模式方面,Attack_parsing()函数负责处理与C&C服务器的命令交互,具体的控制指令数组由初始解密得到。


图17 控制指令选择


下表为Corona-B-1支持的C&C控制指令。


表3  C&C控制指令


其中,Corona-B-1配置了部分绕过DDOS防御的攻击模式,例如UDP bypass,TCP bypass,这些技术最早来自于Mirai的Dvrhelper变种,也表明Corona-B-1可能继承借鉴了Dvrhelper变种的部分代码。


▸Corona-B-2


Corona-B-2的关联C&C为64[.]227[.]17[.]38,攻击者将多种架构的恶意样本命名为“covid”。值得注意的是,近期其恶意代码功能的更新迭代非常频繁。



图18 服务器恶意代码更新情况


Corona-B-2样本包含Telnet爆破、反GDB调试、禁用看门狗(watchdog)等模块功能,相较于Corona-B-1,Corona-B-2更接近于原生的Mirai家族。通过进一步比对,其复用了Mirai的大部分代码,但初始化模块和攻击模块有所变化。


初始化模块(table_init)的table_key与Mirai的默认配置不同(Corona-B-2的table_key为0xDEDEFBAF),相关加密数据可以通过Mirai源码中的tools/enc.c模块进行解密。


攻击模块(attack_init)共组合了13种攻击方式,通过Bindiff进行新旧版本相似性比对后,我们发现黑客组织在持续增加和更新样本的攻击模块。


包括:


attack_method_nudp

attack_method_udphex

attack_method_udpdns等。


也表明该组织近期的攻击欲望较强。


图19 新旧版本代码相似性比较


综合以上对物联网“疫情样本”的分析,多种恶意代码最终都定位到了Gafgyt和Mirai家族的变种,说明这两类广泛传播的家族仍是大量黑客开发新型物联网僵尸的首选。同时从命名习惯、攻击目标、服务器归属地等因素综合判断,这批攻击者大概率会是境外的黑客组织。


相关样本的家族归类整理如下图所示:


图20 样本家族归类


受攻击IP分布


根据我们的监测数据,目前境内受到物联网“冠状病毒”攻击的设备IP超过22万,主要位于中国境内(96.8%)。其中国内主要分布于广东省(15.4%)、浙江省(14.2%)、北京市(13.7%)、江苏省(10.0%)等。境内受攻击IP分布图如下所示:


图21 受攻击IP位置分布图


总结


通过以上分析可以看出,物联网“冠状病毒”的扩散和全球疫情发展有着一定的相关性。技术上,其大部分还是采用了经典的物联网病毒Gafgyt和Mirai家族的攻击模块,但是其传播的默认手段依然是Telnet爆破,部分新的样本开始结合一些新发现的漏洞进行扩散传播。此外,为了更有效的独占设备资源,物联网“冠状病毒”还加强了对其它主流僵尸竞争对手的防控和扑杀,可以杀掉50多种类型的物联网僵尸进程。一些样本还采用了自定义的加解密模块,并不断在攻击模块中融合新的攻击类型。


该批物联网“冠状病毒”攻击手法和特点来看并没有太多新奇的东西,但是通过利用现实世界的真实事件来扩散恶意攻击这一思路必将会长期存在。对新漏洞的武器化依然是物联网黑客们的重点关注方向。黑客从服务器、PC、智能手机,扩展向摄像头、路由器、NAS、家居安防系统、智能电视、智能穿戴设备,甚至是婴儿监视器,任何互联网连接的设备都不会放过,这也是长期以来物联网恶意代码保持多平台兼容的原因。物联网的威胁对于普通管理员来说是很难察觉的,就像处于潜伏期的受感染者一样,无法及时防御和清除。最后,在疫情之下,我们更应该警惕别有用心的物联网“冠状病毒”大幅扩散,争取早日战胜疫情,战胜病毒。因此我们建议用户:


( 1 ) 及时更新升级物联网设备固件;

( 2 ) 尽快更换设备厂商初始密码,注意避免空口令或弱口令;

( 3 ) 如无必要,尽可能不要将产品直接暴露在互联网上,如必须联网,可将设备连接到安全路由器或防火墙,进行更多的防护;

( 4 ) 加强网络边界入侵防范和管理,关闭非必要的网络服务和端口,如SSH(22)、Telnet(23)、HTTP/HTTPS (80、443)等。


IOC样例




本报告由CNCERT物联网安全研究团队与启明星辰ADLab联合发布