在调查 NukeSped(一种远程访问木马)样本时,趋势科技研究人员发现几个 Bundlore 广告软件样本使用与 NukeSped 中发现的相同的无文件例程。

该后门可能是网络犯罪组织 Lazarus开发的,该组织至少自 2014 年以来一直活跃。 NukeSped 有多种变体,旨在在 32 位系统上运行并使用加密字符串来逃避检测。最近,作为 Lazarus 网络间谍活动的一部分,这种名为 ThreatNeedle 的木马程序出现了一种更复杂的形式。

在这些样本中发现的加密 Mach-O 文件已将 Bundlore(一种以下载合法应用程序为幌子在目标设备中安装广告软件的恶意软件家族)升级为更隐蔽且常驻内存的威胁。 Bundlore 还以 macOS 设备为目标,并与去年对 macOS Catalina 用户的攻击有关。北京时间2019年6月4日凌晨,在2019年WWDC全球开发者大会上,苹果macOS全新版本Catalina发布。将iTunes拆分为苹果音乐、苹果播客和苹果TV。

研究人员对 Lazarus 使用的 Ants2WhaleHelper 文件的分析导致研究人员将其检测为 NukeSped。 VirusTotal 中还发现了另一个具有 NukeSped 检测功能的文件 unioncryptoupdater。两者都包含一个看起来基于 GitHub 提交的例程。然而,奇怪的是,这些文件似乎都没有使用这个例程。

在 Ants2WhaleHelper 文件上使用 Interactive Disassembler Pro (IDA Pro) 显示其主要载荷为 _mapBuffer(图 1),它似乎是 _memory_exec 函数的修改版本(图 2)。这个函数看起来像是基于 GitHub 帖子中的代码;但是,没有指向 _memory_exec 函数的引用。

_mapBuffer 函数

从 GitHub 帖子复制的 _memory_exec 函数

此外,有效载荷有一个 _resolve_symbol 函数,它似乎没有被使用。它似乎也不是必需的,如图 3 所示。NukeSped 通常从 Web 服务器检索和启动其有效载荷,因此它不需要多余的 _resolve_symbol 函数,该函数在内部定位数据。如图4所示,在VirusTotal上搜索这个函数的操作代码会在201个文件中检测到它。结果只产生了两个NukeSped样品,而其余的是Bundlore样本。

NukeSped(左)与 Bundlore(右)的 _resolve_symbol 函数


搜索到的操作码

类似地,使用 VirusTotal 的 Retrohunt 进行搜索得到 273 个结果;其中大部分是 Bundlore 文件,只有三个是 Nukesped 文件。但是,这些 Nukesped 样本中的一个被验证为来自先前搜索的 Nukesped 文件的父级。在发现的 Bundlore 样本中,最古老的样本可以追溯到去年 5 月。对来自 VirusTotal 查询的这些 Bundlore 样本的进一步调查显示,这些样本确实使用了无文件例程,使 Bundlore 能够直接从内存中执行有效载荷。

Bundlore 的无文件例程

研究人员对 Bundlore 样本的研究表明,它们利用了 NukeSped 样本中未使用的相同功能。如图 5 所示,它们被混淆了,因为在 IDA Pro 中反汇编时它们的名称是随机的。虽然函数有一些差异,但内存文件执行的例程保持不变(图 6 和 图8)。


混淆函数

NukeSped(左列)与 Bundlore(右列)样本的反汇编

其中一个 Bundlore 样本(sha256:0a3a5854d1ae3f5712774a4eebd819f9e4e3946f36488b4e342f2dd32c8e5db2)的主要例程如下:

解密 __DATA.__data 部分以显示嵌入的 Mach-O 文件,如图 7 所示。 解密使用每个周期递增的 XOR 密钥:例如,0xDD 递增 0x2A、0xDD、0x00、0x2A、0x54, 0x7E、0xA8、0xD2、0xFC、0x00 等等。
__DATA.__data部分的解密例程

调用一个名为 NSCreateObjectFileImageFromMemory 的函数从内存中的 Mach-O 文件创建一个广告软件图像。之后,调用 NSLinkModule 将恶意图像链接到主可执行文件的图像库。 Mach-O 文件格式从可执行文件 (0x02) 更改为包 (0x08),然后才能调用 NSCreateObjectFileImageFromMemory,如图 6 所示。

在内存中解析 Mach-O 文件的头结构以获取 value(LC_MAIN),一个值为 0x80000028 的加载命令。该命令包含诸如 Mach-O 文件入口点的偏移量之类的数据(图 8)。之后,广告软件检索偏移量并转到入口点。


在 NukeSped(左列)与 Bundlore(右列)中查找恶意图像的入口点

Bundlore 的 Mach-O 文件在内存中运行

解密密钥和增量值在 Bundlore 样本中有所不同,为了更好地理解嵌入文件,研究人员创建了一个 Python 脚本来解密和提取嵌入的 Mach-O 文件。通过这样做,研究人员能够观察到一个这样解密的 Mach-O 文件(sha256:a7b6639d9fcdb13ae5444818e1c35fba4ffed90d9f33849d3e6f9b3ba8443bea),它连接到一个目标URL (13636337101185210173363631[.]cloudfront[.]net/?cc-00&),但是地址在不同的样本中是不同的。然后下载一个名为 Player.app 的应用程序包,它伪装成 Flash Player,然后被下载并解压缩到 /tmp 目录中。 chmod 777 命令用于提取的应用程序包,然后启动伪造的应用程序。在执行这些例程时,Bundlore 会显示一条欺诈性错误消息(图 10)。完成后,它通过调用 sleep 函数并重复循环来休眠。

