一、概述

近日,火绒安全团队截获病毒"Socelars",正通过KMSpico、AdobePhotoshop等四十余款软件破解工具进行传播。该病毒会利用被感染用户的facebook临时登录凭证,专门窃取用户当前绑定的信用卡账户信息。

在本次截获到的样本中,该病毒被植入在KMSpico、WindowsLoader等四十余种破解工具中,具体带毒破解工具列表如下图所示。用户一旦下载运行携带病毒的软件,就会激活病毒。

病毒"Socelars"首次出现于2017年8月,至今依然活跃,并且持续不断的更新变种。

该病毒入侵电脑后,会获取用户facebook网站的登录凭证,然后利用会话劫持,获取当前用户绑定的信用卡账户、好友信息等隐私数据。

由于国内外大多数安全厂商会将破解工具识别为病毒,不论它是否真的包含恶意代码。所以,很多用户在下载使用破解工具时,会认为安全软件的报毒都是误报,直接关闭安全软件,或选择信任,形成了心理盲区。部分病毒制作者正是利用这种心理,混进了安全软件的信任列表,我们之前报道过的Justler病毒,也是利用相似的方法来躲避安全软件的查杀。

"火绒安全软件"通过基于虚拟沙盒的反病毒引擎进行报毒,仅会对真正具有病毒行为的软件报毒,因此建议用户面对报毒的软件提高警惕,"火绒安全软件"最新版可查杀病毒"Socelars"。同时,建议大家通过官方网站下载软件,避免遭到病毒攻击。
二、详细分析
"Socelars"盗号木马主要通过软件破解工具进行传播,我们收集到的带毒破解工具文件名信息示例,如下图所示:
带毒破解工具列表
由于用来传播的破解软件逻辑大致相同,本次报告中以KMSPicoActivator.exe为例。当用户运行带毒的破解工具时,病毒会在Temp目录下释放一个名为ic-0.5263f1c2dfac04.exe的下载者病毒(TrojanDownloader/Socelars.a),该模块负责下载和安装另外两个盗号模块winhttp.dll(TrojanSpy/Socelars.c)和XService.dll(TrojanSpy/Socelars.b)。两个盗号模块会查询浏览器Cookie等文件中存储的与facebook相关的登陆凭证,然后利用会话劫持的攻击技术,获取当前用户facebook账户中的支付信息、好友信息等,并将其发送到C&C服务器(hxxp://api.jiekou666.com)。"Socelars"盗号木马完整的病毒逻辑,如下图所示:
"Socelars"盗号木马执行流程
下面对各模块逐个展开详细分析。
TrojanDownloader/Socelars.a(ic-0.5263f1c2dfac04.exe)
当病毒运行时会判断当前系统是否安装有Chrome浏览器,如果安装了,则从注册表中读取其安装路径InstallLocation。相关代码,如下图所示:
获取Chrome安装路目录
然后判断该路径下chrome.exe程序的平台版本(x86/x64),根据平台版本不同从C&C服务器(hxxp://down.dll-down.com)下载相应版本的病毒动态库winhttp.dll到Chrome安装目录下。之后遍历进程,如果当前系统中Chrome浏览器正在运行,则会将浏览器进程结束,再利用镜像劫持,使Chrome浏览器再次执行时加载包含有恶意代码的winhttp.dll。相关代码逻辑,如下图所示:
利用镜像劫持技术加载winhttp.dll
使用火绒剑观察winhttp.dll的加载情况,如下图所示:
使用火绒剑观察winhttp.dll的加载情况
接下来,该病毒会判断%USERPROFILE%\AppData\Local\XService\XService.dll这个病毒文件是否存在,如果不存在,则从C&C服务器下载此动态库,并调用其InstallSvc导出函数,将其注册为名为WinService的系统服务。主要病毒逻辑,如下图所示:
下载并执行XService.dll
TrojanSpy/Socelars.c(winhttp.dll)
winhttp.dll利用镜像劫持技术,在GoogleChrome浏览器运行时被加载,执行DllEntryPoint中的病毒代码。为了不影响Chrome浏览器正常运行,该病毒动态库会在运行后加载系统中正常的winhttp.dll,并将自身的导出函数代码修改为跳转到正常winhttp.dl的l相应导出函数地址上,以避免程序在执行过程中出错。以WinHttpOpen为例,如下图所示:
病毒修改导出函数
所以当chrome程序运行之后,可以利用火绒剑观察到chrome.exe进程中含有两个winhttp.dll模块,其中安全状态为"未知文件"的模块为病毒模块,如下图所示:
火绒剑截图
病毒会获取当前进程的完整映像,并判断当前映像是否为chrome.exe,若是,则创建一个互斥量{284B2F0A-C0FF-6D76-903F-71C3FC854C92},以防止病毒多次运行。相关代码,如下图所示:
判断当前进程并创建互斥量
然后创建一个线程spy_main:
该线程会通过SQL语句去查询%appdata%\Local\Google\Chrome\UserData\Default目录下的cookies文件和LoginData文件,从而获得的name(用户名)和host_key(所属域名信息)字段。相关查询逻辑,如下图所示:
查询Cookie文件中的敏感信息
不同数据文件与对应的SQL语句,如下图所示:
数据文件与查询所使用的SQL语句
利用SQL语句查询LoginData中的敏感信息:
利用SQL语句查询LoginData中的信息
利用SQL语句查询cookies文件中的临时登录凭证,如下图所示:
查询cookies文件中的敏感信息
当病毒获取到Cookie中的c_user(用户ID)和xs(身份验证令牌)之后,可以实现对facebook网站的会话劫持,以Cookie所有者身份访问服务器,并获取该用户的支付方式,公共主页,好友信息等敏感信息。相关代码,如下图所示:
代码片段
以获取支付信息为例,下图为病毒利用会话劫持请求当前用户的facebook支付信息:
会话劫持的方式请求facebook支付信息页面
请求到的配置文件,如下图所示:
配置文件
病毒会匹配其中的"credit_cards"(信用卡账号)和"paypals"信息。相关代码,如下图所示:
匹配paypals等信息
当病毒获取到所需的敏感信息之后,会将这些数据构造成json文件格式,然后将其发送到C&C服务器(hxxp://api.jiekou666.com)。相关代码,如下图所示:
代码片段
向C&C服务器发送敏感数据,如下图所示:
上述会话劫持和获取用户隐私信息相关代码逻辑与XService.dll中代码逻辑相同,下文中不再赘述。
TrojanSpy/Socelars.b(XService.dll)
该病毒动态库被下载并注册为系统服务(WinService),以实现病毒的长期驻留和自启动。相关代码逻辑,如下图所示:
将病毒注册为系统服务
该病毒会去查找相关目录下保存的MicrosoftEdge和InternetExplorer浏览器的Cookie文件,且其查找逻辑相似,以MicrosoftEdge为例,其查找Cookie文件的逻辑,如下图所示:
病毒查找Edge浏览器Cookie文件
不同浏览器Cookie文件存放目录:
之后病毒会利用与winhttp.dll相同的会话劫持技术,获取当前用户的facebook账户中的支付信息、好友信息等隐私数据。
三、附录
文中涉及样本SHA256:

声明:本文来自火绒安全,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。