-
-
[转帖]Turla/恶毒熊的武器库更新:“Newpass”现已投入实战
-
发表于: 2020-7-19 12:13 2567
-
转载自:https://mp.weixin.qq.com/s/2EBb_Yz14l7DGUgSONVO_Q
一、概述
来自意大利的安全厂商Telsy近期发现了一组很可能属于APT组织Turla(又称:Venomous,恶毒熊,Uroburos)的样本,这些样本涉及发生于2020年6月的一次攻击活动。
根据Telsy掌握的信息,攻击者在此次攻击中使用了全新的植入程序,并且这种植入程序已经被用于攻击至少一个欧盟国家,主要针对的是其外交事务部门。Telsy用这个植入程序在数据渗出与C2通信时的一个参数“NewPass”来进行命名。
NewPass的多个组件之间依靠编码文件来传递信息或者进行配置。这些组件包括一个用于投递二进制文件的Dropper,一个用于解码二进制文件和执行特定操作的 Loader 库文件以及一个Agent。在Loader和Agent之间共享了一个加载到内存的json,攻击者只需要修改这个json配置文件的相关条目即可进行完成植入程序的自定义配置。
二、Dropper 分析
Telsy分析的第一个Dropper样本是一个windows库文件,大小为2.6MB。其SHA256为:
e1741e02d9387542cc809f747c78d5a352e7682a9b83cbe210c09e2241af6078
利用静态分析方法可以发现这个库导出了大量的函数,如下图所示:
上图中除LocalDataVer函数可以被用作Dll的入口点外,其他函数并无任何用处。分析人员推测这是一种防御规避的做法。假设使用沙箱来对样本进行分析,一些沙箱会使用rundll32.exe 或 regsvr32.exe 来执行Dll,使用“DllMain”或者“DllRegisterServer”作为入口点函数。因此,在分析这个样本的时候这两个函数都会直接终止程序,并不会触发任何恶意的行为。
这个库文件的功能是根据攻击者的配置,将后门和配置文件部署在如下路径中:
配置路径 | 后门路径 |
ProgramData \ Adobe \ ARM \ Reader_20.021.210_47.dat | [/td]C:\ Program Files(x86)\ Adobe \ Acrobat Reader DC \ Reader \ lib3DXquery.dll[/tr] |
ProgramData \ WindowsHolographic \ SpatialStore \ HolographicSpatialStore.swid | WindowsHolographicService.dll |
分析人员在第二个样本中无法提取出Dropper,所以只能通过分析其后门加载配置文件的参数来确定配置文件的位置。这个样本释放后续组件的路径非常隐蔽,包含了“Adobe Reader”和“Windows Mixed Reality”等内容,因此很容易将该位置的文件误认为是合法程序的一部分。上图中的第一个路径与合法安装的Adobe Reader的路径完全相同,而“lib3DXquery.dll”同样也和合法的Adobe组件混淆在一起。
Dropper释放的配置文件经过了特殊编码,如下图所示:
三、Loader分析
NewPass植入的后门哈希值如下所示:
名称 | SHA256 |
lib3DXquery.dll | 6e730ea7b38ea80f2e852781f0a96e0bb16ebed8793a5ea4902e94c594bb6ae0 |
WindowsHolographicService.dll | f966ef66d0510da597fec917451c891480a785097b167c6a7ea130cf1e8ff514 |
这两个动态链接库都分别导出了一些函数,但同样也只有一个函数来执行实际的有效载荷。
https://www.telsy.com/wp-content/uploads/immagine-69.png
这两个动态链接库首先会检查Dropper释出的配置文件是否存在,如果不存在则终止执行。在找到配置文件后就开始进行对配置文件的解码工作。上述配置文件的前5个字节为要读取数据的大小,而从第6个字节开始的数据为后续组件的配置信息。
这个阶段的配置文件是通过一个固定密钥“19 B9 20 5A B8 EF 2D A3 73 08 C1 53”来进行异或编码。下图就是在代码中硬编码的异或密钥:
在Telsy分析的样本中,前5个字节的值是81,因此后续会从配置文件中读取从第6个字节开始的81个字节。
在使用上述密钥解码后可以得到一个包含了由“||”分隔的多个参数的字符串,如下图所示:
但这些参数并非最终的配置信息,而是最后放出的Agent中一个Windows库(LastJournalx32.adf)的参数。最终的Agent被隐藏于配置文件中随机的一块字节之后,因此每次感染时的配置文件的哈希值不同。
在NewPass的感染活动期间,Loader根据解码的配置文件将后续组件所需的完整配置放入内存中,配置信息以json的格式进行组织。
json配置信息中包含了Loader正确启动最终Agent所需的所有信息,比如AgentFileSystemName,AgentExportName 以及 AgentName。最终的Agent和前述的Loader共享位于内存中的配置信息。Agent同样包含了C2的域名(newshealthsport[.]com)和路径(/sport/latest.php)。在与C2通信时,Agent使用AgentID作为被感染主机的标识符。在配置信息中还能找到与NewPass相关的版本信息,比如AgentLoader 19.03.28和Agent 19.7.16。
下图为配置文件中与持久化相关的内容:
注入程序支持不同类型的持久化方式,如:ServiceManager,Task Scheduler,注册表项和Windows GPO。当攻击者使用Service Manager完成持久化时,NewPass将与SCManager交互并创建一个名为“Adobe Update Module”的服务,并指向Loader所在的路径。
四、Agent分析
最终的有效负载 Agent的SHA256为:
Agent负责从被感染的设备中提取信息并发送至C2服务器或接受新的命令并执行。为了使得与C2的通信更为隐蔽,在POST请求数据中,Agent使用了一组由攻击者开发时指定的参数。在Telsy分析的样本中,这些参数为:“dbnew”,“contentname“,“newpass”,“passdb”,“data_src”,“server_login”,“table_data”,“token_name”,“server_page”,“targetlogin”。
在数据渗出阶段,HTTP请求如下图所示:
上述POST请求的内容中,参数后面的值都进行了加密,而使用的密钥可能位于前述的配置文件中。Telsy推测这个阶段所使用的加密算法是一个自定义的方法。
下图是NewPass感染链的整体描述:
五、持久化
如上文所述,NewPass可以通过创建服务或者添加注册表项的方式来实现持久化。在Telsy 分析的样本中,Loader创建了一个新的Windows服务,然后将其路径指定为ImagePath。
六、ATT&CK 战术与技术
战术 | 技术ID | 技术名称 |
执行 | T1204 | 用户执行 |
持久化 | T1547.001 | 注册表运行键/启动文件夹 |
T1053 | 计划任务 | |
T1543 | 修改现有服务 | |
防御绕过 | T1574.002 | 劫持执行流: DLL 侧载 |
命令与控制 | T1132 | 数据编码 |
T1001 | 数据混淆 | |
数据渗出 | T1041 | 命令与控制通道的数据渗出 |
七、IOC列表
类型 | 值 |
SHA256 | e1741e02d9387542cc809f747c78d5a352e7682a9b83cbe210c09e2241af6078 |
SHA256 | 6e730ea7b38ea80f2e852781f0a96e0bb16ebed8793a5ea4902e94c594bb6ae0 |
SHA256 | 08a1c5b9b558fb8e8201b5d3b998d888dd6df37dbf450ce0284d510a7104ad7f |
SHA256 | f966ef66d0510da597fec917451c891480a785097b167c6a7ea130cf1e8ff514 |
Domain | newshealthsport. com |
URL | http://newshealthsport. com/sport/latest.php |
八、原文
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
- [原创]物联网安全:基础篇 4124
- 威胁情报小课堂:阻止活跃勒索软件的感染 2177
- [翻译]发现利用 Facebook 和 MS 管理控制台实施的 Kimsuky APT 攻击 7061
- 威胁情报小课堂:LockBit Black 2053
- 威胁情报小课堂:Nitrogen 2079