暴涨3倍!通过受感染 USB 窃密的事件愈发变多

2023 年上半年,Mandiant 观察到使用受感染 USB 驱动器窃取机密数据的事件至少增加了3倍。此前,Mandiant 披露了在菲律宾的一次攻击行动。本文将会介绍研究人员发现的两外两次基于 USB 驱动器的网络间谍行动。

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

通过 USB 闪存驱动器感染 SOGU 恶意软件

这是使用 USB 闪存驱动器的间谍攻击,也是针对全球各行业垂直领域的公共与私营部门的攻击行动。攻击者使用 USB 闪存驱动器加载 SOGU 恶意软件,来窃取主机的敏感信息。

Mandiant 将攻击行动归因于 TEMP.Hex 攻击团伙,针对欧洲、亚洲与美国的多个行业进行攻击,对建筑、工程、商业服务、政府、卫生、运输与零售行业构成威胁。

通过 USB 闪存驱动器传播 SNOWYDRIVE 恶意软件

攻击者使用 USB 闪存驱动器传播 SNOWYDRIVE 恶意软件。一旦加载成功,就会在失陷主机上创建后门,攻击者可以远程发送命令,使恶意软件传播到其他闪存驱动器上以在整个网络中扩散。

Mandiant 将攻击行动归因于 UNC4698,这是一个针对亚洲石油与天然气公司进行攻击的团伙。一旦获取了访问权限,就可以执行任意命令、修改注册表等。

SOGU 恶意软件

研究人员首先发现该攻击行动,在攻击者用于存放恶意软件、攻击工具或实用程序的开放目录中寻找可疑文件写入。

image.png-344.5kB受害者国家分布

image.png-212.8kB受害者行业分布

最初的感染

受感染的 USB 闪存驱动器是最初始的感染媒介,其中包含多个恶意软件,旨在通过 DLL 劫持将恶意 Payload 加载到内存中。

image.png-136.6kB攻击链

立足点

完整的感染链通常由三个文件组成:合法的可执行文件、恶意 DLL 加载文件与加密的 Payload 文件。如下显示了整个攻击周期发现的恶意软件文件与路径:

image.png-43.6kB常利用的合法可执行文件为安全软件

在合法的可执行文件执行时,会加载一个恶意 DLL 文件(KORPLUG)。随后 KORPLUG 将会加载加密的 dat 文件中的 Shellcode 数据,并在内存中执行。Shellcode 是一个用 C 语言编写的后门,被命名为 SOGU。

侦察

通过将批处理文件放入 RECYCLE.BIN 路径下继续进行侦察。该批处理文件会探测主机并将结果输出到名为 c3lzLmluZm8 的文件中。通过 base64 解码后,c3lzLmluZm8 为 sys.info。脚本执行以下命令收集系统特定元数据:

  • tasklist /v
  • arp -a
  • netstat -ano
  • ipconfig /all
  • systeminfo

随后,恶意软件会在 C 盘检索以下扩展名的文件:

  • .doc
  • .docx
  • .ppt
  • .pptx
  • .xls
  • .xlsx
  • .pdf

恶意软件会加密每个文件的副本,并且使用 base64 对原始文件名进行编码,再将加密的文件放入以下目录:

  • C:\Users\AppData\Roaming\Intel\
  • :\RECYCLER.BIN\

持久化

为了保持持久化,恶意软件需要创建一个伪装成合法程序的目录,并将该目录的属性设置为隐藏。然后,将主要组件都复制到该目录下。常用的文件路径如下所示:

  • C:\ProgramData\AvastSvcpCP
  • C:\ProgramData\AAM UpdatesHtA
  • C:\ProgramData\AcroRd32cWP
  • C:\ProgramData\Smadav\SmadavNSK

随后创建一个与之前创建的目录同名的 Run 注册表项,该表项用于在用户登录时自动运行程序:

  • Value: AvastSvcpCP
  • Text: C:\ProgramData\AvastSvcpCP\AvastSvc.exe
  • Value: AAM UpdatesHtA
  • Text: C:\ProgramData\AAM UpdatesHtA\AAM Updates.exe
  • Value: AcroRd32cWP
  • Text: C:\ProgramData\AcroRd32cWP\AcroRd32.exe
  • Value: SmadavNSK
  • Text: C:\ProgramData\Smadav\SmadavNSK\Smadav.exe

