Phorpiex僵尸网络化身为Twizt重现江湖(下)
来源:http://www.tudoupe.com时间:2021-12-29

通信协议
Twizt木马通过TCP或UDP使用自己的二元协议进行交流。该协议允许它连接到 C&C 服务器以及其他受感染的计算机,并在主 C&C 服务器不可用时通过它们获取命令。早期版本的 Twizt 木马只有一个硬编码的 C&C 服务器 IP 地址。
后来,Twizt 木马二进制文件在其配置中获得了 512 个节点的嵌入 IP 地址列表。此外,它仍然从另一个节点或 C&C 服务器接收更新的节点列表。Twizt 木马具有与其他节点交换加密消息的功能。
Twizt Logo 的原始通讯示例
对于敏感数据而言,信息在多个层面加密,每条加密信息都有相对最低的格式:
数据用硬编码密钥“ twizt” 加密, 在所有研究样本中都一样。 下面是解密后发生的情况:
来自木马的解密消息
尽管有该信息的格式,它必须具备下列必要领域:
Murmurhash3 : 对全部解密信件( Hashi 字段本身除外) 计算 Hashi 值。 如果 Hashi 无效, 节点会拒绝信件 。
随机数 : 这可用于确保每封信都是独一无二的 。 如果此字段为空白, 任何带有相同负载的加密信件都会相同, 并且很容易被识别为恶意通信 。
节点A SID/ 节点B SID: 节点随机为本地或远端节点生成唯一的会话标识符 。
信件类型: 此选项指定信件携带的有效载荷类型 。
未知的旗帜, 可能是 0 或 1 。
有效载荷面积:不少于8
有效载荷:可能有不同长度和细胞。视信息类型字段的不同,它可能有所不同。有效载荷还包括一个节点A SID/NodeB SID字段以及有效载荷数据。对于本地或遥远的节点,节点B SID 字段可能包含单会话标识。在第一个请求中,0 (8 字节) 是数值 。在其他请求中,它可以使用另一个节点提供的价值。相反,根据信息类型设定此节点的 SID 。
支持以下消息类型:
00: 00: 00- 灯光消息
0100 - 更新节点列表;
0200 - 经核实的节点清单更新;
0300 - 下载和运行程序;
通信流程
下图描述了两个节点之间的沟通进程:

与木马的Twizt来文程序
在上图中,“节点A”代表本地节点(客户 ), “ 节点B”代表遥远节点( 服务器 ) 。 恶意软件在交换周期结束后将继续与信标信息互动。
信标消息(节点 A -> 节点 B)
通信从客户信标信息(启动连接的节点)开始。
节点A SID: 使用预生成随机数;
消息类型:等于0;
有效载荷大小通常为8。
下列字段包括在有效载荷中:
节点B SID: 4 个零字节;
有效载荷数据为4 零字节长。
信标消息示例
更新节点列表(节点 B -> 节点 A)
对第一个合法信标电文作出反应的服务器经常在更新节点列表电文中提供以下信息:
设置客户端先前给的节点A SID 的值 。
消息类型:等于 1
下列字段包括在有效载荷中:
节点B SID: 服务器指定的号码;
提供有效载荷数据中的节点列表 。
RSA拖车:加密RSA拖车,其中含有该电文类型未使用的恶意软件数据,有256个字节。
更新的节点列表信件示例
有效载荷数据包括24字节列表,包括节点 IP 地址,前加节点(前例为0x10)和4 零字节。
Rank 字段显示自节点在线以来经过的秒数。节点按等级升序排列。C&C 服务器(或其他节点)向客户端发送最近在线的 16 个节点的列表。
当发送此信件时, 远程主机同样会发送一条代码 0 的信息( 信头) 。 然而, 节点A SID 和 节点B SID 字段将互换 :
无法将信件附加到 mh 文件夹:%s:%s
节点列表更新确认(节点 A -> 节点 B)
无法创建 POP 服务器“%s”:%s
无法关闭临时文件夹:%s。
电文类型:等于2。
更新节点确认示例
在此之后,客户端发送更新的节点列表消息, 其中包括其顶端活动节点列表 :
信件类型等于 1 。
无法关闭临时文件夹:%s。
这使客户端和服务器能够交换节点列表 。
运行命令(节点 B -> 节点 A)
为了回复客户更新的节点列表信号,服务器可以发送下载命令并启动另一个可执行文件,其中节点B SID首先出现。
3 是电文类型;
登记册系统管理人加密数据:256字节缓冲在恶意软件设置中,您可以解码RSA的公用钥匙。此缓冲与登记册系统管理人更新节点列表消息的结束相对应 。缓冲区包含RC4键和Hashi值,这是验证和利用 RC4 加密 URL 解密命令内容所需的值。
RC4加密 URL:加密命令的有效载荷包括一个或多个 RC4 加密的 URL, 用于获取要运行的文件 。
运行命令消息示例
在恶意软件设置中,使用登记册系统管理人公用密钥解密登记册系统管理人加密数据。以下列格式解密的数据 :并包括解码指挥数据所需的20字长的 RC4 键(此处为URL),还有MD6-512 Hashi(64位) RC4加密数据MD6 Hashi之后留下的数据没有使用。
对于指令通信,请使用 RSA 解密 。
RSA 缓冲区的“ 未知1” 和“ 未知2” 字段未知 。这些将不用于指令解析进程。RC4加密数据的长度存储在 " 加密数据长度 " 字段中。在登记册系统管理人缓冲区破译后,URL 也可以被解密 。整个解密流程如下:

