freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

瞄准物联网,“Gafgyt”木马新变种出现
2023-08-28 18:00:30

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

火绒查杀图



一、样本分析

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


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

加密字符串及解密算法

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

解密并引用

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

循环操作代码

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

命令截图

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

报文构造

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

CUDP 和 UDP 对比

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

CC 攻击

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

针对游戏行业攻击

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

切换连接 IP

包括 SYN 和 ACK 攻击:

SYN 和 ACK 攻击

包括 UDP STD flood 攻击:

STD 攻击

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

XMAS 攻击

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

NIGGA 模块


对比分析:

源代码中存放主要逻辑的函数 processCmd 包括 PING、GETLOCALIP、SCANNER、EMAIL、JUNK、UDP、TCP、HOLD、KILLATTK、LOLNOGTFO 模块,在本次捕获的变种利用中共存的只剩简化版的 UDP 和 TCP 模块。

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

获取本地 IP

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

执行 shellcode 示例

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

文件类型信息

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

样本对比图

二、附录

HASH

C&C

# 黑客 # 网络安全 # 系统安全 # 企业安全
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录