某些 SOGU 变种,可能会创建一个额外的计划任务(SCHTASKS.exe /create /sc minute /mo 10 /tn “Autodesk plugin” /tr “”““C:\ProgramData\Smadav\SmadavNSK\Smadav.exe””" 644" /f)。每十分钟运行一次恶意软件,以进行持久化。

完成任务

攻击的最后阶段,恶意软件将会回传所有数据。通信使用 HTTP、HTTPS、TCP 或者 UDP 的自定义协议以及 ICMP。该恶意软件还支持多种命令,包括文件传输、文件执行、远程桌面、屏幕截图、反向 Shell 与键盘记录。

该恶意软件还可以复制到失陷主机新的可移动设备上,使恶意软件能够传播到其他设备,这样也能够穿越气隙网络回传数据。

SNOWYDRIVE 攻击亚洲石油与天然气公司

用户被引诱在 USB 驱动器上执行恶意软件时,通常会发现命令行检索可疑文件夹路径。虽然这种类型的威胁并不罕见,但研究人员坚持发现了特殊的间谍行动。

最初的感染

受感染的 USB 闪存驱动器是初始感染媒介,受害者被引诱点击为转成合法可执行文件的恶意软件。执行后,就会触发一系列恶意行为。

image.png-587.2kB攻击链

立足点

感染链通常从可执行文件开始,将恶意文件写入磁盘并启动。例如,名为 USB Drive.exe 的恶意程序将以下加密文件写入 C:\Users\Public\SymantecsThorvices\Data:

  • aweu23jj46jm7dc
  • bjca3a0e2sfbs
  • asdigasur3ase
  • sf33kasliaeae
  • sf24acvywsake

加密文件包含在目录 C:\Users\Public\SymantecsThorvices\Bin 中提取与写入的可执行文件和 DLL 文件。

image.png-176.6kB组件情况

这些文件一共分为四个部分,每部分都是由合法的可执行文件通过 DLL 顺序劫持加载的恶意 DLL 文件组成。如下所示,每个组件负责攻击中的一部分任务。

image.png-137.6kB组件列表

命令与控制

名为 SNOWYDRIVE 的基于 Shellcode 的后门会根据系统名称、用户名与卷序列号生成唯一标识。该标识符会在 C&C 通信时被当成唯一 ID,而且 C&C 域名通常被硬编码在 Shellcode 中。

image.png-480.5kB硬编码域名

后门支持以下命令:

image.png-64.4kB支持命令

持久化

恶意软件使用 HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\ushsguaei1hgba 注册表项进行持久化,存储 Silverlight.Configuration.exe 的路径。

横向平移

该恶意软件会将自身复制并插入失陷主机的可移动驱动器中。首先创建文件夹 <drive_root>\Kaspersky\Usb Drive\3.0,再复制包含恶意组件的加密文件。从文件 aweu23jj46jm7dc中提取可执行文件并写入 <drive_root>\<volume_name> .exe,该文件负责提取并执行加密文件的内容。

影响

Mandiant 确定打印店、印刷店与酒店都是攻击的重点,这些攻击可能都是长期收集信息的一部分,也可能是针对国家级攻击者后续行动的一部分。

组织应该优先考虑对 USB 驱动器等外部设备的访问进行限制,如果不能限制则至少应该先扫描是否存在恶意代码。

Yara

SOGU

rule M_Code_SOGU{meta:author = "Mandiant"description = "Hunting rule for SOGU"sha256 = "8088b1b1fabd07798934ed3349edc468062b166d5413e59e78216e69e7ba58ab"strings:$sb1 = { 8B [2] C7 ?? 01 03 19 20 8B [2] C7 ?? 04 01 10 00 00 8B [2] C7 ?? 08 00 00 00 00 8B [2] C7 ?? 0C 00 00 00 00 0F B7 }$sb2 = { 8B ?? 0C C7 ?? 01 03 19 20 8B ?? 0C C7 ?? 04 00 10 00 00 6A 40 E8 [4] 83 C4 04 8B ?? 0C 89 ?? 08 8B ?? 0C C7 ?? 0C 00 00 00 00 C7 [2] 00 00 00 00 EB 09 8B [2] 83 ?? 01 89 [2] 8B ?? 0C 8B [2] 3? ?? 08 7? ?? 68 FF 00 00 00 E8 [4] 83 C4 04 8B [2] 03 [2] 88 ?? 10 EB D4 }condition:(uint16(0) == 0x5A4D) and (uint32(uint32(0x3C)) == 0x00004550) and (uint16(uint32(0x3C)+0x18) == 0x010B) and all of them}

