Bitdefender揭露StrongPity APT组织的恶意活动 – 作者:比特梵德中国

Bitdefender研究人员最近发现,APT组织StrongPity一直针对Turkey和Syria发动APT攻击。
 
APT小组使用水坑攻击受害者,并部署了三层C&C基础设施以阻止取证调查,利用木马化的流行工具(例如压缩软件,文件恢复应用程序,远程连接应用程序,实用程序甚至安全软件)来对受害者进行攻击。
 
有趣的是,攻击者的其中一个战役中使用的样本似乎已从2019年10月1日开始加上时间戳,恰好与Turkey对Syria东北部发动的代号为“ 和平之春 ”的行动相吻合。
 
尽管没有直接的证据表明StrongPity APT小组的攻击是为了配合土耳其的攻击行动,但根据受害者的资料,加上样本的时间戳吻合,表明这是有组织的APT行动。
 
主要发现:
— StrongPity APT组织是受Turkey赞助的黑客集团
— 能够从受害者机器的中搜索和提取任何文件或文档,该策略使用预先定义的IP列表有选择地针对土耳其和叙利亚的受害者
— 3层C&C基础架构,用于跟踪和阻止取证调查
— 使用功能齐全的特洛伊木马流行工具
 
基础设施 
在此期间,我们密切监控了StrongPity APT组织并研究了其基础架构的不同点,我们便能够区分出两种服务器,用于完成两个主要角色:
• 为最初的攻击中使用的感染安装程序,提供的下载服务器
• 用于提取信息并通过命令与受害者互动的命令和控制服务器
 
下载服务器
StrongPity APT组织优选的感染机制是水坑攻击技术。 在这种攻击中,StrongPity APT组织会利用受害者经常访问的某些网站。 对于在野外观察到的情况,StrongPity APT组织能够篡改某些本地化的软件和共享者。
通常,网站访问者在尝试下载时,某些安装程序将从合法服务器重定向到专用下载服务器。 如果发现潜在受害目标用户(他/她的IP地址在其目标范围之内),则服务器将返回该安装程序的被篡改版本。 否则,用户将收到它的原始版本。

木马
提供给目标受害者的恶意安装程序非常有趣。StrongPity APT组织使用经过数字签名(带有自签名证书)的自定义捆绑器/投递器,其中包含恶意组件和原始的合法软件产品。但是,这些初始的dropper变化多端, 它们是立即生成。每个安装程序组件的加密密钥都不同,尽管每个活动的密钥长度通常相同。
在我们的调查过程中,我们能够收集到这些被篡改的安装程序的一些样本。受影响的应用程序分为几类,例如7-zip和WinRAR压缩程序等压缩应用程序,McAfee Security Scan Plus等安全软件,Recuva文件恢复应用程序,TeamViewer等远程连接应用程序,WhatsApp等聊天应用程序或Piriform CCleaner,leverFiles Disk Drill,DAEMON Tools Lite,Glary Utilities或RAR Password Unlocker等,包含各种用户常用的工具和实用程序。
每个初始dropper都有一个编译时间,即创建被篡改的安装程序的确切日期。当我们研究此方面时,我们观察到我们设法检索的所有文件都是在星期一至星期五(正常工作时间)进行编译的。另一个有趣的方面是,这些时间戳记的时间间隔大约为9小时,这是一个工作日的标准。如果我们按9点到下午6点的工作时间计算,则时区将为UTC+ 2。
 
图片[1]-Bitdefender揭露StrongPity APT组织的恶意活动 – 作者:比特梵德中国-安全小百科图片[2]-Bitdefender揭露StrongPity APT组织的恶意活动 – 作者:比特梵德中国-安全小百科在监视StrongPity APT组织的活动时,我们能够从基础架构中调查几个要点。
下载服务器具有一些有趣的特性。
StrongPity APT组织采取了一些安全措施,以确保仅接受“正确”的连接。
他们使用带有以下帮助消息的帮助程序脚本(自称为“ Debian Stretch Hardening Script”):
usage: $0 options
Debian Stretch Hardening Script
OPTIONS:
-u Admin User
-p SSH Port
-k SSH Public Key (example : “ssh-rsa AAA...”)
-d Domain Name
-n Knock Ports (example : 10001,10002,10003,10004)
--helpHelp
该脚本以及其他操作将更新所有软件包,并在系统上创建“管理员用户”(并根据开放端口和SSH端口计算密码),配置nginx并配置开放服务和防火墙。 由于脚本中的错误,密码始终相同。 这并不会造成问题,因为SSH守护程序配置为仅允许密钥身份验证。
在一个实例中,APT组织在调用脚本时使用了四个开放端口的序列。有趣的是,似乎有一个来自以色列的特定IP被拒绝了与下载服务器的任何连接,即一个IP该地址似乎属于一所重要的科学大学。
回顾软件逻辑,我们确定了2个带有恶意二进制文件的目录和3个PHP脚本:
1. configuration.php –包含这两个目录的位置以及一个名为$ targets的列表(其中应包含一个
IP范围列表,但为空)和从32个十六进制数字到文件名的映射(它不代表文件的md5哈希值,而是唯一地标识它-即file-id))。
2. serveFile()–将安装程序文件提供给客户端
3. inject.php –主要逻辑。 它包括其他2个php文件,验证连接客户端的IP是否在其中在configuration.php中定义的目标列表,检查文件ID并提供所选文件。
 
