版权版权声明:本文?.NETlab原创,依据 CC BY-SA 4.0 许可证进行授权,转载请附上出处链接及本声明 。
概述2021年3月25日,360 NETLAB的BotMon系统发现一个的VT 0检测的可疑ELF文件(MD5=64f6cfe44ba08b0babdd3904233c4857),它会与4个业务类型截然不同的域名进行通信,端口均为TCP 443(HTTPS),但流量却并非TLS/SSL类型,这个异常行为引起了我们的兴趣,进一步分析发现它是一个针对linux X64系统的后门木马,该家族至少已经存在3年但目前还是0检测 。基于该家族使用rotate加密,并且运行后对root/non-root账户有不同的行为,犹如一只双头龙,一体双向,我们将它命名为RotaJakiro
。
RotaJakiro隐蔽性较强,对加密算法使用比较多,包括:使用AES算法加密样本内的资源信息;C2通信综合使用了AES,XOR,ROTATE加密和ZLIB压缩算法 。指令方面,RotaJakiro支持12种指令码,其中3种是和特定plugin相关的,遗憾的是目前我们并没有捕获到这类payload,因此并不知道它的真正目的 。从广义的后门角度来看,RotaJakiro支持的功能可以归纳成以下4类:
- 上报设备信息
- 窃取敏感的信息
- 文件/Plugin管理(查询,下载,删除)
- 执行特定的Plugin
溯源
,根据解密后的资源以及编码的风格的相似性,我们推测它是Torii Botnet作者的又一作品 。潜伏了多少?【RotaJakiro 双头龙,一个至少潜伏了3年的后门木马】我们从捕获的样本出发,寻找RotaJakiro同源者,最终发现了以下4个样本,它们在VT上都是0检测,从VT的First Seen时间来看,RotaJakiro至少已经存在了3年 。
FILENAMEMD5DETECTIONFIRST SEEN IN VT systemd-daemon1d45cd2c1283f927940c099b8fab593b0/612018-05-16 04:22:59systemd-daemon11ad1e9b74b144d564825d65d7fb37d60/582018-12-25 08:02:05systemd-daemon5c0f375e92f551e8f2321b141c15c48f0/562020-05-08 05:50:06gvfsd-helper64f6cfe44ba08b0babdd3904233c48570/612021-01-18 13:13:19 这批样本都内嵌了以下4个C2,目前它们在VT上也是0检测 。这4个C2域名有非常接近的
Crteated Updated Expired
时间,我们推测它们一直以来用于同一个业务,从这个角度来看,RotaJakiro背后的团伙至少已经活动了6年 。DOMAINDETECTIONCREATEDLAST UPDATEDEXPIRED news.thaprior.net0/832015-12-09 06:24:132020-12-03 07:24:332021-12-09 06:24:13blog.eduelects.com0/832015-12-10 13:12:522020-12-03 07:24:332021-12-10 13:12:52cdn.mirror-codes.net0/832015-12-09 06:24:192020-12-03 07:24:322021-12-09 06:24:19status.sublineover.net0/832015-12-09 06:24:242020-12-03 07:24:322021-12-09 06:24:24 逆向分析4个RotaJakiro样本,时间分布从2018到2021,它们的功能非常接近,本文选取2021年的样本为分析对象,它的基本信息如下:
MD5:64f6cfe44ba08b0babdd3904233c4857ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, strippedPacker:No
从编码层面来说,RotaJakiro采用了动态AES,双层加密的通信协议等技术来对抗安全人员的二进制&网络流量分析 。从功能层面来说,RotaJakiro运行时首先会判断当时用户是root,还是non-root,不同的账户有不同的执行策略,然后使用AES&ROTATE解密出相关的敏感资源供后续的持久化,进程守护和单一实例使用,最后和C2建立通信,等待执行C2下发的指令 。
下文将从上述角度出发剖析RotaJakiro具体实现 。
样本对抗技巧
- 动态生成AES加密算法所需的常量表,防止算法被直接识别
文章插图
- 使用stack strings obfuscation技术存储加密的敏感资源信息
文章插图
- 使用双层加密的网络通信
文章插图
AES解密入口如下所示:
文章插图
其中aes_dec的采用的是AES-256, CBC模式,key&iv都是硬编码 。
- key
14 BA EE 23 8F 72 1A A6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- iv
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
文章插图
所谓Rotate即循环移位,可以看出此处使用的循环左移,其中移位的次数由
推荐阅读
- 欧姆龙是哪个国家的品牌?Laneige兰芝是什么品牌?
- 言承旭微博新浪微博 蓝正龙微博
- 荷叶泽泻绞股蓝乌龙茶能减肥吗
- 云南腾冲龙江特大桥简介 龙江特大桥
- 大S|曝大S癫痫发作,具俊晔不管娇妻,卷上亿资产跑路,配图闹大乌龙
- 隆昌石牌坊 贞洁牌坊
- 1995四川尸变 九龙抬尸棺
- 爨龙颜碑高清字帖 爨龙颜碑
- 短视频龙头概念股 余额宝概念股
- 吴奇隆|胖成“成龙”的吴奇隆,年轻时有多风光?直言:奥运会教练被我打