FROZENHILL

rule M_Code_FROZENHILL {meta:author = "Mandiant"description = "Hunting rule for FROZENHILL"sha256 = "89558b4190abcdc1a2353eda591901df3bb8856758f366291df85c5345837448"strings:$str1 = "path_symantec" ascii$str2 = "symantec_dir" ascii$str3 = "name_svchost" ascii$str4 = "run_cmd" ascii$str5 = "usb_dll_name" ascii$str6 = "name_mutex" ascii$str7 = "cmd /c \"%s\" %d" wide$str8 = { 8B 85 [4] 83 ?? 01 89 85 [4] 8B 85 [4] 3B 45 0C 74 ?? 8B 45 ?? 03 85 [4] 0F B6 08 33 8D [4] 81 E1 [4] 8B 95 [4] C1 EA ?? 33 94 8D [4] 89 95 [4] EB } condition:uint16(0) == 0x5A4D and uint32(uint32(0x3C)) == 0x00004550 and all of them}

ZIPZAG

rule M_Code_ZIPZAG{meta:author = "Mandiant"description = "Hunting rule for ZIPZAG"sha256 = "8a968a91c78916a0bb32955cbedc71a79b06a21789cab8b05a037c8f2105e0aa"strings:$str1 = { C6 45 ?? 55 C6 45 ?? 8B C6 45 ?? EC C6 45 ?? 81 C6 45 ?? EC C6 45 ?? 08 C6 45 ?? 01 C6 45 ?? 00 C6 45 ?? 00 C6 45 ?? C7 C6 45 ?? 45 C6 45 ?? FC C6 45 ?? 78 C6 45 ?? 56 C6 45 ?? 34 C6 45 ?? 12 C6 45 ?? 68 C6 45 ?? 04 C6 45 ?? 01 C6 45 ?? 00 C6 45 ?? 00 C6 45 ?? 8D C6 45 ?? 85 C6 45 ?? F8 C6 45 ?? FE C6 45 ?? FF C6 45 ?? FF C6 45 ?? 50 C6 45 ?? FF C6 45 ?? 75 C6 45 ?? FC C6 45 ?? B8 C6 45 ?? 79 C6 45 ?? 56 C6 45 ?? 34 C6 45 ?? 12 C6 45 ?? FF C6 45 ?? D0 C6 45 ?? FF C6 45 ?? 75 C6 45 ?? FC C6 45 ?? B8 C6 45 ?? 7A C6 45 ?? 56 C6 45 ?? 34 C6 45 ?? 12 C6 45 ?? FF C6 45 ?? D0 C6 45 ?? 8D C6 45 ?? 85 C6 45 ?? F8 C6 45 ?? FE C6 45 ?? FF C6 45 ?? FF C6 45 ?? 50 C6 45 ?? B8 C6 45 ?? 7B C6 45 ?? 56 C6 45 ?? 34 C6 45 ?? 12 C6 45 ?? FF C6 45 ?? D0 C6 45 ?? C9 C6 45 ?? C3 } $str2 = "shellcode_size" asciicondition:uint16(0) == 0x5A4D and uint32(uint32(0x3C)) == 0x00004550 and all of them}

SNOWYDRIVE

rule M_Code_SNOWYDRIVE{meta:author = "Mandiant"description = "Hunting rule for SNOWYDRIVE"sha256 = "964c380bc6ffe313e548336c9dfaabbd01a5519e8635adde42eedb7e1187c0b3"strings:$str1 = { C6 45 ?? 6B C6 45 ?? 65 C6 45 ?? 72 C6 45 ?? 6E C6 45 ?? 65 C6 45 ?? 6C C6 45 ?? 33 C6 45 ?? 32 C6 45 ?? 2E C6 45 ?? 64 C6 45 ?? 6C C6 45 ?? 6C } $str2 = { C6 45 ?? 47 C6 45 ?? 65 C6 45 ?? 74 C6 45 ?? 50 C6 45 ?? 72 C6 45 ?? 6F C6 45 ?? 63 C6 45 ?? 41 C6 45 ?? 64 C6 45 ?? 64 C6 45 ?? 72 C6 45 ?? 65 C6 45 ?? 73 C6 45 ?? 73 } $str3 = { C6 85 ?? FD FF FF 4C C6 85 ?? FD FF FF 6F C6 85 ?? FD FF FF 61 C6 85 ?? FD FF FF 64 C6 85 ?? FD FF FF 4C C6 85 ?? FD FF FF 69 C6 85 ?? FD FF FF 62 C6 85 ?? FD FF FF 72 C6 85 ?? FD FF FF 61 C6 85 ?? FD FF FF 72 C6 85 ?? FD FF FF 79 C6 85 ?? FD FF FF 41 } $str4 = { C6 85 ?? FC FF FF 57 C6 85 ?? FC FF FF 61 C6 85 ?? FC FF FF 69 C6 85 ?? FC FF FF 74 C6 85 ?? FC FF FF 46 C6 85 ?? FC FF FF 6F C6 85 ?? FC FF FF 72 C6 85 ?? FC FF FF 53 C6 85 ?? FD FF FF 69 C6 85 ?? FD FF FF 6E C6 85 ?? FD FF FF 67 C6 85 ?? FD FF FF 6C C6 85 ?? FD FF FF 65 C6 85 ?? FD FF FF 4F C6 85 ?? FD FF FF 62 C6 85 ?? FD FF FF 6A C6 85 ?? FD FF FF 65 C6 85 ?? FD FF FF 63 } condition:uint16(0) != 0x5A4D and uint32(0) != 0x464c457f and uint32(0) != 0xBEBAFECA and uint32(0) != 0xFEEDFACE and uint32(0) != 0xFEEDFACF and uint32(0) != 0xCEFAEDFE and all of them}

狩猎规则

rule hunting_T1091_User Execution: Malicious File{meta:rule_name = "Replication Through Removable Media"description = "This rule detects a file write event from a RECYCLER/S named path to another directory"author = "Mandiant Managed Defense"mitre_technique_name = "User Execution: Malicious File"mitre_technique = "T1204"mitre_tactic_name = "Execution"platform = "Windows"events:   $e.target.process.path = ":\RECYCLER.BIN\" nocase or$e.target.process.path = ":\RECYCLERS.BIN\" nocase}condition:$e}rule hunting_T1091_Replication_Through_Removable_Media{meta:rule_name = "Replication Through Removable Media"description = "This rule detects windows explorer process execution with a suspicious folder path specified on the command line"author = "Mandiant Managed Defense"mitre_technique_name = "Replication Through Removable Media"mitre_technique = "T1091"mitre_tactic_name = "Lateral Movement,Initial Access"platform = "Windows"events:$e.target.process = "explorer.exe" and{re.regex($e.principal.process.command_line, = `/explorer.exe?(\")?\s+(\")?[A-BD-Za-bd-z]:\\/`) nocase andre.regex($e.principal.process.full_path, `:\\[^\\]+\.exe$`) nocase}condition:$e}

IOC

ebb7749069a9b5bcda98d89f04d889db
b061d981d224454ffd8d692cf7ee92b7
38baabddffb1d732a05ffa2c70331e21
FC55344597d540453326d94eb673e750
028201d92b2b41cb6164430232192062
722b15bbc15845e4e265a1519c800c34
ab5d85079e299ac49fcc9f12516243de
848feec343111bc11cceb828b5004aad
e1cea747a64c0d74e24419ab1afe1970
www.beautyporntube[.]com
45.142.166[.]112
103.56.53[.]46
45.251.240[.]55
43.254.217[.]165

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/126755.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Verilog】7.2.1 Verilog 并行 FIR 滤波器设计

FIR&#xff08;Finite Impulse Response&#xff09;滤波器是一种有限长单位冲激响应滤波器&#xff0c;又称为非递归型滤波器。 FIR 滤波器具有严格的线性相频特性&#xff0c;同时其单位响应是有限长的&#xff0c;因而是稳定的系统&#xff0c;在数字通信、图像处理等领域…

nginx 转发数据流文件

1.问题描述 后端服务&#xff0c;从数据库中查询日志&#xff0c;并生成表格文件返回静态文件。当数据量几兆时&#xff0c;返回正常&#xff0c;但是超过几十兆&#xff0c;几百兆&#xff0c;就会超过网关的连接超时时间30秒。 时序图 这里面主要花费时间的地方在&#xff…

从零开始的目标检测和关键点检测(二):训练一个Glue的RTMDet模型

从零开始的目标检测和关键点检测&#xff08;二&#xff09;&#xff1a;训练一个Glue的RTMDet模型 一、config文件解读二、开始训练三、数据集分析四、ncnn部署 从零开始的目标检测和关键点检测&#xff08;一&#xff09;&#xff1a;用labelme标注数据集 从零开始的目标检测…

领先实践|IDEO 最佳设计思维和策略框架

设计思维是一种以人为本的创新方法&#xff0c;它从人类的角度出发&#xff0c;考虑技术上可行和经济上可行的内容。框架可以成为实现设计思维、策略和系统设计的有用工具。本文由此展开阐述 IDEO 的最佳设计思维和策略框架。 01. 设计思维框架 1.1 设计思维过程 设计思维?是…

python3 阿里云api进行巡检发送邮件

python3 脚本爬取阿里云进行巡检 不确定pip能不能安装上&#xff0c;使用时候可以百度一下&#xff0c;脚本是可以使用的&#xff0c;没有问题的 太长时间了&#xff0c;pip安装依赖忘记那些了&#xff0c;使用科大星火询问了下&#xff0c;给了下面的&#xff0c;看看能不能使…

X64(64位)汇编指令与机器码转换原理

X64&#xff08;64位&#xff09;汇编指令与机器码转换原理 1 64位寻址形式下的ModR/M字节1.1 寻址方式1.2 寄存器编号 2 汇编指令转机器码2.1 mov rcx, 1122334455667788h2.2 mov rcx,[r8]与mov [r8],rcx2.3 mov rcx,[r8r9*2] 本文属于《 X86指令基础系列教程》之一&#xff…

9.MySQL索引的操作

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 目录 索引操作 查询索引 创建主键索引 唯一索引的创建 普通索引的创建 全文索引的创建 删除索引 索引创建原则 索引操作 查询索引 第一种方法&#xff1a; show keys from 表名\G 我们了解其中几个就好。 第二种方法…

双目视觉检测 KX02-SY1000型测宽仪 有效修正和消除距离变化对测量的影响

双目视觉检测的基本原理 利用相机测量宽度时&#xff0c;由于单个相机在成像时存在“近大远小”的现象&#xff0c;并且单靠摄入的图像无法知道被测物的距离&#xff0c;所以由被测物的跳动导致的被测物到工业相机之间距离变化&#xff0c;使测量精度难以提高。 因此测宽仪需…

项目综合实训,vrrp+bfd,以及策略路由的应用

目录 一&#xff0e; 项目需求 二&#xff0e; Visio设备画图 三&#xff0e; 设备选型 三&#xff0e;vlan规划 四&#xff0e;Ip地址规划 五&#xff0e;实验拓扑图 六&#xff0e;配置过程及结果 项目需求 1.S1作为VLAN10的主网关和根桥&#xff0c;S2作为v…

【C语法学习】5 - fputc()函数

文章目录 1 函数原型2 参数3 返回值4 示例4.1 示例14.2 示例24.3 示例3 1 函数原型 fputc()&#xff1a;将一个字符发送至指定流stream&#xff0c;函数原型如下&#xff1a; int fputc(int c, FILE *stream);2 参数 fputc()函数有两个参数c和stream&#xff1a; 参数c是待…

Servlet

Servlet是运行在服务端的小型Java程序&#xff0c;是sun公司提供一套规范&#xff0c;用来处理客户端请求&#xff0c;响应给浏览器的动态资源。但servlet的实质就是Java代码&#xff0c;通过Java的API动态的向客户端输出内容&#xff08;HTML&#xff09; 一、使用servlet2.5实…

量化交易Copula建模应对市场低迷

一、简介 传统上,我们依靠相关矩阵来理解资产间的动态。然而,正如过去的市场崩盘所表明的那样,当风暴袭来时,许多模型都会陷入混乱。突然之间,相关性似乎趋于一致,而多样化这一经常被吹捧的风险管理口号似乎并没有提供什么庇护。 这种出乎意料的同步,即资产在经济低迷时…

虹科分享 | 太赫兹成像技术透视分层结构助力文物研究

文章来源&#xff1a;虹科光电Hophotonix 阅读链接&#xff1a;虹科分享 | 太赫兹成像技术透视分层结构助力文物研究 对于时间分辨成像方法来说&#xff0c;分层结构的无创检测具有挑战性&#xff0c;其中分辨率和对比度可能会因层间反射和色散的突出信号衰减而受到影响。在一…

【Java 进阶篇】Java Response 输出字符数据案例

在Java Web开发中&#xff0c;使用HTTP响应对象&#xff08;Response&#xff09;来向客户端发送数据是一项非常重要的任务。本篇博客将详细介绍如何使用Java中的Response对象来输出字符数据&#xff0c;并提供示例代码以帮助读者更好地理解和应用这一概念。不仅将讨论基础知识…

Redis 原理缓存过期、一致性hash、雪崩、穿透、并发、布隆、缓存更新策略、缓存数据库一致性

redis过期策略 redis的过期策略可以通过配置文件进行配置 一、定期删除 redis会把设置了过期时间的key放在单独的字典中&#xff0c;定时遍历来删除到期的key。 1&#xff09;.每100ms从过期字典中 随机挑选20个&#xff0c;把其中过期的key删除&#xff1b; 2&#xff09;.…

MS3142电机驱动器可兼容LV8548M

MS3142/MS3142S 是一个双全桥电机驱动。可兼容LV8548M&#xff08;功能基本一致&#xff0c;管脚不兼容&#xff09;。电源电压供电范围 4V 到 18V&#xff0c;平均电流 1.1A&#xff0c;电流峰值 1.54A。如果需要更高的电流能力&#xff0c;可以将双全桥并联使用。 四个输入脚…

11月的『备考学习计划』+高效的作息时间表 超好用~

每日作息时间表 每天有三个时间段学习效率高 上午10点左右 下午4点左右 晚上8点-10点左右 坚持住了&#xff0c;学习效果事半功倍 有同感的同学 可以举举手&#x1f91a;&#xff0c;点点赞&#x1f493; 每日作息时间表 6:30-7:00起床 6:30---7:00是起床的最佳时刻&am…

Spring中Bean的完整生命周期!(Bean实例化的流程,Spring后处理器,循环依赖解释及解决方法)附案例演示

Bean实例化的基本流程 加载xml配置文件&#xff0c;解析获取配置中的每个的信息&#xff0c;封装成一个个的BeanDefinition对象将BeanDefinition存储在一个名为beanDefinitionMap的Map<String,BeanDefinition>中ApplicationContext底层遍历beanDefinitionMap&#xff0c…

虚拟人运营系统介绍丨支持实时互动/直播/短视频创作,赋能元宇宙营销

2023年&#xff0c;以虚拟人为代表的元宇宙营销成为品牌营销黑马。 品牌通过虚拟人IP运营&#xff0c;形成具有一定影响力的品牌效应&#xff0c;围绕“内容持续输出——粉丝沉淀——优质运营——商业变现”的创新模式&#xff0c;打破同质化营销形式&#xff0c;利用虚拟人IP以…

Flask——接口路由技术

接口路由技术 一、Flask 简介1、环境安装&#xff1a;2、一个最小的应用3、两种运行方式 二、定义路由1、普通路由2、动态路由3、限定类型4、地址尾部的“/” 三、请求与响应-请求方法四、请求与响应-处理请求数据1、request的常用属性/方法2、get 请求参数3、json 请求4、表单…