400电话
在线咨询
微信咨询
咨询时间: 9:30-18:30
400-998-3555

瞄准物联网,“Gafgyt”木马新变种出现

  • 作者:火绒安全

  • 发布时间:2023-08-28

  • 阅读量:724

近期,火绒安全实验室发现一起病毒入侵事件,经排查分析后,确认为 Gafgyt 木马病毒的新变种。Gafgyt 是一款基于 IRC 协议的物联网僵尸网络程序,主要感染基于 Linux IoT 设备来发起分布式拒绝服务攻击(DDoS)。它是除 Mirai 家族之外,最大的活跃物联网僵尸网络家族,其源码在 2015 年被泄露并上传至 GitHub 后,各类变种及利用层出不穷,对用户构成较大的安全威胁。目前,火绒安全产品可对上述病毒进行拦截查杀,请企业用户及时更新病毒库以进行防御。

Image-0.png

火绒查杀图

 

一、样本分析

病毒首先对自身进程重命名为 "/usr/sbin/dropbear" "sshd" 隐藏自身:

Image-1.png

进程重命名

 

其中发现被加密字符串,解密算法则是对 0xDEDEFFBA 的字节异或。使用时,只有用到的才进行单个解密,但实际引用的只有4个:

Image-2.png

加密字符串及解密算法

 

其中第一个引用只是向屏幕输出对应字符串,中间两个引用则是对 watchdog 进程的操作,用以避免设备重启而丢失控制权:

Image-3.png

解密并引用

 

剩余的操作在循环中进行,包括初始化 C2 连接(94.156.161.21:671),发送平台设备类型,接收回传命令并执行对应模块操作。且与 Gafgy 泄露的源码相比,命令的格式和处理并没有太大改动,命令下发的格式依旧为 "!* Command [Parameter]"

Image-4.png

循环操作代码

 

processCmd 函数中,总共对 14 个命令进行响应并发起对应的 DDOS 类攻击行为,包括:“HTTP”“CUDP”“UDP”“STD”“CTCP”“TCP”“SYN”“ACK”“CXMAS”“XMAS”“CVSE”“VSE”“CNC”“NIGGA”

Image-5.png

命令截图

 

其中 CUDPUDPCTCPTCP 模块都能够向指定 IP 和端口发送随机字符串,且都可以通过自建 IP 头的方式进行 TCP UDP 报文重构,以此来隐藏源 IP 地址。

Image-6.png

报文构造

 

前缀 C 猜测是 custom 的缩写,以 CUDP UDP 为例,在 Gafgyt 原始版本中,下发的命令中带有的参数包括:ipporttimespoofedpacketsizepollinterval 等字段值和标志位用于 UDP 报文的构建。而在该样本中,观察到的结果显示其为这些参数不同限制程度上的应用,能增强特定类型 DDOS 攻击的灵活性。

Image-7.png

CUDP UDP 对比

 

其它的模块的作用包括增加了大量的User-Agent字符串,用于发起 CC 攻击的 HTTP 命令:

Image-8.png

CC 攻击

 

包括用于针对 Valve Source 引擎服务器的攻击:("Source Engine" 查询是使用 Valve 软件协议在客户端和游戏服务器之间进行日常通信的一部分

Image-9.png

针对游戏行业攻击

 

包括可以切换连接 IP CNC 命令:

Image-10.png

切换连接 IP

 

包括 SYN ACK 攻击:

Image-11.png

SYN ACK 攻击

 

包括 UDP STD flood 攻击:

Image-12.png

STD 攻击

 

包括 XMAS 攻击:(即圣诞树攻击,通过把 TCP 所有标志位设置为 1,由此消耗目标系统更多响应处理资源

Image-13.png

XMAS 攻击

NIGGA 模块相当于原版中的 KILLATTK 命令,通过 Kill 掉除主进程外的所有子进程来停止 DoSS 攻击

Image-14.png

NIGGA 模块

 

对比分析:

源代码中存放主要逻辑的函数 processCmd 包括 PINGGETLOCALIPSCANNEREMAILJUNKUDPTCPHOLDKILLATTKLOLNOGTFO 模块,在本次捕获的变种利用中共存的只剩简化版的 UDP TCP 模块。

且在获取本地 IP 操作中,原始版本是通过 /proc/net/route 获取本地 IP 并通过 GETLOCALIP 模块进行回传。在该变种中观察到同样的获取操作,但这里没有 GETLOCALIP 模块,且未观察到任何引用。

Image-15.png

获取本地 IP

 

值得注意的是,该类样本中没有原始版本的用于爆破 SSH22端口)的 SCANNER 模块,也没有其它变种中嵌入多种 "应用/设备" 的漏洞利用 Payload 进行传播。可见攻击者把传播模块拆分成独立的程序,在成功登录受害者主机后会通过执行 shellcode 的方式下载用于下一阶段的通信样本,即本次分析样本。

Image-16.png

执行 shellcode 示例

 

以获取到的同源样本为例,攻击者对大部分样本都剥离了调试信息,只有个别除外,如:x86

Image-17.png

文件类型信息

 

不同架构相比逻辑基本一致,在此不再重复分析:

Image-18.png

样本对比图

 

二、附录

HASH

Image-19.png

C&C

Image-20.png

 

安全无忧,一键开启

全面提升您的系统防护