根据脚本的逻辑,其中一个目录应包含原始安装程序,而另一个目录应包含被篡改的安装程序。 如果受害者的IP地址在$targets列表中,则将交付木马化的安装程序,否则将提供合法的安装程序。 对于我们调查的节点,两个目录都包含完全相同的文件,并且$targets列表为空,这意味着任何有效的连接都将获得恶意安装程序。
在野外,我们已经看到了对以下模式的第一层的请求:
https://<download server>/<8 character folder>/<the 32 hex-digits that identify the file>
 
但是,在我们分析过的节点中,有效的URL将具有以下形式:
https://<download server>/<8 character folder>/<the inject.php file>?params=<the 32 hex digits that identifies the file>.
这种差异表明节点已不可用,或者已知的URL方案已更改。其他任何请求都将重定向到https://google.com
 
命令和控制服务器
一旦下载并执行了恶意安装程序,即会安装后门。 后门将与嵌入其二进制文件中的命令和控制服务器进行通信,以根据受害者的重要性来进行文档渗透和检索要执行的命令。
从运营安全的角度来看,APT组织会采取不同的措施来隐藏和匿名化其痕迹。 C2网络使用一组代理服务器来隐藏基础结构中的一个或多个终端节点。 在撰写本文时,我们已经确定了该基础架构中的至少三层。
 
第一层
 
第一层由恶意软件将尝试连接到的IP组成。 这些IP中的每一个都有与之关联的唯一域,该域嵌入二进制文件中。 这些实际上是其他计算机的代理。
 
我们看到的节点使用PHP curl绑定将请求转发到他们知道的链中的下一个服务器(一个用于文件渗透的脚本和一个用于检索命令的脚本)。 如果某个节点受到威胁,则无法了解整个基础架构的详细信息,而仅了解该节点之前的节点以及向其提交数据的节点。
 
第一层进行一些基本的验证,并与通常位于不同国家/地区,不同提供商的另一台服务器之间进行流量转发。 第一层与其上游之间的通信是HTTPS(未验证证书),该协议的TCP端口为1402。
 
对于软件堆栈,nginx和php被配置为使用404响应所有不正确的请求(不存在的文件(nginx服务于404响应)或不正确的PHP脚本参数(属于php脚本) 负责提供404代码)。
第二层
第二层由第一层将数据转发到的IP地址组成。 这些IP似乎没有与它们链接的任何域,并具有指向它们的多个第一层IP。
其他writeups提到了PHP脚本goN9Z2In7mYQmN92dzX11CQL.php(用于文件上传)和p5Pss34GvX21pxO0bz25vLqU.php(用于获取命令)。 这些PHP文件仍然存在于整个基础结构中,但是它们现在位于第二层代理中,第一层/面向公众的脚本称为info.php 或 phpinfo.php(用于文件上传)和ini.php或parse_ini_file.php(用于命令)。 下表说明了研究人员在调查过程中从以下位置获取的这些PHP脚本的名称:
架构:图片[3]-Bitdefender揭露StrongPity APT组织的恶意活动 – 作者:比特梵德中国-安全小百科第一层和第二层都将SSH守护程序配置为在高端口(大于1024)上侦听。 通过避免对某些协议使用默认端口,攻击者正试图躲避普通Internet扫描仪和Shodan或Censys等搜索引擎的“监视”。
据我们的研究人员能够调查到的那样,攻击者通常使用来自secureconnect.me或torguardvpnaccess.com的VPN服务来连接和管理服务器。
下图总结了感染后代理层之间的通信:
图片[4]-Bitdefender揭露StrongPity APT组织的恶意活动 – 作者:比特梵德中国-安全小百科在基础架构方面,我们能够映射47个具有不同功能的服务器。 攻击者似乎并不喜欢某个特定的托管服务提供商或区域来设置基础结构,但其中大多数在欧洲。
 
组件和通讯协议
一旦下载并执行了被篡改的安装程序,它将删除4个文件:合法安装程序,启动程序和持久性组件,渗透和命令执行组件以及文件搜索器组件。
第一个执行的文件是原始安装程序,它将提示用户,以便他们不会怀疑任何东西。 所有恶意操作均在后台执行。
在初始dropper的资源部分中,所有这四个组件均已加密。 每个资源都有一个8字节的标头,用于告诉放置程序可执行文件的大小和组件类型。
 
下图说明了安装过程的摘要:
图片[5]-Bitdefender揭露StrongPity APT组织的恶意活动 – 作者:比特梵德中国-安全小百科将启动组件放入%SYSTEM%文件夹后,可以通过调用负责创建新服务的函数来执行它。 该服务的名称很普通,可以替换非重要的系统服务(打印后台处理程序),也可以使用不引起怀疑的名称(注册表维护服务器)。 该服务将用作持久性机制,并将执行启动器组件。
 
Dropper将启动服务,并将删除其余的可执行文件。
启动组件执行通常位于同一系统文件夹中的“渗透和命令执行”组件,并等待uninstall事件。
渗透组件负责运行文件搜索组件,并通过POST请求将文件传输到C&C服务器。 它定期要求C&C服务器提供下载和执行命令或卸载命令。 最后一个(如果收到)将作为事件发送到启动器组件。 get_command作为POST请求发送,带有名为name的自变量,其中包含标签。 该标签用作身份验证的一种形式,并受文件编译时间的影响。 在我们的测试中,如果要求输入命令,服务器似乎总是以404响应。
 
File Searcher组件遍历每个驱动器,并查找具有某些扩展名的文件。 恶意二进制文件嵌入了扩展名列表(通常标识不同类型的文档)。 如果找到具有该列表扩展名的文件,则该文件将被复制到一个临时zip存档中。 将文件添加到存档后,它将拆分为隐藏的.sft加密文件。 .sft文件由Exfusion组件读取,发送到C&C服务器并从磁盘中删除。
 
在完成渗透过程之后,如上所述,渗透组件将等待其他命令。
如前所述,首先将要提取的文件复制到一个zip文件中。 该zip文件将被加密为多个.sft文件,如下所示:
•File Searcher组件将从zip文件读取2048个字节
•对于每个字节,它将在最低有效4位和最高有效4位之间应用异或运算,并将结果写入.sft文件中
•前两个步骤最多重复53次
•如果zip文件仍包含未处理的数据,则将创建一个新的.sft文件
•对于每个zip文件,第一个.sft文件将以N开头作为第一个字符,其余完成存档的.sft文件将以O开头。
 
受害者
在筛查受害者时,很明显,这一威胁是针对性很强的威胁。 大多数受害者集中在土耳其和叙利亚地区。
放大后,我们可以观察到大多数目标都位于土耳其和叙利亚之间的边界以及伊斯坦布尔附近,从而强化了这种威胁可能与土耳其和库尔德社区之间的地缘政治冲突有关的想法 。
图片[6]-Bitdefender揭露StrongPity APT组织的恶意活动 – 作者:比特梵德中国-安全小百科
Mitre攻击战术
图片[7]-Bitdefender揭露StrongPity APT组织的恶意活动 – 作者:比特梵德中国-安全小百科
附录
图片[8]-Bitdefender揭露StrongPity APT组织的恶意活动 – 作者:比特梵德中国-安全小百科图片[9]-Bitdefender揭露StrongPity APT组织的恶意活动 – 作者:比特梵德中国-安全小百科图片[10]-Bitdefender揭露StrongPity APT组织的恶意活动 – 作者:比特梵德中国-安全小百科图片[11]-Bitdefender揭露StrongPity APT组织的恶意活动 – 作者:比特梵德中国-安全小百科
图片[12]-Bitdefender揭露StrongPity APT组织的恶意活动 – 作者:比特梵德中国-安全小百科
欢迎免费试用Bitdefender企业产品: www.bitdefender-cn.com/trial.html
 
扫一扫,关注Bitdefender公众号
图片[13]-Bitdefender揭露StrongPity APT组织的恶意活动 – 作者:比特梵德中国-安全小百科

来源:freebuf.com 2020-07-07 09:52:59 by: 比特梵德中国

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论