背景介绍

Fbot是一个基于Mirai的僵尸网络,它一直很活跃,此前我们曾多次披露过该僵尸网络[1][2]。我们已经看到Fbot僵尸网络使用了多个物联网(Internet of things)设备的N-day漏洞和0-day漏洞(部分未披露),现在它正在攻击车联网(Internet of Vehicles)领域的智能设备,这是一个新现象。

2021年2月20号,360网络安全研究院未知威胁检测系统监测到攻击者正在使用美国Iteris, Inc.公司的Vantage Velocity产品的远程命令执行漏洞(CVE-2020-9020)[3][4],传播Fbot僵尸网络样本。

据维基百科介绍[5],Iteris, Inc.公司为智能移动基础设施管理提供软件和咨询服务,包括软件即服务以及托管和咨询服务,并生产记录和预测交通状况的传感器和其他设备。

结合Vantage Velocity产品用途,并从受影响的设备上发现AIrLink GX450 Mobile Gateway产信息,因此我们推测受影响设备是路边设备系统。

CVE-2020-9020漏洞分析

通过360 FirmwareTotal系统,我们验证并分析了CVE-2020-9020漏洞。

  1. 在Vantage Velocity产品Synchronize With NTP Server处,用户可以设置指定的ntp服务器地址。
  2. timeconfig.py脚本在接受前端用户Web请求后未对htmlNtpServer变量过滤,即将其拼接为shell变量格式 "ntpserver=" + form["htmlNtpServer"].value.strip(),并写入到 /root/timeparam 文件中。
  3. timeconfig.py 脚本调用shell脚本 /root/ntpconfig,读取 /root/timeparam 文件初始化变量ntpserver时,触发命令执行漏洞。

漏洞影响范围

360 Quake网络空间测绘系统通过对全网资产测绘,发现Vantage Velocity设备具体分布如下图所示。

Fbot僵尸网络

Fbot已经是安全社区非常熟悉的老朋友了,它是在Mirai基础上开发的僵尸网络,主要改动体现在2个方面

  • 加密算法
  • 上线包,心跳包

此次通过Nday传播的样本(arm7),基本信息如下所示:

MD5:deaee7ada44bf1c6af826d2d170c8698

ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, stripped

Packer:None

它本身并没有特别之处,主要功能是

  • DDoS攻击
  • Telnet扫描&传播

下文将围绕上述功能做简要分析。

DDoS攻击

首先Fbot通过以下代码片段和硬编码的C2(198.23.238.203:5684)建立连接

随后向C2发送长度为78字节的上线信息

实际中产生的网络流量如下所示:

上线包中的信息用来验证BOT的合法身份,以上图上线包为例,格式解析如下所示:

Main field parsing,others can be 0
——————————————————————————————————————————
02    --->type,register package
00 42 00 33 00 63  01 c8 02 fc 00 49   --->hardcoded,authentication
00 07   --->length of group string
75 6e 6b 6e 6f 77 6e ---->group string,"unknown"
——————————————————————————————————————————

发送完上线包后Bot开始等待C2下发指令,指令包的第一个字节指定了指令类型。

0x00,心跳指令码

以下图心跳为例

心跳包的格式解析如下所示

Main field parsing,others can be 0
——————————————————————————————————————————
00  --->type,heartbeat package
1b 37 03 f3 25 e3  19 40 1e 68 1a d2   --->hardcoded
——————————————————————————————————————————

0x01,DDoS攻击指令码

以下图攻击指令为例

攻击包的格式解析如下所示

Main field parsing,others can be 0
——————————————————————————————————————————
01  						--->type,attack package 
01							--->attack type
00 3c 						--->time (sec)
01							--->number of target
67 5f dd bc 00 20			--->target/mask,103.95.221.188/32
02							--->number of flag
	02							--->flag type, attack package length
	00 04						--->flag length
	31 34 36 30					--->flag data,1460
	
	
	01							--->flag type, port
	00 02						--->flag length
	35 33						--->flag data,53
——————————————————————————————————————————

0x03,退出

Telnet扫描&传播

Fbot在传播过程中用到了SYN端口探测的技巧,来提高传播效率。

从上面的代码片段,可知其扫描流量有2个特征

  1. 扫描23端口数量约为26端口的2倍
  2. tcp头中的序列号与ip头中的目标地址相等

当探测到端口开放时,使用硬编码的凭证列表尝试登录,将能成功登录的IP,端口,帐号,密码等信息通过以下代码片段回传给Reporter(198.23.238.203:774)。


实际产生的网络流量如下图所示:

最后通过网络下载ECHO的方式向存在telnet弱口令的设备植入Fbot样本,并将植入成功的信息回传给Reporter。

1:网络下载

如果设备有wget,tftp工具则直接通过网络下载在设备上下载对应CPU架构的Fbot样本。

2:ECHO

如果设备没有网络下载工具则通过ECHO的方式向设备上传入相应CPU架构的Fbot downloader,用以下载Fbot样本。

其中样本内置的Fbot downloader信息如下图所示:

以上图中,文件偏移0x1D794的downloader为例,

MD5:9b49507d1876c3a550f7b7a6e4ec696d

ELF 32-bit LSB executable, ARM, version 1 (ARM), statically linked, stripped

Packer:None

它的功能就是向下载服务器(198.23.238.203:80)请求Fbot样本并执行。

处置建议

我们建议Vantage Velocity用户及时检查并更新固件系统。
我们建议Vantage Velocity用户为Web和SSH等管理接口设置复杂登陆密码。
我们建议读者对相关IP和URL进行监控和封锁。

联系我们

感兴趣的读者,可以在 twitter 或者通过邮件netlab[at]360.cn联系我们。

IoC

IP:

198.23.238.203      	United States       	ASN36352            	AS-COLOCROSSING

C2:

198.23.238.203:5684

URL:

http://198.23.238.203/arm7

MD5:

deaee7ada44bf1c6af826d2d170c8698

招聘信息

360网络安全研究院在杭州新成立了一个产品团队,把我们的安全数据和技术产品化,探索网络安全行业未知威胁检测难题,为360安全大脑添砖加瓦。

从一次平凡的网络扫描,到漏洞、样本、安全事件分析,再到0-day漏洞检测、未知恶意软件检测、高级威胁追踪,我们致力于通过数据驱动安全,构建网络安全看得见的能力。

招聘岗位:
前端开发工程师、后端开发工程师、产品经理、安全工程师、算法工程师

详情链接:https://blog.netlab.360.com/work-in-hangzhou/