0%

APT38样本分析记录

a1260fd3e9221d1bc5b9ece6e7a5a98669c79e124453f2ac58625085759ed3bb

通过hash值到微步社区查询报毒情况,只有Baidu-China报了恶意,得不到其他有用的信息,也看不到任何的网络行为,不过看到了一个比较有用的静态信息就是很多加密的指纹:

为了让自己的IDA能够识别这些加密指纹,我安装了Findcrypt插件,该插件需要安装yara-python库,具体的安装方法见其github地址

由于分析只要求分析网络通信特征,其实要不要这个插件作用都不大,后续分析出该样本在登录到目标服务器时会先发送一个登录frame,其中的数据是部分固定的,也就可以提取出来作为通信特征了。该样本需要参数来设置登录的服务器、登录名、密码等信息,所以在沙箱中检测并没有检测出网络行为。

a3a1a43f0e631c10ab42e5404b61580e760e7d6f849ab8eb5848057a8c60cda2

同上一个样本功能基本一致,特征数据也一致,只不过程序是以控制台程序的方式编译的,而上一个则是Windows应用程序。两者在连接到-s参数指向的服务器后,都会向其发送以92 10 00 00结尾的login frame数据,这就是其网络通信特征。

515fdca93acf6a8d23b4fe67d51d4cab5cda6ddbc3d508dd63b61c432d169ca7

被upx加壳了,脱壳后的SHA-256为:9049c508327ed3ab72df33328145eb226e53805d90dd74c353067f5b167747f3,在微步上检测恶意程度更为明显。且通过CCF的PE文件比较发现这个样本和第一个样本基本一致,除了因为文件名导致的部分不同以外,其他区段完全相同。

22d244fe63f27279db4b082afe296cd931cf377e3b9501fc8ffc372cb31f076a

这个样本貌似是脱完壳,未重建PE文件的输入表的Dump文件,但仍然可以通过IDA看出其基本逻辑。其功能同以上分析的样本基本一致。特征数据也一致。

7efe8a7ad9c6a6146bddd5aef9ceba477ca6973203a41f4b7f823095a90cb10f

样本的功能还是和上面的几个样本一致。特征数据也一致,既然这样,那就来分析分析其他的特征吧,网络通信特征就和send函数有关,因为样本使用的网络通信方式都是Socket编程。对send函数查看交叉引用,目前仍未发现特殊的数据,使用CONNECT的HTTP请求方式建立代理连接。应该就这样吧,明天再整理一下吧!

整理总结

这几个样本都是同一类型的,目的都是为了连接到远程服务器,根据微步检测的部分结果,推测应该是作为一个类似nc的黑客工具来使用的。

主要参数:

1
2
3
4
-s/--server IP:Port 登录的服务器IP及端口
-d/--destination IP:Port 目的服务器IP及端口(作用不太清楚)
-u/--username 用户名
-pw/--password 密码

其网络通信特征为:在设置-s参数后,运行程序会连接到目标主机,然后在通信的过程中数据包的包头会包含一段特殊数据,其中前16个字节为“aaaabbbbccccdddd”,然后是4字节的数据包类型,接着是4字节未使用的数据字段,加上4字节的rand函数生成的随机种子,再加上4字节的尾部大小(分析时均为0x4),最后是尾部的4字节固定数据(“0x00001092”)。