执行命令信件解密和完成检查程序。
我们无法生成登记册系统管理人加密数据。因为我们没有私钥。但是,如果我们通过从 C&C 服务器收到的 RSA 加密数据中提取 RC4 密钥,此密钥可用于加密假 URL 。假 URL 可以通过马匹成功解密 。但不会执行该命令,由于它使用64位MD6Hashi值来验证信息的完整性,这一数值也包含在登记册系统管理人加密数据中。
使用MD6-512修改算法,Twizt 从以 RC4 加密的 URL (在上图中以红色显示) 中得出64 位Hashi 值 。并将其与RSA加密数据参考值进行比较如果值不相等,则不执行该命令。
MD6 哈希验证
旧的 Twizt 版本只允许一个链接, 但是目前的 Twizt 木马允许以下列格式设置许多 URL :
d|http ://185.215.113[.]84/alfa_|http ://185.215.113[.]84/beta_
前缀中的字母“d”可能表示正在下载命令,目前只支持下载:

解析解密的命令内容
节点列表文件
Twizt是一匹点对点木木马这需要储存关于其他已知节点的数据以及在进一步分散时收到的命令。当恶意软件获得新的节点列表时, 它此列表被保存到 %userprofile% 目录中的秘密配置“ nodescfg.” 。
节点配置文件路径
节点数据以8字节格式(未加密)储存如下:
最新的访问时间戳字段包含自1980年以来该节点上线的最后几秒钟。 它使用NtQuerySystem time和RtlTimeTo sseconds Since 1980 制作 :
在成功访问节点上,设置最后一次访问时间标记。
以下是节点列表文件内容的示例 :
节点列表文件格式
病毒始于一个持有节点列表的文件, 其中木马保存了一个节点列表, 供日后使用 。
命令配置文件
当 Twizt 木马收到来自 C&C 服务器或其他节点的命令时,它将 Dat 文件的命令保存为“ cmdcfg ” 。命令与从服务器收到的命令完全相同。因此,它包含登记册系统管理人加密信头以及RC4加密指令数据。
命令配置文件格式
当恶意软件作为一个服务器,它发送从命令配置文件加载的数据不变。这会允许木马交换从 C&C 服务器收到的命令,而无需使用RSA私钥对命令进行签名。
下载程序
在两种情况下,Twizt木马可以下载额外的有效载荷。
第一个选项是使用硬编码的基本 URL 和 路径列表。 结果, Twizt 试图使用创建的 URL 下载有效载荷。 Twizt 通常使用六条路径。 我们看到以下路径组合路径第一选项是使用硬编码的基本 URL 和路径列表。 结果, Twizt 试图使用创建的 URL 下载有效载荷。 Twizt 通常使用六条路径。 我们观察到了以下路径组合 :
坏软件将绕道而行,寻找新的基本网址(https://185[..])。 “https://185[..]215.113.84/”和“https://185[..]215.113.113.Samples,在84/twizt/中分析。”视察间隔时间为一秒钟。下载尝试在一个线条的无限循环中运行。Twizt在下载周期之间有90秒的延迟:

从样本中指定的 URL 下载有效载荷 。
第二种情况是当Twizt从C&C服务器或另一个节点接收到相应的命令时,Twizt可以下载额外的有效载荷。在尝试下载有效载荷之前,恶意软件会检查其大小。如果有效载荷的大小小于5000字节,则不会下载。
病毒希望收到一个名为“%tmp%%”的加密文件,并存储在“%tmp%%”文件夹中,随机数字从10,00到40,00不等。Twizt下载以下用户代理头文件:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36
有效载荷解密
有效载荷下载后,这将保存原始加密 。要将文件内容映射为内存,恶意程序使用 CreateFileMapping/MapViewofFile 函数。文件的头256字节是登记册系统管理人的加密信头。有效载荷数据使用信头16byte RC4密钥进行解密。
在与 C&C 服务器通信后,马匹将从https://185[..]215.113.84/xgettin的地址抵达,在那里下载了MD5 Hashi值为“437550aa 981077dde08d61fe2b7d1578”的文件。
此文件以 256 byte RSA 加密信头开头 :

用于下载文件的 pho rpix 加密
它有一个相当基本的格式,使用登记册系统管理人公钥解密头:
使用 RC4 键在信头中, 我们可以解码有效载荷:

解密 Phorpiex 下装入的文件
当载荷在 C&C 服务器上准备好时,在有效载荷加密期间,未加密的Murmurhash3 128比特值被用作RC4密钥。Twizt 计算解密有效载荷的 Murmurhash3 值,并将其与 RC4 键作比较 。恶意软件只有在值相等时才执行有效载荷:

完成下载文件的验证
总结
直到最近,Phorpiex还被认为是一个复杂的僵尸网络。 这是它的所有模块都是基本的,具有最小功能。 旧版的Tldr模块并不使用有效载荷加密。 尽管如此,这并没有阻止僵尸网络发动攻击。
坏软件,如蠕虫或病毒,可能长期独立传播。无需再让开发者参与其中。然而,在大多数情况下,开发者需要使用C&C服务器来控制木马,这样我们就能从僵尸网络中获利我们应该注意到,对于一个大小为phorpix的 僵尸网络,很难找到不影响C&C服务器的可靠主机。如果将 C&C服务器的 IP 地址添加到拒绝列表中,此外,创造者将处于不利的地位。这限制了控制僵尸网络的效率。更改 C&C 服务器的 IP 地址可能非常困难。
Phorpiex 僵尸网络使用的技术无需 C&C 服务器即可有效实现其目标。在这项研究中,我们描述了通过对这种规模的僵尸网络(每年数十万美元)采用加密货币定制办法所能取得的巨大成果。并且不需要通过 C&C 服务器进行任何类型的管理。
在过去的一年中,Phorpiex 收到了一项重大更新,将其转变为点对点僵尸网络,允许它在没有集中式基础设施的情况下进行管理。C&C 服务器现在可以更改其 IP 地址并发出命令。
安全提示
在复制和粘贴加密钱包地址时,请确定原始地址与复制地址相符。
(a) 在发送大笔款项以核实交易的有效性之前,发送少量加密资金。
不断更新操作系统,避免从不可靠的来源获得软件;
忽略广告 。 如果您想要在加密区域搜索钱包或加密交易和交换平台, 请查看搜索结果中的第一个站点, 而不是广告 。 搜索结果可能会误导您, 因为CPR发现袭击者利用谷歌广告窃取加密钱包 。
总是重复检查 URL 。
com/2021/phopiex-botnet-wittnet是全球之声特别报导的一部分。 com/com/2021/phopiex-botnet 与新式的Twizt-hipping-hipping-to
上一篇:新型“PseudoManuscrypt”间谍软件针对数千计的工业系统
下一篇:没有了
相关新闻
- 2021-12-29 新型“PseudoManuscrypt”间谍软件针对
- 2021-12-29 微软专利可根据HoloLens收集数据重建
- 2021-12-29 微软将不会亲自参加 CES 2022
- 2021-12-29 橘郡国际分享|北大教授为学生揭
- 2021-12-29 一种深度学习的无人机影像道路自
- 2021-12-29 Win11管理员运行在哪里,Win11怎么以
- 2021-12-29 赋能大型组织办公数字化转型
- 2021-12-29 Windows 11颜色管理Bug影响色彩渲染
- 2021-12-28 小米12年度旗舰正式发布3699元起,
- 2021-12-28 Win11 资源管理器新特性:复制文件
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