解密后的 Mach-O 文件的主要程序

【分享网络安全学习资料与全套工具哟】

你知道吗,NukeSped 通过 Bundlore 发起了一种新型攻击相关推荐

  1. 从Share your mind到RPO 攻击

    前言 强网杯初赛已经告一段落,大佬们的wp也逐渐放出,这篇博客就从强网杯初赛web的Share your mind这题来探讨一下RPO 攻击~ 前置链接: 题目名称:Share your mind 第 ...

  2. web前端黑客技术揭秘(5)

    前端黑客之界面操作劫持 界面操作劫持是近几年Web安全领域发展起来的一种新型攻击方法,其影响非常广泛, Twitter.Facebook等国际知名网站都先后受到过这种攻击.2010年,国外安全机构统计 ...

  3. AI无间道!清华AI团队推出AI安全平台,欺骗顶尖人脸算法后又强势修复漏洞

    文末有干货 "Python高校",马上关注 真爱,请置顶或星标 量子位 编辑 | 公众号 QbitAI 随着人工智能技术的发展,人工智能在很多场景里正逐渐替代或协作着人类的各种劳动 ...

  4. How You Get Shot in the Back: A Systematical Study about Cryptojacking in the Real World

    •Introduction 加密劫持就是通过Web网页消耗客户端计算机上的计算资源来解决加密难题,从而为攻击者的挖矿提供额外的工作量,并且这种行为通常不会通知用户或者经过明确的用户同意.这种新机制就称 ...

  5. 元境技术助力元宇宙营销 联合发起商广协元宇宙营销研究院

    2022年11月28日,以"跨越周期"为主题的第十届中国数字营销峰会正式举行.中国商务广告协会元宇宙营销应用研究院(以下简称:元宇宙研究院)正式揭牌成立,由阿里巴巴元境.百度.蓝色 ...

  6. 物联网僵尸网络再次发起大规模攻击事件回顾

    执行摘要 随着物联网的不断发展,物联网安全也被越来越多的人所关注.我们于 2016 年发布<物联网安全 白皮书>,进行物联网安全的科普介绍:于 2017 年发布<2017 物联网安全 ...

  7. [译] APT分析报告:10.Lazarus以ThreatNeedle家族攻击工业事件还原(BMP图片隐藏RAT)

    这是作者新开的一个专栏,主要翻译国外知名安全厂商的APT报告,了解它们的安全技术,学习它们溯源APT组织和恶意代码分析的方法,希望对您有所帮助.当然,由于作者英语有限,会借助机翻进行校验,还请包涵!前 ...

  8. 年中盘点:详细分析2019年上半年爆发的macOS恶意软件

    概述 自从我们在去年12月对2018年的macOS恶意软件进行年终盘点以来,我们发现新型macOS恶意软件的爆发数量有所增加.一些旧恶意软件家族产生了新的变种,一些恶意软件使用了新的技巧,同时还产生了 ...

  9. 浅谈几种区块链网络攻击以及防御方案之日蚀攻击

    旧博文,搬到 csdn 原文:http://rebootcat.com/2020/04/12/network_attack_of_blockchain_eclipse_attack/ 写在前面的话 自 ...

最新文章

  1. 用UltraISO制作支持windows 7的U盘启动盘
  2. angular(3)服务 --注入---自定义模块--单页面应用
  3. P1288 取数游戏II
  4. Linux下的各文件夹的作用(转)
  5. 华为鸿蒙手机beta版,鸿蒙2.0 Beta手机版来了!明年将全面支持华为手机
  6. IBM PHP教程链接
  7. 客户服务支持管理软件—工单管理
  8. springmvc源码阅读3--dispatcherServlet reqeust的执行流程
  9. 科恒khs202温控器使用说明书_STC-9200温控器使用说明书——精创温控器
  10. LBP算法及其改进算法
  11. DISC社交风格测试题--老虎 孔雀 考拉 猫头鹰
  12. Django3.0使用-国际化语言
  13. DAC7724数模转换芯片小结
  14. python接私活王者_[宜配屋]听图阁
  15. 全屋智能抢占“中控”,华为、海尔、小米们谁离用户最近?
  16. 盘点国产青春电影十宗罪
  17. 从企业微信、钉钉、班聊、纷享逍客,看企业服务
  18. Sobel算子的数学基础
  19. (转)VC++之系统控制之设置显示系统当前时间
  20. 【Unity3D实现自定义调色板】

热门文章

  1. TF学习——TF之API:TensorFlow的高级机器学习API—tf.contrib.learn的简介、使用方法、案例应用之详细攻略
  2. ML之SVM:随机产生100个点,建立SVM模型,找出超平面方程
  3. docker 配置阿里云镜像加速
  4. JAVA 解析xml字符串
  5. Quartz格式设置说明
  6. 转 多租户SaaS架构
  7. iOS 设置状态栏样式
  8. 技巧/诀窍:在ASP.NET中重写URL
  9. C语言中函数可变参数解析
  10. 用route命令解决Wifi和网卡不能同时上内外网问题