近日,火绒安全团队截获病毒 "Socelars",正通过 KMSpico、Adobe Photoshop 等四十余款软件破解工具进行传播。该病毒会利用被感染用户的 facebook 临时登录凭证,专门窃取用户当前绑定的信用卡账户信息。
一、 概述
在本次截获到的样本中,该病毒被植入在 KMSpico、WindowsLoader 等四十余种破解工具中,具体带毒破解工具列表如下图所示。用户一旦下载运行携带病毒的软件,就会激活病毒。
病毒 "Socelars" 首次出现于 2017 年 8 月,至今依然活跃,并且持续不断的更新变种。
该病毒入侵电脑后,会获取用户 facebook网站的登录凭证,然后利用会话劫持,获取当前用户绑定的信用卡账户、好友信息等隐私数据。
由于国内外大多数安全厂商会将破解工具识别为病毒,不论它是否真的包含恶意代码。所以,很多用户在下载使用破解工具时,会认为安全软件的报毒都是误报,直接关闭安全软件,或选择信任,形成了心理盲区。部分病毒制作者正是利用这种心理,混进了安全软件的信任列表,我们之前报道过的 Justler 病毒,也是利用相似的方法来躲避安全软件的查杀。
" 火绒安全软件 " 通过基于虚拟沙盒的反病毒引擎进行报毒,仅会对真正具有病毒行为的软件报毒,因此建议用户面对报毒的软件提高警惕," 火绒安全软件 " 最新版可查杀病毒 "Socelars"。同时,建议大家通过官方网站下载软件,避免遭到病毒攻击。
二、 详细分析
"Socelars" 盗号木马主要由三部分构成,其病毒模块 devenv.exe(TrojanDownloader/Socelars.a)是一个下载者木马,负责下载和安装另外两个盗号模块 winhttp.dll(TrojanSpy/Socelars.c)和 XService.dll(TrojanSpy/Socelars.b)。
两个盗号模块会查询浏览器 Cookie 等文件中存储的与 facebook 相关的登陆凭证,然后利用会话劫持的攻击技术,获取当前用户 facebook 账户中的支付信息,好友信息等,并将其发送到 C&C服务器。"Socelars" 盗号木马完整的病毒逻辑,如下图所示:
"Socelars" 盗号木马执行流程
下面对各模块逐个展开分析:
devenv.exe
该病毒伪装成 Microsoft VisualStudio 2010 的主程序 devenv.exe,文件属性,如下图所示:
devenv.exe 的文件属性
当病毒运行时会判断当前系统是否安装 GoogleChrome 浏览器,如果安装了,则从注册表中读取其安装路径 InstallLocation,然后判断该路径下 chrome.exe 程序的编译版本,从远程服务器下载相应版本的病毒动态库 winhttp.dll 到此路径下,因为 chrome.exe 会调用 winhttp.dll,所以病毒利用镜像劫持技术,执行在 DllEntryPoint 中存放的恶意代码。相关代码逻辑如下图所示:
利用镜像劫持技术加载 winhttp.dll
使用火绒剑观察 winhttp.dll 的加载情况如下图:
使用火绒剑观察 winhttp.dll 的加载情况
接下来,该病毒会判断 %USERPROFILE%AppDataLocalXServiceXService.dll 这个病毒文件是否存在,如果不存在则从远程服务器下载此动态库,并调用其 InstallSvc 导出函数,将其注册为名为 WinService 的系统服务。主要病毒逻辑,如下图所示:
下载并执行 XService.dll
winhttp.dll
winhttp.dll 利用镜像劫持技术,在 Google Chrome 浏览器运行时被加载,执行 DllEntryPoint 中的病毒代码,为了不影响程序正常运行,该动态库会在运行后加载正常的 winhttp.dll,并将自身的导出函数动态映射到正常系统函数上,以避免程序在执行过程中出错。以 WinHttpOpen 为例,其映射前后代码,如下图所示:
病毒映射 WinHttpOpen 函数地址
所以当 chrome 程序运行之后,可以利用火绒剑观察到 chrome.exe 进程中含有两个 winhttp.dll 模块,其中安全状态为 " 未知文件 " 的模块为病毒模块,如下图所示:
火绒剑截图
病毒会获取当前进程的完整映像,并判断当前映像是否为 chrome.exe,若是,则创建一个互斥量 {284B2F0A-C0FF-6D76-903F-71C3FC854C92},以防止病毒多次运行。相关代码,如下图所示:
判断当前进程并创建互斥量
然后创建一个线程 spy_main:
该线程会通过 SQL 语句去查询 %appdata%LocalGoogleChromeUser DataDefault 目录下的 cookies 文件和 Login Data 文件的 name(用户名)和 host_key(所属域名信息)。其查询逻辑如下图所示:
查询 Cookie 文件中的敏感信息
不同配置文件与其对应的 SQL 语句:
利用 SQl 语句查询 Login Data 中的敏感信息:
利用 SQL 语句查询 Login Data 中的信息
利用 SQL 语句查询 cookies 文件中的敏感信息:
查询 cookies 文件中的敏感信息
当病毒获取到 Cookie 中的 c_user ( 用户 ID ) 和 xs ( 身份验证令牌 ) 之后,可以实现对 facebook 网站的会话劫持,以 Cookie 所有者身份访问服务器,并获取该用户的支付方式,公共主页,好友列表中的敏感信息。相关代码,如下图所示:
代码片段
以获取支付信息为例,下图为病毒利用会话劫持请求当前用户的 facebook 支付信息:
会话劫持的方式请求 facebook 支付信息页面
请求到的配置文件如下图所示:
配置文件
病毒会匹配其中的 "credit_cards"(信用卡账号)和 "paypals" 信息,相关代码如下图所示:
匹配 paypals 等信息
当病毒获取到所需的敏感信息之后,会将这些数据构造成 json 文件格式,然后将其发送到 C&C 服务器(hxxp://api.jiekou666.com/api/send)。相关代码,如下图所示:
向 C&C 服务器发送敏感数据,如下图所示:
这部分会话劫持的代码逻辑与 XService.dll 中对 facebook 的劫持逻辑相同。
XService.dll
该病毒动态库被下载并注册为系统服务,以长期驻留在系统中。代码逻辑如下图所示:
将病毒注册为系统服务
该病毒会去查找相关目录下保存的 MicrosoftEdge 和 Internet Explorer 浏览器的 Cookie 文件,且其查找逻辑相似,以 Microsoft Edge 为例,其查找 Cookie 文件的逻辑如下图所示:
病毒查找 Edge 浏览器 Cookie 文件
不同浏览器 Cookie 文件存放目录:
之后病毒会利用与 winhttp.dll 相同的会话劫持技术,获取当前用户的 facebook 账户中保存的支付信息等。
三、 附录
文中涉及样本 SHA256: