新型OpcJacker恶意软件通过虚假的VPN传播恶意广告
cac55 2024-12-12 11:03 43 浏览 0 评论
趋势科技研究人员发现了一种新型恶意软件,将其命名为 "OpcJacker"(取其opc配置设计“opc”和加密货币劫持“hijack”能力英文前后缀opc-jack而成),该恶意软件自2022年下半年以来一直传播。OpcJacker是一个有趣的恶意软件,因为它的配置文件使用一个自定义的文件格式来定义窃取者的行为。具体来说,该文件格式类似于自定义的虚拟机代码,配置文件中存在的十六进制数字标识符使得窃密器可运行所需的功能。使用这种设计的目的可能是为了使研究人员更难理解和分析恶意软件的代码流。
恶意软件OpcJacker的主要功能包括键盘记录、屏幕截图、从浏览器中窃取敏感数据、加载附加模块,以及替换剪贴板中的加密货币地址以达到劫持目的。
图1. OpcJacker的感染链
研究人员观察到OpcJacker通过不同的活动进行传播,包括伪装成加密货币相关的应用和其他合法软件,然后攻击者通过虚假网站进行传播。在最近一次(2023年2月)涉及OpcJacker的活动中,感染链始于恶意广告,恶意广告对伊朗用户进行地理定位。这些恶意广告被伪装成合法的VPN服务,欺骗受害者下载一个包含OpcJacker的文档。
该恶意软件是通过在已安装得应用更新一个合法的DLL库时加载的,该应用也会加载另一个恶意DLL库。然后,恶意DLL库汇编并运行shellcode,shellcode是另一个恶意可执行文件的loader和runner,可执行文件是文件数据块里存储OpcJacker的各种格式的数据文件,如WAV和CHM。该loader自命名为”Babadeda” crypter以来,已经使用了一年多。这些活动背后的攻击者对加密器本身进行了一些改变,然后增加了一个全新的payload(一个窃密器/剪切器/记键器)。
OpcJacker通常是释放(或下载)和运行额外的模块,这些模块是远程访问工具,不是NetSupport RAT就是一个隐藏虚拟网络计算(hVNC)的变体。我们还发现一份报告分享了一个名为 "Phobos Crypter"(实际上与OpcJacker是同一个恶意软件)的loader被用来加载Phobos勒索软件的信息。
传播
正如介绍中提到的,OpcJacker是通过不同的活动传播的,包括以虚假网站宣传看似合法的软件和加密货币相关的应用,但实际都是托管恶意软件。由于这些活动除了OpcJacker之外,还会传播一些其他不同的恶意软件,因此它们很可能是OpcJacker的控制者所使用的不同类型的按次安装服务。
在最近一次(2023年2月)涉及OpcJacker的活动中,研究人员注意到OpcJacker是通过针对伊朗恶意广告的地理定位传播的。这些恶意广告链接到一个恶意网站,这个恶意网站伪装成合法VPN软件的网站。网站的内容是从一个合法的商业VPN服务的网站上复制的,然而链接被修改为指向到一个内嵌恶意内容被黑网站。
恶意网站检查客户的IP地址以确定受害者是否使用VPN服务。如果IP地址没有使用VPN服务,它就将受害者重定向到第二个被黑网站,诱使他们下载一个包含OpcJacker的文档。如果受害者正在使用VPN服务,就不会发生上述攻击行为。
图2. 一个用于提供OpcJacker的恶意广告的例子
此外,研究人员还发现了一些ISO镜像和RAR/ZIP档案,其中包含各种软件被修改过的安装程序,其导致OpcJacker加载。这些安装程序以前被其他活动使用过,被托管在各种被黑的WordPress框架的网站或软件开发平台,如GitHub。攻击者喜欢使用ISO文件的一个可能的原因是为了绕过IE浏览器的 Mark-of-the-Web 警告。
以下是我们发现的一些文件名例子:
- CLF_security.iso
- Cloudflare_security_setup.iso
- GoldenDict-1.5.0-RC2-372-gc3ff15f-Install.zip
- MSI_Afterburner.iso
- tigervnc64-winvnc-1.12.0.rar
- TradingViewDesktop.zip
- XDag.x64.rar
Babadeda加密器
在安装程序释放所有必要的文件后,它就会加载主可执行文件(RawDigger.exe),这是一个干净的合法文件。
图3. 安装程序释放的文件列表;虽然大多数是安全文件,但有些是补丁或恶意文件
可执行文件加载了一个DLL库,其中包括打了补丁的导入(librawf.dll)
图4. 导入的DLL库列表;高亮显示的库为修补后可加载另外恶意DLL的库
修补后的DLL(librawf.dll,与合法应用RawDigger(一个原始镜像分析器)相关)的导入地址表被进一步修补,修补包括了两个额外的DLL库。在下图中,请注意FirstThunk地址(新添加的库)是如何以001Dxxxx开始的,而不是原始库的FirstThunk地址中使用的0012xxxx。
图5. 一个经过修补的导入地址表
图5中高亮显示的库(libpushpp.dll)随后被加载和执行。它的主要任务是打开其中一个数据文件(hm)并加载存储在其中的第一阶段的shellcode。
图6. 恶意库打开一个数据文件
第一阶段shellcode的偏移量和大小被硬编码到DLL库中。
图7. 恶意库从偏移量0x37D50复制第一阶段的shellcode;shellcode的大小为0x75A字节
在较新版本的Babadeda加密器中,另一个DLL库(mdb.dll,来自虚假VPN的安装程序)被加载到内存中,然后第一阶段shellcode覆盖写入到一个硬编码随机选择的内存块。请注意,这种变化只是一个小细节,对第一阶段shellcode的整体功能没有影响。
图8. 内存加载合法库(mdb.dll),然后第一阶段shellcode(0x7B5字节)被复制到库的内存空间中
在第一阶段shellcode的末尾有一个配置表,包含了加密块的偏移量和它们各自的大小。然后,第一阶段shellcode解密并整合所有的块,形成第二阶段的shellcode(一个加载器)和主要的恶意软件(OpcJacker能加载其他恶意模块)。
图9. 第一阶段shellcode的配置表
配置表以至少八个相同的字符开始(图9中红色的 "*",但在其他样本中可能使用不同的字符),然后是数据文件的总长度(绿色字体;hm的长度=0x1775e0=1537504字节),加密密钥(黄色字体;0x18),shellcode第二阶段块数(棕色字体;0x07),最后,由主恶意软件的块数(白色字体;0x08)。0x07(红线框)和0x08(蓝线框)的列表相当于每个块的15个地址和大小。
在数据文件(hm)的开头,我们可以看到(WAV)文件头,因为它试图模仿WAVE文件格式。请注意,数据文件可以是不同的文件格式,CHM格式能被模仿篡改。
图10. 以WAV头开始的数据文件
主要的窃密器组件(OpcJacker)
主要的恶意软件组件(OpcJacker)是一个有趣的窃密器,首先解密并加载其配置文件。配置文件的格式类似于用自定义机器语言编写的字节码,其中每条指令都被解析,获得单独的操作码,然后执行具体的处理程序。
在分析自定义字节码时,我们注意到以下模式:
ASCII字符串被编码为01 xx xx xx <string bytes>;其中xx xx xx xx是字符串的长度。
图11. 配置文件内编码的ASCII字符串
同样地,宽的字符串从第02字节开始,而二进制数组从第03字节开始。
图12. 配置文件内编码的UNICODE字符串
图13. 配置文件内的编码二进制阵列
配置文件的格式是一个指令序列,其中指令以三个4字节的小端(DWORD)数字开始。第一个数字是虚拟程序计数器,第二个可能是父指令的虚拟程序计数器,而第三个是处理程序ID(将在虚拟机中执行的代码),后面是数据字节或附加处理程序ID。
基于这些观察,研究人员写了一个指令解析器,从中得到了以下输出。尽管对虚拟机内部实现的观察和理解是不完整的,但解析器让研究人员很好地理解了配置文件中定义的行为是什么。
解密和解码后的配置文件从某些系统变量的初始化开始,其中 "test "和 "rik "很可能是活动ID。由SHA256 c5b499e886d8e86d0d85d0f73bc760516e7476442d3def2feeade417926f04a5释放的配置文件包含不同的关键词 "test "和 "ilk "作为活动ID。同时,2023年2月的最新活动所释放的配置文件(SHA256 565EA7469F9769DD05C925A3F3EF9A2F9756FF1F35FD154107786BFC63703B52)包含关键词 "test_installs "和 "yorik"。
图14. 初始化命令
然后初始化剪贴板替换功能(剪切)。
图15. 剪贴板替换器(clipper)的初始化
然后,变量 "exe "被初始化为可执行文件字节(见4d 5a 90 = MZ标记)。这个可执行文件是一个远程访问工具。
图16. 嵌入式模块(PE EXE格式)
恶意软件通过注册表运行和任务调度器方法设置了持久性。请注意用于保存当前进程文件名的$itself_exe变量。
图17. 设置持久性的方法
然后,该恶意软件启动剪切功能,即监控剪报板上的加密货币地址,并将其替换为由攻击者自己的加密货币地址。
图18. 剪切器功能
最后,virtual_launch_exe函数运行先前嵌入的可执行文件,这些文件是RAT,要么是NetSupport RAT、NetSupport RAT下载器,要么是hVNC。
图19. 运行嵌入式可执行文件的功能
自定义虚拟机中的处理程序ID
从前面几张截图中的第三列(或解码后的 "命令 "变量)可以看出,虚拟机实现了许多内部处理程序。其中大部分都与各种数据操作有关。我们在表1中列出了几个值得注意的处理程序,它们具有特定的高级功能。偷窃器实现的功能包括:剪贴(剪贴板内容替换)、键盘记录、文件执行和列出、杀死进程、窃取Chrome证书、检测空闲和检测虚拟机。然而,在我们的测试场景中,我们观察到窃密器大多只是设置持久性和提供额外的模块(远程访问工具)。
Handler ID | Function |
0x3E9 | Used for persistence (registry; HKCU) |
0x3EA | Used for persistence (registry; HKLM) |
0x3EB | Used for persistence (startup folder) |
0x3EC;0x3ED | Used for persistence (task scheduler) |
0x7d1 | Lists files |
0x579 | Starts clipper |
0x57A | Stops clipper |
0x12d | Puts the machine into sleep mode |
0x385 | Terminates process |
0x387 | Exits process |
0x388; 0x38B | Runs PE executable |
0x389 | Runs shellcode |
0x38A | Runs PE executable export routine |
0x76D | Gets current committed memory limit (ullTotalPageFile) |
0x76E | Gets the amount of actual physical memory (ullTotalPhys) |
0x641 | Steals sensitive data from Chromium |
0x259 | Checks if the machine is idle and if the cursor is not moving |
0x25B | Checks if the machine is idle and if no new process is being created |
0x25D | Checks if the machine idle and if no new window is being created |
0x835 | Starts keylogger |
0x836 | Starts keylogger for a certain period |
0x837 | Stops keylogger |
0x839 | Copies data (likely logs) then return 0x83a (klogs) |
0x1F5 | Retrieves VMWare via CPUID |
0x1f7 | Searches for 'virtual' in SYSTEM\\ControlSet001\\Services\\disk\\Enum |
0x83A | Writes file(s) to klogs// |
0x89a | Writes file(s) to screenshots\\ |
0x596 | Writes to clp\clp_log.txt |
0xf6 | Writes file(s) to chromium_creds\\ |
0xCE | Copies files to filesystem\\ |
0x321 | Creates messagemonitor window, which needed for the clipper |
0x322 | Destroys messagemonitor window, which is needed for the clipper |
0x5DC | Gets environment ID |
0x5E0 | Runs GetModuleFileNameW, which is needed for resolving $itself_exe |
表1. 虚拟机命令ID
图20. 在窃密器的二进制中实现的与键盘记录器有关的命令;在截图中也可以看到命令ID(0x835;0x837;0x836;0x839)
嵌入式模块
NetSupport RAT模块
一些嵌入式模块包含NetSupport RAT的client32.exe(SHA256 18DF68D1581C11130C139FA52ABB74DFD098A9AF698A250645D6A4A65EFCBF2D或SHA256 49A568F8AC11173E3A0D76CFF6BC1D4B9BDF2C35C6D8570177422F142DCFDBE3)文件。然而,这个单一的文件是不够的,因为NetSupport工具需要额外的DLL库和一个配置文件。请注意,这些缺失的文件已经被修改后的安装程序丢进了安装目录。
对于研究人员来说,最重要的文件叫做client32.ini,它包含重要的设置,如网关地址、网关密钥(GSK)和端口。
图21. NetSupport RAT的配置文件
NetSupport RAT下载器模块
一些嵌入式模块包含NetSupport RAT下载器(SHA256 C68096EB0A655924CA840EA1C71F9372AC055F299B52335AD10DDFA835F3633D)。这个下载器对URL的payload进行解密,然后下载并执行它。
图22. 解密后的下载器配置文件,额外的URL以清晰的文字显示出来
解密后的配置包含两个URL,一个通向包含NetSupport RAT的档案,就像之前的模块一样,而第二个则包含一些批处理脚本,显示的信息如图23中的信息。后来,这些批处理脚本中的一个下载了额外的窃密器。
图23. 告诉受害者等待程序安装的钓鱼信息
hVNC模块
一些嵌入式模块包含一个修改的hVNC模块F772B652176A6E40012969E05D1C75E3C51A8DB44712454975678F04DEDAAA。这个模块,除了标准的远程桌面功能外,还包含搜索以下加密货币相关的谷歌浏览器、微软Edge和火狐浏览器扩展(钱包)存在的例程:
Google Chrome extension ID | Extension name |
ffnbelfdoeiohenkjibnmadjiehjhajb | Yoroi |
ibnejdfjmmkpcnlpebklmnkoeoihofec | TronLink |
jbdaocneiiinmjbjlgalhcelgbejmnid | Nifty Wallet |
nkbihfbeogaeaoehlefnkodbefgpgknn | MetaMask |
afbcbjpbpfadlkmhmclhkeeodmamcflc | Math Wallet |
hnfanknocfeofbddgcijnmhnfnkdnaad | Coinbase Wallet |
fhbohimaelbohpjbbldcngcnapndodjp | Binance Wallet |
odbfpeeihdkbihmopkbjmoonfanlbfcl | Brave Wallet |
hpglfhgfnhbgpjdenjgmdgoeiappafln | Guarda Wallet |
blnieiiffboillknjnepogjhkgnoapac | Equall Wallet |
cjelfplplebdjjenllpjcblmjkfcffne | Jaxx Liberty |
fihkakfobkmkjojpchpfgcmhfjnmnfpi | BitApp Wallet |
kncchdigobghenbbaddojjnnaogfppfj | iWallet |
amkmjjmmflddogmhpjloimipbofnfjih | Wombat |
fhilaheimglignddkjgofkcbgekhenbh | Oxygen |
nlbmnnijcnlegkjjpcfjclmcfggfefdm | MyEtherWallet |
nanjmdknhkinifnkgdcggcfnhdaammmj | GuildWallet |
nkddgncdjgjfcddamfgcmfnlhccnimig | Saturn Wallet |
fnjhmkhhmkbjkkabndcnnogagogbneec | Ronin Wallet |
aiifbnbfobpmeekipheeijimdpnlpgpp | Station Wallet |
fnnegphlobjdpkhecapkijjdkgcjhkib | Harmony |
aeachknmefphepccionboohckonoeemg | Coin98 |
cgeeodpfagjceefieflmdfphplkenlfk | EVER Wallet |
pdadjkfkgcafgbceimcpbkalnfnepbnk | KardiaChain |
bfnaelmomeimhlpmgjnjophhpkkoljpa | Phantom |
fhilaheimglignddkjgofkcbgekhenbh | Oxygen |
mgffkfbidihjpoaomajlbgchddlicgpn | Pali |
aodkkagnadcbobfpggfnjeongemjbjca | BoltX |
kpfopkelmapcoipemfendmdcghnegimn | Liquality |
hmeobnfnfcmdkdcmlblgagmfpfboieaf | XDEFI |
lpfcbjknijpeeillifnkikgncikgfhdo | Nami |
dngmlblcodfobpdpecaadgfbcggfjfnm | MultiversX DeFi |
表2. 针对Chrome浏览器的扩展程序
Microsoft Edge extension ID | Extension name |
akoiaibnepcedcplijmiamnaigbepmcb | Yoroi |
ejbalbakoplchlghecdalmeeeajnimhm | MetaMask |
dfeccadlilpndjjohbjdblepmjeahlmm | Math Wallet |
kjmoohlgokccodicjjfebfomlbljgfhk | Ronin Wallet |
ajkhoeiiokighlmdnlakpjfoobnjinie | Terra Station |
fplfipmamcjaknpgnipjeaeeidnjooao | BDLT wallet |
niihfokdlimbddhfmngnplgfcgpmlido | Glow |
obffkkagpmohennipjokmpllocnlndac | OneKey |
kfocnlddfahihoalinnfbnfmopjokmhl | MetaWallet |
表3. 针对EDGE浏览器的扩展程序
Mozilla Firefox extension ID | Extension name |
{530f7c6c-6077-4703-8f71-cb368c663e35}.xpi | Yoroi |
ronin-wallet@axieinfinity.com.xpi | Ronin Wallet |
webextension@metamask.io.xpi | MetaMask |
{5799d9b6-8343-4c26-9ab6-5d2ad39884ce}.xpi | TronLink |
{aa812bee-9e92-48ba-9570-5faf0cfe2578}.xpi | |
{59ea5f29-6ea9-40b5-83cd-937249b001e1}.xpi | |
{d8ddfc2a-97d9-4c60-8b53-5edd299b6674}.xpi | |
{7c42eea1-b3e4-4be4-a56f-82a5852b12dc}.xpi | Phantom |
{b3e96b5f-b5bf-8b48-846b-52f430365e80}.xpi | |
{eb1fb57b-ca3d-4624-a841-728fdb28455f}.xpi | |
{76596e30-ecdb-477a-91fd-c08f2018df1a}.xpi |
表4. 针对火狐浏览器的扩展程序
在我们分析的样本中,命令和控制(C&C)通信以下列魔法开始:
图24. HVNC网络通信魔法
下面的片段显示,有些值是硬编码到可执行文件中的,其他的是由MachineGuid生成的或随机生成的。注意图25中看到的字符串 "7.7",这可能是修改后的hVNC版本。
图25. 生成hVNC数据包魔法的代码
总结
OpcJacker的控制者的使用动机看起来是出于经济利益,因为该恶意软件的主要目的是从钱包中窃取加密货币资金。然而,其多功能性也允许OpcJacker作为一个窃密器或恶意软件loader,这意味着它可以在其最初的预期用途之外被使用。
我们在样本中发现的活动ID,如 "test "和 "test_installs",表明OpcJacker可能仍处于开发和测试阶段。鉴于其独特的设计与各种类似虚拟机的功能相结合,该恶意软件有可能广受攻击者欢迎,因此可能在未来的威胁活动中使用。
from https://www.freebuf.com/articles/paper/363188.html
相关推荐
- Linux服务器被黑客入侵后各排查项及排除步骤
-
Linux入侵排查0x00前言当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故...
- [常用工具] Python视频处理库VidGear使用指北
-
VidGear是一个高性能的Python视频处理库,它在预载多个专业视频图像处理库的基础上,如OpenCV、FFmpeg、ZeroMQ、picamera、starlette、yt_dlp、pyscre...
- 微信公众号自动回复及多客服功能实现
-
目录前期准备1、微信公众平台基本设置2、开发所需参数功能步骤1、填写服务器配置2、验证服务器地址的有效性3、依据接口文档实现业务逻辑具体实现1、微信接入2、自定义回复及多客服接入默认微信公众平台对公众...
- 电脑病毒怎么彻底清理?这3个方法可以解决!
-
案例:电脑中毒无法正常使用怎么办?怎么清理电脑病毒?如何彻底清除病毒?有没有小伙伴知道解决的方法?在使用电脑的过程中,我们经常会遇到电脑中病毒的情况,它们能够通过各种渠道感染你的计算机系统,给你带来许...
- 人在低谷落难的时候,一定要记住的4句话
-
凌晨三点在便利店啃面包时,我看见邻座大哥对着手机里的存款余额发呆,手指在屏幕上划了又划——原来成年人的崩溃,真的会藏在每个看似普通的深夜里。如果你也正在经历「人生断电期」,这10句从谷底爬起来的人总结...
- Linux环境Docker容器安装与使用(六)——安装Hadoop大数据集群
-
简介:Hadoop是一种分析和处理大数据的软件平台,是Appach开源软件的一个架构,在大量计算机组成的集群当中实现了对于海量的数据进行的分布式计算。Hadoop框架最核心的设计就是HDFS和MapR...
- (2023年最新)50个超实用电脑实用快捷键,提高操作效率10倍!
-
我们现在大多数工作都需要使用电脑,掌握简单的电脑知识,可以更好的提高操作效率,熟能生巧是没错,但还有一个方法就是使用快捷键。办公室文员必备技能知识;基本要求:打字快,会office办公软件(word文...
- 升级WIN10毛病多?解决这些问题,轻松应对!
-
1、win10网络不稳定①打开设置,进入网络和INTERNET。②在“WLAN页面”选择“管理Wi-Fi设置”。③在此页面上有个管理已知网络,里面记录着之前电脑连接过的无线网络连接,点击“连接名称”,...
- 史上最贱最贱的电脑病毒!(最致命的电脑病毒)
-
看了标题,有很多人是充满好奇心进来的,想看看有多贱!我可以郑重的告诉你,贱到你想掐死黑客!下面我给你介绍一下这个病毒是怎么个贱法!因为我亲身体验了一把!前几天我不知道怎么回事,我电脑莫名其妙多了几...
- 五千字长文全平台笔记软件obsidian同步攻略&图床使用教程
-
全平台笔记软件obsidianobsidian(黑曜石)是一个全平台的笔记软件,基础笔记功能免费,如果使用官方的同步功能好像是收费(我也不确定,因为我甚至没登陆过obsidian的账号)。可以使用ma...
- 工业自动化2.0演进:具有自我意识的运动控制
-
工业自动化领域的下一个发展方向要求机器能够独立调整其性能参数,以完成工厂操作人员分配的任务,或根据生产力增强的人工智能(AI)算法的输入,对机器自身重新配置以优化其行为。具有自我意识的机器的价值在于,...
- 零信任的时代到来!VPN将逐渐被取代
-
转自NETWORKWORLD,作者NealWeinberg,蓝色摩卡译,合作站点转载请注明原文译者和出处为超级盾!传统的VPN正在被一种更智能、更安全的网络安全方法所取代,这种方法将每个人都视为不受...
- 电脑键盘指法+常用快捷键文字及图片详解
-
图1:20190820(整理)(较全面的在后面)Ctrl+N:新建文档F4:重复上述操作Esc:取消当前操作HOME:光标跳转行首END:光标跳转到行尾WIN+L:锁定桌面WIN+E:开启磁...
- VPN正在消亡,零信任万岁
-
转自NETWORKWORLD,作者NealWeinberg,蓝色摩卡译,合作站点转载请注明原文译者和出处为超级盾!传统的VPN正在被一种更智能、更安全的网络安全方法所取代,这种方法将每个人都视为不受...
- Windows自带的「黑科技」工具,能让你少装10个软件!
-
电脑装了一堆软件,桌面却还是乱糟糟?其实Windows系统里藏着一堆“神器”,无需第三方工具就能搞定截图、录屏、OCR文字提取、系统加速……这7个冷门但逆天的内置工具,专治“软件成瘾症”,看完立马卸载...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 如何绘制折线图 (52)
- javaabstract (48)
- 新浪微博头像 (53)
- grub4dos (66)
- s扫描器 (51)
- httpfile dll (48)
- ps实例教程 (55)
- taskmgr (51)
- s spline (61)
- vnc远程控制 (47)
- 数据丢失 (47)
- wbem (57)
- flac文件 (72)
- 网页制作基础教程 (53)
- 镜像文件刻录 (61)
- ug5 0软件免费下载 (78)
- debian下载 (53)
- ubuntu10 04 (60)
- web qq登录 (59)
- 笔记本变成无线路由 (52)
- flash player 11 4 (50)
- 右键菜单清理 (78)
- cuteftp 注册码 (57)
- ospf协议 (53)
- ms17 010 下载 (60)