本文翻译自:https://www.welivesecurity.com/2018/10/11/new-telebots-backdoor-linking-industroyer-notpetya/


ESET对TeleBots使用的Exaramel新后门进行分析发现,其与Industroyer主后门有大量代码重叠,这将Industroyer和TeleBots关联在一起,而TeleBots是NotPetya勒索软件背后的运营者,因此最终也将NotPetya和BlackEnergy关联在一起。

Win32/Exaramel后门分析

Win32/Exaramel后门最初是dropper初始化的。Dropper中的元数据表明后门是用Microsoft Visual Studio编译的。

图1. Win32/Exaramel后门dropper中的PE时间戳

执行后,dropper会在Windows系统目录中应用Win32/Exaramel后门,并创建和开启一个名为wsmproav的Windows服务,服务的描述为“Windows Check AV”。文件名和Windows服务描述是硬编码在dropper中的。

图2. Win32/Exaramel后门创建的Windows服务注册表设置

此外,dropper还会将Windows注册表中的后门配置以XML格式写入Windows注册表中。

图3. Win32/Exaramel后门XML配置

配置数据中含有以下区块:

从配置数据的第一行可以看出,攻击者根据使用的安全措施将目标进行了分组。Industroyer工具集中也有类似的行为,一些Industroyer后门伪装成AV相关的服务并使用系统的分组。

另一个有趣的点是后门使用的C2服务器域名模拟了属于ESET的域名。除了配置数据中的esetsmart[.]org外,还有一个相似的域名um10eset[.]net,该域名由最近发现的Telebots恶意软件Linux版本中使用。而攻击者控制的服务器与ESET合法服务器基础设施是没有关系的。

后门运行时,就会连接到C2服务器,并接收将要执行的命令。接收的命令有:

命令循环的代码和前条命令的实现也与Industroyer工具集使用的后门非常相似:

图4. Win32/Exaramel后门(左)和Win32/Industroyer后门(右)反编译代码比较

这两个恶意软件家族都使用一个report文件来保存执行shell命令和启动的进程的结果。在win32/ Industroyer后门中,report文件以随机文件名保存在临时文件夹下;Win32/Exaramel的report文件名为report.txt,保存路径预定义在后门的配置文件中了。

为了重定向report文件的标准输出(stdout)和标准错误(stderr),这两个后门都将hStdOutput和hStdError参数设定为report文件的句柄。这也是两款恶意软件家族的另一个设计相似性。

图5. Win32/Exaramel后门(上)和Win32/Industroyer后门(下)反编译代码比较

如果恶意软件运营者想要从受害者计算机中窃取数据,只需要将文件复制到配置文件预定义的存储路径子目录中即可。因为后门要创建一个到C2服务器的新连接,在发送前会自动压缩和加密所有的文件。

Industroyer工具集的后门和新TeleBots后门的主要区别是后者的通信和配置都使用XML格式,而不是传统的二进制文件格式。

密码窃取工具

除了Exaramel后门外,Telebots组织还使用一些之前使用过的工具,包括一个密码窃取器CredRaptor和修改过的Mimikatz。

CredRaptor是一款定制的密码窃取工具,Telebots组织2016年开始使用该工具。相比之前的版本,最新更新的版本不仅会从浏览器收集保存的密码还会从Outlook、许多FTP客户端收集保存的密码。下面是支持的应用列表:

这种改善使攻击者可以收集webmaster的凭证和内部基础设施服务器的凭证。一旦获取了此类服务器的访问权限,攻击者就可以植入其他的后门。因为这类服务器一般都不是Windows操作系统,所以攻击者必须修改其后门。

事实上,研究人员在进行事件响应的过程中还发现一个TeleBots使用的Linux后门——Linux/Exaramel.A。

Linux/Exaramel后门分析

该后门是用GO语言编写的,编译为64位的ELF二进制文件。攻击者可以在选择的目录中以任意名应用后门。
如果攻击者用字符串none作为命令行参数执行该后门,后门就会尝试使用驻留机制,以达到重启后自动运行的目的。如果后门并没有以root账户执行,就使用crontab文件。如果以root账户运行,就可以支持不同的Linux init系统,可以通过下面的命令来确定当前运行的是哪个init系统:

strings /sbin/init |  awk ‘match($0, /(upstart|systemd|sysvinit)/){ print substr($0, RSTART, RLENGTH);exit; }’

基于命令运行的结果,会使用下列硬编码的位置用作驻留:

在开机过程中,后门会尝试打开一个配置文件config.json,配置文件与后门保存在同一目录。如果配置文件不存在,就创建一个新文件。配置文件使用的加密算法为RC4,key为s0m3t3rr0r

图6.解密的Linux/Exaramel后门JSON配置

后门会连接到硬编码的C2服务器或配置文件HOSTs值中的C2服务器。通信是通过HTTPS方式发送的。后门支持的命令有:

结论

Exaramel后门的发现说明TeleBots组织仍然活跃,并且在不断更新和改进其工具和技术。Win32/Exaramel后门和Industroyer主后门有很多代码相似性,这将Industroyer和TeleBots关联在一起,也将NotPetya和BlackEnergy关联在一起。研究人员还发现了Exaramel后门的win32和Linux版本。攻击中有趣的一点是攻击者在攻击活动中使用了ESET主体的域名,攻击者选择这些域名是为了隐藏其恶意活动。

源链接

Hacking more

...