大多数时候,网络攻击活动和恶意软件攻击之间的关系非常简单些恶意软件已经消失但没有被遗忘,例如GandCrab它经常被攻击者使用,比如开源Quasar RAT,Quasar是一种开源远程访问木马(RAT),主要针对Windows操作系统。Quasar在网络钓鱼电子邮件中传播恶意附件。据报道,此RAT是用C#编程语言。Quasar最初是由GitHub用户MaxXor合法使用开发。然而,该工具后来被黑客用于各种网络间谍活动。Quasar首次于2014年7月发布,名为“xRAT 2.0”,后来于2015年8月更名“Quasar”。类似的恶意软件会落入灰色区域,没有人能控制恶意代码库或二进制文件,但作为恶意工具,并没有广泛传播。
我们只是在这篇文章中Gozi以恶意软件的整个演变周期为例。
Gozi它是一种常用的重量级恶意软件,具有一系列复杂的功能,我们将在下面详细介绍这些功能,攻击范围非常广。Dreambot(Gozi一个变体)影响了4.5万名受害者。
但回顾历史,Gozi一开始只是简单的银行木马,明显缺乏Web因此,在某些方面进行比较ZeuS第一个版本更原始。
Gozi直到2007年才首次曝光,才在使用的第一年被发现。Gozi(与Emotet类似)发展成为多模块、多用途的恶意平台,到2020年,Gozi它仍在积极运作,成为金融界历史上最具破坏性的病毒之一。
自2007年首次被发现以来,Gozi是攻击者迭代使用的代码库。2010年前,Gozi源代码尚未泄露,但在2010年源代码泄露后,其他攻击者接管并运行源代码Gozi有两个新版本:Gozi Prinimalka(后来与Pony合并为Neverquest)和Gozi“ISFB”。仅这些早期变体就有反检测的能力。安全公司将更多ISFB称为“Gozi2”,其他人称之为“Ursnif”或“Snifula”,以21世纪初的一款间谍软件命名,最初的Gozi CRM借用软件的代码。其他供应商开始称恶意软件为“Rovnix”,这个名字来自一个封装器,通常用来混淆二进制文件。
“ISFB”是Gozi由于内部二进制字符串包含对派生词的专有名称“ISFB项目”引用。恶意软件最初被称为“Ursnif”这种行为与传统的漫画恶意软件命名规则有关,至少可以追溯到1991年的米开朗基罗病毒。这个命名规则没有错,但对于新的来说Gozi许多绰号和误解引起了混乱。幸运的是,“Rovnix”和“Snifula”但是“Ursnif”命名规则延续了。
几年后,ISFB源代码泄露,大多数证据将第二次泄露定为2015年,但一些消息人士表示,早在2013年就发生了。其中一个变体Nymaim合并成为两个恶意软件家族的杂交后代GozNym的核心代码。另一个变体是Dreambot,它严重依赖于2010年CRM调整泄漏的原始代码ISFB签入格式增加了对通过TOR网络的C&C支持通信。
当第二波Gozi长期以来,一些攻击者开发了新版本,即Goziv3(RM3加载器),ISFB3和Gozi2RM3(IAP 2.0)。这些都是恶意软件的混淆机制,控制流和C&C自行调整通信方案。特别是签名的二进制文件,HTTPS通信和客户注册过程的第二阶段。
不同版本的Gozi功能
下面我们列出了大部分Gozi一些共同特征:
1. 字符串以加密的形式包含在二进制文件中.bss使用部分解密过程“密钥”字符串是字符串格式的编译时间戳(如2019年4月20日)。
字符串解密过程
2. 浏览器中的攻击将从受害者的凭证中窃取一系列预先配置的网站(通常是银行)ISFB在其衍生工具中,引入了网络注入功能。
3. 特定的C&C签名格式显示在请求标头或文本中。典型的例子是soft =%u&version =%u&user =%08x%08x%08x%08x&server =%u&id =%u&crc =%x,尽管所使用的参数和顺序略有不同。
4. 用于混淆C&C精心设计的签名方案。特别是在变体中,这实际上是一个常数,我们没有在任何地方进行任何调整。混淆操作如下:
4.1 使用内置对称密钥对签入进行加密早期变体)RC6,使用更新的变体Serpent);
4.2 使用base64编码;
4.3 使用自定义的转义字符“ _”例如,转换非字母数字符,“ ”变成了_2B;
4.4 在结果中随机添加斜杠字符(" / ");
混淆方案
5.在过程级别上,执行浏览器人攻击的恶意软件模块不同于做出实际决定的模块。这个决定是关于注入什么,在哪里注入后者explorer.exe中间位置。虽然恶意软件的一些运行信息在注册表中保持全局可访问(例如,从C&C服务器收到的最后一个任务列表CRC值),但两个过程使用命名管通信。
6.标准信息窃取功能的范围,如键记录、电子邮件、ftp帐户、IM数据和证书捕获,以及屏幕视频捕获。这些插件还支持可选的dll格式插件,C&C通过这些插件,服务器可以指示感染计算机在运行过程中下载和执行。
7.使用相当繁琐的格式(称为“联合资源”)处理各种硬编码信息。硬编码信息的类型不是简单的英语,而是简单的英语CRC32标签表示。
CRC资源名称的示例映射
8.变体使用相同的元素和格式存储Web注入:
8.1 @ ID @:病毒ID(受害者主机身份);
8.2 @ GROUP @:组ID(机器人组ID);
8.3 @ RANDSTR @:随机字符串;
8.4 @ URL = @:目标金融机构;
8.5 @ CONFIG = @:配置;
8.6 @ VIDEO = @:以便受害者在访问感兴趣的页面后录制视频;
8.7 @ SOCKS = @:连接SOCKS服务器;
8.8 @ VNC = @:连接VNC;
Goziat
这种变体的Gozi似乎是在ISFB泄漏事件几年后首次发生。与其他变体相比,它最显著的特点是它C&C签名中的一个功能:大多数其他功能Gozi所有版本都模拟图像HTTP所以最后会有一些/images/变体,然后是冗长而复杂的BASE64 blob,最后会出现一个.gif或.jpeg文件扩展名称。这种混淆对安全解决方案来说有点棘手,但并非不可能。这可能就是为什么goziat使用不同的资源目录而不是“图像”,它可以在恶意软件的构建过程中配置。goziat不用担心签入是对图像的合法要求,它也放弃了“图像文件扩展名作为编码请求”这在Dreambot它很受欢迎,并被许多其他变体复制。相反,它使用简单action=
少数研究人员称这种变体为LOLSnif,因为它使用预安装Windows实用程序,如mshta.exe和powershell.exe。与服务器端更先进的geofencing不同的是,这个变体有一个默认的系统UI内置客户端语言检查。
定位系统UI语言检查
虽然有几使用不同的攻击活动Goziat,但都倾向于使用.at顶级域名,这员选择这个名字的原因。IP地址甚至使用的子域中的一些重叠共同暗示了活动操作水平的一些共性。这些活动通常在相同的领域停留很长时间IP在地址上,这不是最好的选择。下表列出了研究人员可以跟踪和使用这个特定版本Gozi的攻击。
遗留在Firefox Send恶意文件
除上述域外,每次攻击还支持TOR域。
·Api1: 6buzj3jmnvrak4lh.onion, g4xp7aanksu6qgci.onion,l35sr5h5jl7xrh2q.onion
·Rpc: v6ekxns6ldq5uai3.onion, uaoyiluezum43ect.onion,tjiqtwzewnkbqxmh.onion
·Wpapi: 4fsq3wnmms6xqybt.onion, em2eddryi6ptkcnh.onion,nap7zb4gtnzwmxsv.onion,t7yz3cihrrzalznq.onion
·Webstore: vo5vuw5tdkqetax4.onion ,zq4aggr2i6hmklgd.onion
·Wpx: pzgxy5elkuywloqc.onion, q7nxkpgras35dwxk.onion,rbhqdxwdwrlp67g6.onion,jesteoq7glp3cpkf.onion
Gozi2RM3 / Gozi IAP2.0
这个版本的Gozi没有任何介绍C&C基于通信和二进制元数据,通信调整很容易被误认为是其他版本的变体。Gozi2RM3和上一代Gozi最明显的区别是,在攻击基础设施层面,实施了彻底的审计过程。
Gozi2RM3攻击活动的C&C基础结构分为两个阶段,其中第一阶段C&C地址被硬编码到感染受害者的初始二进制文件中。第一阶段C&C已提前配置ISP /地理位置拒绝列表,用于过滤怀疑是好奇的研究人员,而不是真正的受害者。在某些情况下,即使通过了这些检查,受害者也必须不断发送数据来证明自己是真正的受害者。只有这样,服务器才会考虑推动攻击的主要有效载荷,并在第二阶段发送真实配置。
幸运的是,至少有一个默认用于C2通信的serpent加密密钥(10291029JSJUYNHG),很多活动从来不想修改。
虽然这些差异是基础设施的主要原因,但在功能上也存在一些差异C&C这让我们相信这个变体可能已经在某个地方出售了。
Gozi2RM3 C&C Web面板
还有一个更简单URI用于指定格式字符串(无操作系统、大小、哈希)C&C要求的资源协议是“image feign request”协议,直接取自dreambot。
在Dreambot用于其他变体
Goziat攻击者和Gozi2RM3攻击者之间似乎有联系,这两个变体都增加了另一个加密步骤,从而改变了解密有效载荷的方式,恶意服务器的公共RSA进一步使用密钥serpent和serpent密钥本身只在运行过程中组装。事实上,这两个变体都以同样的方式改变了它们的过程,在如此短的时间框架内,它们似乎意味着它们要么自愿共享代码,要么其中一个非常警惕地模仿另一个团队。
下表列出了一些研究人员跟踪的版本Gozi攻击只是最近许多长期停滞不前的活动的一小部分。这些活动之间的一些共同点表明,使用Gozi2RM3活跃攻击者的数量可能不多。
用于传播Gozi2RM3恶意文件分类
Goziv3 RM3
这种变体至少从2017年夏天开始流行。ISFB许多代码仍然存在,但也有许多不同之处。这个变体和第二波Gozi技术差异明显:
RM3加载器采用独特的文件格式,称为“PX格式”,每个dll都是用自定义程序加载器加载的。
Joined Resources(“ JJ”)结构被抛弃,取而代之的是不同格式“WD”结构。而且,结构不会像以前那样直接保留PE标头后,保存在安全目录中。
Goziv3 RM3 WD结构
保留此变体的使用WD结构之一中的单词列表伪随机生成注册表项名称,通过注册表项IOC这种变体比以前的变体更难检测。
保存在随机命名的注册表中Goziv3 RM3数据
此变体使用forfiles.exe来执行Powershell脚本,脚本将Shellcode加载到内存中,然后使用APC注入执行该Shellcode。在感染链中添加可执行文件forfiles,这种变体可以逃避检测机制,如搜索PowerShell和mshta更多已知脚本引擎的持久性。
首先,通信方法的调整可能会让分析师感到惊讶,尽管C&C混淆方案和签入Gozi在这个变体中,它被放置在请求对象中,而不是URI中(它变成了“index.htm”)。此外,普通签入的格式略有不同:
虽然这些技术差异确实存在,就像Gozi2 RM3然而,变体背后的团队似乎专注于防止研究人员和研究人员的创新C2交互和获得有效载荷的方法。当客户端试图连接时,它们通过限制服务器端的有效载荷传输来实现这一点C2如果服务器的位置与当前活动的目标区域不匹配,它们将被定位和拒绝。更重要的是,第一阶段C2在网上停留的时间很短,在被分析之前就会消失。Gozi3 RM3通常通过垃圾邮件传播,这些邮件很混乱VGS文件,或者xls4.0宏作为附件。至少从2017年开始。Gozi变体被认为与流行的装载机捆绑在一起。
Goziv3 RM3垃圾邮件和恶意文件
C&C通常,服务器的顶常是.xyz,通常使用样品Verisign签名。事实上,这意味着当受害者操作这些样本时,他们必须单击一个较少的对话框“确定”,警告他们,也许他们不应该执行陌生人在互联网上给他们的随机文件。
Dreambot
Dreambot许多功能甚至在更新的变体中都是独一无二的,但归根结底,它仍然是第二波Gozi变体。它依赖于逃避检测C2签到模拟GET要求获取图像,Dreambot2020年3月似乎消失了。
Dreambot C&C Web面板
Saigon
Goziv3 RM3的此变体是FireEye2019年9月发现的基础Goziv3 RM3包括:
1. C2值得注意的是,签入的新参数knock,它编码了客户机在发出后续请求之间等待的秒数;
2. 在ECB操作模式中使用的是snake而不是加密CBC。在实际的密码学中,这将被为降级,但一般规则是,无论如何,没有人真正分析恶意软件通信的密码;
3. 混淆加密C2随机斜线不会穿插;
4. 不使用PX格式;
可以看出,大多数变化似乎都集中在删除功能上,使恶意软件更容易,恢复到更类似于第二个Gozi变体。
ISFB3 / Ursnif-A
该变体仅在2018-2019根据其攻击特点,年间袭击了日本TA544相关。一般而言,Gozi通常是通过垃圾邮件(尤其是通过垃圾邮件)Cutwail)传播带附件的办公文件,并使用地理位置来阻止其目标以外的任何请求(通常是日本国内银行的客户)。垃圾邮件通常有Bebloh下载程序,然后下载真正的Gozi。
针对日本银行客户的ISFB3恶意软件
名称“ISFB3”从恶意二进制文件中显式pdb路径衍生而来-c:\ isfb3 \ x64 \ Release \ client.pdb,但是标题中的数字“3”不是第三次迭代。模拟图像检索GET该要求仍然存在,并没有阻止运动研究的突破性功能。一系列微妙的技术差异使变体不同于其他变体。
本文翻译自:https://research.checkpoint.com/2020/gozi-the-malware-with-a-thousand-faces/如果转载,请注明原始地址: