概述
近期,毒霸捕风系统在中国香港、中国台湾以及马来西亚、泰国、越南等地区,捕获一批SilentFade家族最新变种安装包程序,它们捆绑依附于盗版或者热门软件上。在安装软件之外,不仅窃取Facebook、Instagram、Google Ads等相关账号信息后进行虚假广告欺诈,还会通过云端下发病毒变种和勒索样本执行,严重危害用户资金安全和电脑安全。
SilentFade(全称:Silently running Facebook Ads with Exploits)家族最开始为我们所知,是在2019年给Facebook 造成了400万美元损失的诈骗案。它在盗取受害者Facebook的登录凭证后,登录受害者账号,利用受害者账户中绑定的金融卡(或盗取来的金融卡、预付礼品卡),在Facebook上投放减肥药、保健用品、假冒名牌产品等劣质广告,进而从中进行牟利。为了防止被受害者察觉到账户的异常以及绕过网站的风控系统,还会禁用账户安全相关的通知信息,并选择用户所在位置附近的IP登录,由于其利用了Facebook 相关功能的漏洞,即使用户发现相关通知设置被修改,也无法将其重置为正常状态。
该团伙窃取信息的方式也在不断更新,从最开始的与木马结合、浏览器注入劫持,再到与浏览器插件结合。窃取目标的范围也是越来越广,由前期的单纯盗取Twitter和Facebook账户信息,后期扩大到了对Instagram、Amazon、Google Ads账户的盗取,由此可以发现该团伙的技术是越来越熟练,野心也越来越大。值得注意的是该病毒有意的规避了系统语言为简体中文的用户,并且相关网站后台使用的也是国产框架,怀疑作者可能为国内团伙。
以其中一个样本为例,其大致行为如下:
样本执行流程图
分析
安装包程序A分析
分析发现,安装包程序A是一个被感染程序,程序本体为DeltaS.exe(Windows数据备份软件DelTaCopy的服务端),安装包程序A和DeltaS.exe相比,主要变化为文件末尾处增加了加密的DLL(暂时命名为DLL1)数据,原OEP处执行代码被修改为解密和加载执行文件末尾数据的代码。加密的DLL1文件偏移保存在文件偏移的0x45处,为程序本体DeltaS.exe的总字节数0xE6A00,而且0xE6A00还和解密密钥相关,可以看出感染主体对不同文件进行感染时根据原程序文件大小采用不同的密钥。比较有意思的是,安装包程序A不仅不具备再次感染功能,而且也不执行原程序本体DeltaS.exe的具体功能。推测是作者进行编写好样本后,对特定文件进行感染,然后将感染体伪装成安装包进行投放。下图展示了解密加载关键函数。具体参数如图所示:
密钥字符串为“944640”(944640为0xE6A00的十进制数据),解密算法以密钥字符串长度为一个单元,加密数据依次与密钥进行减法计算,最后将解密的DLL1文件加载进内存执行,并调用导出函数WorkIn。
函数WorkIn分析
分析发现该函数主要有三个功能:
功能一:反调试检测
功能二:账号相关信息窃取
功能三:下载恶意样本执行
1.反调试检测
WorkIn函数执行后,会进行一些环境检测,包括:互斥体检测、注册表检测、调试环境检测、监控工具检测和虚拟机环境检测等。确保仅在真机环境中运行,若检测到非真机环境时,就会执行cmd指令删除自身。值得注意的是,该病毒还会主动规避中文地区的使用者。
具体检测条件如下:
(1) 检测互斥体:Global\exist_sign_install_r3
(2) 检测注册表:HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\vindiesel(当不存在时会创建该注册表项)
(3) 监控工具窗口名检测:主要检测相关流量监控工具窗口信息,如:Afx:400000:8:10003:0:(WPE),TCPViewClass,TStdHttpAnalyzerForm,gdkWindowToplevel,XTPMainFrame(HTTP Debugger),Telerik Fiddler,ASExplorer,SunAwtFrame(Charles/Burp Suite)
(4) 虚拟机设备名检测:对常见的虚拟机环境设备名检测。主要分为两步,第一步检测设备名Display,LegacyDriver,DiskDrive,CDROM,Mouse是否存在,第二步检测设备名vmware,virtual,vbox进一步判定是否为虚拟机环境。
(5) 其他检测:IsDebuggerPresent检测是否为调试环境。操作系统语言检测(目前不会针对简体中文用户)。C:\\hijack目录检测,当文件夹存在时,会通过OutputDebugStringA输出相关文本记录,是作者调试日志开关。
相关窗口检测代码如下图所示:
2.账号相关信息窃密
近期的样本主要针对Facebook和Instagram进行窃密,而最新捕获到的样本,则增加了利用浏览器插件对Facebook进行信息窃密,并且还加入了针对Google Ads窃密的行为。
2.1 Facebook窃密
程序通过检测相关浏览器的目录,获得对应的SQLite数据库文件,从数据库中提取和Facebook相关的账号密码信息及Cookies信息。然后利用获得的账号信息通过Graph API进行数据查询,并对返回的结果进行字符串筛选匹配,获取账户的好友信息、支付信息、广告信息,最后将收集的信息拼接,一起发送回服务器,服务器地址为http://8a33b8bfbbf0182b.xyz/info。
恶意作者为了相对全面的获取信息,选择了市场上常见的浏览器进行数据收集,具体如下:
利用Facebook Graph API进行数据查询,部分查询API接口如下图所示:
查询返回的好友信息:
查询返回的广告信息:
广告支付信息查询表头如下图:
Facebook Ads广告数据查询,推测是收集环境,后续会进行相关广告推送等。查询表头如下图所示:
下图为根据查询结果筛选拼接后的数据:
此外分析还发现涉及了Instagram信息的获取(Instagram可以使用Facebook账号关联登录),和获取Facebook信息一样,都是构建本地访问,对返回的数据进行筛选收集,上传到服务器。
下图为收集发送到服务器的列表信息:
2.2 浏览器插件窃密
最新追踪发现,新版本模块和老版模块相比,新版增加了3个浏览器插件,保存在DLL文件的资源中。主要是针对Chrome、Opera、Firefox浏览器,在插件安装后,进行Facebook信息窃取。插件首先获取浏览器中和Facebook相关的账号信息和Cookies信息,然后利用获得的信息通过Graph API进行数据查询,将返回的数据发送到服务器,服务器为 https://api.crx24bac5.xyz。
下图为针对不同浏览器进行安装不同插件:
下图为进行Facebook好友信息收集并发送到服务端:
2.3 Google Ads窃取
谷歌广告账户窃取,为最新版本新增的功能,和盗取Facebook信息手法相同,都是先从本地浏览器获得与Google相关的账号及Cookies信息,利用获得的账号及Cookies信息进行本地访问,对返回的数据进行字符串比对筛选收集,最后将收集到的数据发送到服务器,服务器地址为:http://b4a130a0d0545a8a.xyz/info_old/。
目前观察到主要是对支付和广告信息进行收集,上发到服务器。推测后续会利用收集的信息进行相关牟利操作,下图为进行Google Ads 访问链接:
上传信息列表如下所示:
3.下载恶意样本执行
分析发现该部分主要功能为解密加载迅雷插件,利用迅雷插件下载恶意安装包执行(详见恶意安装包B分析),下图为解密和启动迅雷插件程序。
程序会通过释放的xldl.dll去构建下载任务,下载执行23e04c4f32ef2158.exe。23e04c4f32ef2158.exe是由setup_10.2_mix1.exe重命名而来,保存在目录C:\Users\ Administration\AppData\Local\Temp\ 。下载url为http://dream.pics/setup_10.2_mix1.exe。
下图为利用迅雷插件创建任务下载文件。
3.1 恶意安装包B分析
恶意安装包B(23e04c4f32ef2158.exe)会下载安装程序DreamTrip.exe(梦之旅),同时释放执行恶意压缩包程序seed.xfx.exe(seed.xfx.exe解压释放seed.exe,解压密码为X7mdks39WE0),seed.exe的主要功能是进行环境检测,对explorer.exe进行shellcode注入(shellcode功能详见注入shellcode分析)。
分析发现,seed.exe采用大量混淆,最后会加载执行一个只含有.text段的PE(这(这里暂时命名为dll2)。并且DLL2代码也经过混淆,功能代码是边解密边执行。
DLL2执行流程如下图所示:
追踪发现,DLL2的功能代码主要是将ntdll.dll复制到C:\Users\Administration\AppData\Local\Temp目录,并重命名为1105.tmp(名称为xxxx.tmp,x代表0-9任意数),加载1105.tmp进内存,并调用里面的一些函数。分析原因是逃避一些针对ntdll.dll的函数hook和检测,从而很好的去反监控和反调试。接着进行虚拟机环境检测,这里分为三部分检测,进程检测、注册表检测和文件夹检测。最后,当检测为真机环境时进行shellcode注入。注入的目标进程为explorer.exe,注入方式采用的是内存映射机制,一共映射了2块内存,分别用于保存shellcode执行代码和shellcode附属数据(用于保存线程参数、函数地址表、执行shellcode代码时需要的加密数据,线程参数为文件的绝对路径)。注入代码利用底层函数RTlCreateUserThread创建远程线程执行。
下图为创建远程线程时的相关数据图:
下图为注入explorer.exe进程中的shellcode代码及数据:
下图为explorer.exe线程情况分布,第一个线程为注入的shellcode主线程,后面两个线程为注入的shellcode开启的子线程(详见注入的shellcode分析)。
3.2 注入shellcode分析
注入的shellcode主要包含初始化操作、环境检测、添加计划任务、下载恶意样本执行。
具体操作如下:
(1) 初始化操作
获取一些模块加载基址和一些调用函数的地址,保存进shellcode附属部分内存列表中,用于shellcode代码调用。
(2) 环境检测
创建两个线程去关闭调试器进程、系统监视工具进程、网络抓包工具进程。线程一通过进程遍历关闭进程,线程二通过窗口遍历关闭进程。
(3) 添加计划任务
shellcode会添加计划任务去执行C:\Users\Administration\AppData\Roaming\gjrrcft程序,实现自身常驻。计划任务名为:NvNgxUpdateCheckDaily_{2A68F03E-F03E-F03E-F03E-2A68F03EF03E},计划任务触发条件为每隔10分钟启动一次,gjrrcft为程序的重命名副本,并且该文件属性被设置为系统隐藏属性。下图为计划任务详情:
(4) 下载恶意样本执行
shellcode会从云端下载更新升级自身,并且还会接受其它的病毒文件下发,如:Stop勒索样本。
下图为被加密文件及勒索文本:
总结
为了个人信息安全和电脑财产安全,建议如下:
(1) 从正规网站下载安装软件,对来历不明的文件不要点击运行。
(2) 及时更新电脑补丁和杀毒软件,安装杀软进行实时监控,定期对电脑文件进行安全扫描检测。
(3 ) 相关账号在不是经常使用的设备上进行登录时,使用后及时点击账户的注销按钮退出登录,账户相关安全通知也要不定期检查是否开启和有无异常登录记录。
IOC:
09653b8d5f7c489eae8d481193adeaf3
4022865b00e1bd8e0736dbba14c7c036
fb45f8118642b2207bd629a1dbc7d8ca
735f3db686fb932d20579298377f1277
34efff194fef68b91530fb41854d27d4
1ab384d088004e88d5f5a26f5ea9796a
b51e7d646f5a2019129e54c2854ff869
d9bbea0e0e3339f7baefaa3d1cb69367
b51e7d646f5a2019129e54c2854ff869
dca2e1d54e5c7666425379b01de88815
d6236d47f7fac5c1bc747a77c5f960f1
6fc21bc3299431e3c10cfc4c0477913f
fb5526645964973a2b4fe743e6437820
URL:
http://dream.pics/setup_10.2_mix1.exe
http://8a33b8bfbbf0182b.xyz/info
http://freeprivacytools.site/downloads/privacytools2.exe
http://91.203.5.155/3.php
http://naritouzina.net/
http://huhgew.uufjffff.com/uue/jieolll.exe
http://md7.7dfj.pw/download.php
http://gcc-partners.in/download.php?pub=mixseven
来源:freebuf.com 2021-02-23 19:15:04 by: 安全豹
请登录后发表评论
注册