Confucius组织情况更新:新工具和新技术,与patchwork更进一步的关联
早在二月份,我们就注意到了Patchwork和Confucius组织之间的相似之处,并发现除了恶意代码中的相似之外,这两个组织都主要针对南亚的目标。在追踪Confucius的这几个月里,我们发现其仍然瞄准位于巴基斯坦的目标。
在之前的行动中,我们发现Confucius使用假浪漫网站诱骗受害者安装恶意Android应用程序。这一次,攻击者有了一种新的工作方式,建立了两个新的网站和新的有效载荷,以此来攻击目标。
假安卓色情app和Windows聊天应用程序作为诱饵
第一个网站通过名为Fuddi Duniya的Android应用程序将成人内容用作诱饵,该应用程序链接到一个每天显示裸体照片的网站。该应用的APK直接从网站主页链接,并声明Google Play不允许在其商店中出现色情内容。
图1:带有链接的虚假网站,下载Fuddi Duniya应用程序
该应用程序的功能类似于以前的恶意Android应用程序,例如具有录制音频和窃取特定目录中的SMS、帐户、联系人和某些文件类型的功能。此外,该应用程序现在检索最后一个已知位置,并使用开发平台Google Firebase上传被盗内容。
图2:Fuddi Duniya Android应用程序的窃取信息函数
第二个虚假网站又与聊天相关,后台提示它可以帮助用户找到合作伙伴。最初,存在一个与Google Play上托管的恶意Android应用程序的链接,该应用程序与上述应用程序共享相同的功能。但是当我们在进行研究时与Google联系后,该应用程序被从商店中删除,链接从假网站上移除。
图3.第二个假网站的屏幕截图
与我们之前的研究中详细描述的假Tweety聊天应用程序相同,Windows应用程序提供基于开源聊天应用程序RocketChat的真实聊天功能。同样,这个应用程序也捆绑了恶意的.NET代码。
虽然体积小且相对简单,但我们发现这个恶意应用程序很有趣,因为它揭示了威胁发起者所针对的国家。该应用程序是一个简单的下载程序,它发送使用3DES加密的一些基本信息(用户名、防病毒软件、IP地址和操作系统版本)。
图4.app代码示例
恶意软件定期尝试联系命令和控制(C&C)服务器,并将用户名编码到参数中。根据获取的信息,运营者可以决定指示恶意软件下载第二阶段的有效载荷。该功能与我们在之前的blog和whitepaper中分析的各种后门程序(如sctrls和sip_telephone)类似。
下载器有一个有趣的功能:它使用在线服务来检索受害者的IP地址和国家,并将其与允许的国家列表进行比较。如果受害者来自不同的国家,该程序将自行删除并退出。该列表包含:
· 大部分南亚和东南亚国家(包括蒙古)
· 大多数中东国家
· 大多数非洲国家
· 欧洲只有乌克兰
· 美洲只有特立尼达和多巴哥
· 没有来自大洋洲的国家
图5.有效国家列表的摘录
我们注意到它同时在客户端和服务器端执行IP过滤,表明攻击者已经改进了其基础架构。在去年年底,来自同一威胁行为者的C&C不仅可以从任何IP地址访问,而且可以在不进行身份验证的情况下浏览服务器目录树。
在模仿一个假兴趣受害者后,我们获得了第二阶段有效载荷(检测为TROJ_DELF.XXWZ),这是一个基于Delphi编程语言的文件编辑器,类似于我们之前的博客中描述的svctrls恶意软件。这个称为sysctrls,它查找具有以下扩展名的文件:
然后通过POST HTTP请求将它们发送到windefendr[.]com/description.php。
对这个档案编辑器的进一步分析揭示了与其他威胁组织的有趣联系。
Delphi链接
我们在之前的博客已经提到,Confucius在有可能与其他组织有联系,其中提到了Patchwork和Confucius之间的代码共享。两个组织都使用了一个具有相同配置文件结构和命令的后门。
我们发现这两个威胁行为者的恶意软件之间共享更多的代码。Patchwork最近使用了一些类似于我们之前描述的Delphi恶意软件的多个Delphi恶意软件。
我们最初发现了所使用的恶意软件之间一些视觉上的相似性。尽管在恶意软件运行时没有显示任何表单,但我们可以在Delphi反编译器中看到它的TForm对象。TForm对象通常有两个TTimer对象,但有时我们看到了一个或者甚至三个这样的对象,通常都使用随机名。有时候,还会添加带加密字符串的列表框。
图6:Confucius样本的反编译表单结构
图7:Patchwork样本的反编译表单结构
在查看任意一个TTimers的OnTimer方法时,我们经常发现某种结构:指向存储在EDX寄存器中的加密字符串的指针,然后是对解密函数的调用。
图8:调用解密函数
这鼓励我们全面彻底分析字符串加密程序。
我们的分析了其中的三个。第一个涉及一个非常简单的例程,用于翻转字符串的每一位。第二种算法包含一个硬编码密钥,该密钥通过取每个字符的低五位进行变换,然后用作XOR密钥。在某些情况下,密钥在二进制文件中被分割成两部分,因此在使用之前它首先被重新合并。最后,我们的第三个算法使用一个94个字符的替换表。安全研究人员在Confucius相关的博客中曾经讨论过该算法。
对于这些算法中的每一个,我们都发现最近的一个样本会回溯到属于Patchwork基础架构的域名。
第三个算法的替换表是在构建时随机生成的,而攻击者似乎设置了第二种算法中使用的密钥。我们在后一类中发现了六个不同的密钥,这对于拼Patchwork和Confucius来说是不同的。
图9.左边是Confucius的代码,右边是Patchwork的代码
有趣的是,其中一个密钥“xldbszcd”在Confucius使用的文件窃取程序中找到(472ea4929c5e0fb4e29597311ed90a14c57bc67fbf26f81a3aac042aa3dccb55,检测为TSPY_CONFSTEAL.A),同样存在于另外两个文件窃取程序中。
第一个文件窃取程序(cca74bb322ad7833a21209b1418c9837e30983daec30d199a839f46075ee72f2,检测为TSPY_DELF.SUW)于2013年由安全研究人员发布并与域名myflatnet[.]com相关联,归属于Hangover组织。
另一个文件窃取程序(1f0dabd61947b6df8a392b77a0eae33777be3caad13698aecc223b54ab4b859a,检测为TROJ_DELF.XXWZ)与2016年9月报告的域名相关。该报告还提到了InPage软件和Delphi后门程序。
图10.左:Confucius组织,中间:Hangover组织,右:未命名的组织
经过一番研究,我们发现有多个Delphi后门使用了三种解密程序中的一种。后门还链接到旧的Hangover域名以及与2016年9月博客帖子中的域名相匹配的基础设施。其中一些样本已有好几年的历史,并且保留了“EnDecrypt”这个按位取反解密算法的原始名称。该算法与以下代码匹配。
Patchwork的持续运动
除了Delphi恶意软件,Patchwork仍然活跃。最近,他们一直在利用CVE-2017-8570发送多个RTF文件。投放的有效载荷是可以追踪到域名sastind-cn [.] org和tautiaos [.] com的远程管理工具QuasarRAT的修改版本。
图11.成功感染后的进程树
攻击者有时会将武器文件设计成目标感兴趣的合法文件。有的文件非常大,通常超过10兆字节。
图12.左侧是武器化文档,右边是CSBA的合法文件
该组织仍然使用Badnews恶意软件,这是一种具有信息窃取和文件执行功能的后门,虽然在2017年末加密程序略有修改。当时他们在我们之前patchwork博文描述的自定义加密算法之上添加了Blowfish算法。
防御Confucius和Patchwork
像Confucius和Patchwork这样的组织以其大量的工具和不断发展的技术而闻名,这些技术使传统的安全解决方案无效。为了帮助抵御这些威胁,企业需要采取更加主动和专注的安全态势,以保证安全性。一些可以实施的特定安全措施:
· 识别社会工程。恶意移动app是网络犯罪分子常见的感染媒介,因为它们可以吸引特定的目标受众。在本文的案例中,Confucius就用了常见的“sex sells”。
· 主动监控企业的网络。攻击者因创造可绕过简单网络监控的隐形恶意软件而臭名昭著。包括正确应用防火墙、入侵检测和预防系统在内的更主动的措施可以帮助减轻攻击的影响。
· 实施网络分段。即使采用最好的安全技术,仍然有可能发生攻击。将网络分成若干段,并限制只有那些真正需要它的人才可以访问,在遭受攻击时减少损失。
· 定期更新系统。应该修补和更新从终端到网络软件到物联网设备的所有内容,以防止或最大限度地减少攻击者利用漏洞的机会。
在理想情况下,企业的内部安全团队实施所有这些以及其他安全措施。现实情况是,小型到大型组织的IT部门没有能力处理像Confucius这样的组织在攻击中使用的更高级的威胁。由于这些团队也负责企业的日常IT需求,因此可能并不容易采取更加积极主动的态度。在这种情况下,企业可以寻求专业的第三方安全提供商,这样可以更好地应对高级威胁。
原文发布时间为:2018-05-27
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Android Studio打包错误(Cannot merge new index 67578 into a non-jumbo instr...
今天在项目中加了个库然后就报了如下错误 Error:Execution failed for task ':app:transformDexWithDexForRelease'. > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: Cannot merge new index 67578 into a non-jumbo instruction! 原因 最新的ADT和SDK Tool在将jar转化成dex的时候,可能会合并类的代码,这将导致巨大的类;类中的每一个方法都分配有一个id,字节码中以id标识和调用方法;早期的Dalvik VM内部使用short类型变量来标识方法的id,最大值限制在65535。当方法数超过65535,则会报该错误。 解决方法 在build...
- 下一篇
Android dex文件解析
1. 关于Android dex文件 dex文件作为Android APK的组成部分,其主要是Android的Java代码经过编译生成class文件,再经过dx命令生成的。这里面包括了APK的源码,反编译时最主要就是对这个文件进行反编译。有人会问,知道了dex的文件结构有什么用呢? 在Android安全方面来说,dex是安全的重头戏,如果能够了解了dex文件的格式,那么对于dex文件的加固原理也就有简单的了解(关于加固应该不会写了)。 话不多说,写下dex文件解析过程吧! 2. dex文件格式 关于dex文件格式,官方的文件格式如下: 名称 格式 说明 header header_item 标头 string_ids string_id_item[] 字符串标识符列表。这些是此文件使用的所有字符串的标识符,用于内部命名(例如类型描述符)或用作代码引用的常量对象。此列表必须使用 UTF-16 代码点值按字符串内容进行排序(不采用语言区域敏感方式),且不得包含任何重复条目。 type_ids type_id_item[] 类型标识符列表。这些是此文件引用的所有类型(类、数组或原始类型)的标...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群