本文将根据360Netlab报告中提到的RotaJakiro后门特点以及微步报告中描述的Buni后门特点对二者关联分析。经分析,两种后门的相似之处如下:
单一实例RotaJakiro通过文件锁来实现单一实例,具体实现如下图左所示。图右为Buni单一实例实现方式
发包与收包RotaJakiro后门将构造上线信息加密发送至C2,其中send函数如下同样的,recv函数也十分相似
然而,RotaJakiro与Buni的不同之处似乎更多
C2解密算法OceanLotus RotaJakiro样本中调用AES+Rotate Left解密C2,对抗技巧之一:使用stack strings obfuscation技术存储加密的敏感资源信息。其与解密相关的各种参数如下图所示,密文长度为32字节,明文长度为26字节AES解密,其中aes_dec的采用的是AES-256, CBC模式,key&iv都是硬编码。Rotate为循环移位,此处使用的循环左移,其中移位的次数由plain_len(明文长度)&7的值决定AES解密后得到以下“次级密文”:从次级密文中取出有效密文,其中有效密文从第8字节开始,长度为明文长度减8,此处即为26-8=18字节。最后通过明文长度26可以计算26&7=2,得到移位的次数,将上述有效密文逐字节左移2位之后得到C2明文。而Buni后门中使用的C2加密算法为XOR与0xB1异或结果为 zabbixasaservice.com:443
结构化流量/网络通信包RotaJakiro的网络通信包由Head,Key,Payload三部分组成。其中header是必须的,长度为82字节,而body&payload部分是可选的。head&key采用的XOR&Rotate加密,payload采用AES&ZLIB加密压缩。
[招生]科锐逆向工程师培训(2025年3月11日实地,远程教学同时开班, 第52期)!