macOS 上常见的七种混淆技术

macOS 平台的威胁日渐增多,攻击者也越来越重视针对该平台的用户的攻击,本文将会介绍七种 macOS 上常见的混淆技术。

混淆的 Shell 脚本

Shell 脚本可能是 Linux 平台下最常见的恶意文件,在 macOS 上也不遑多让。许多恶意软件都将 Shell
脚本作为应用程序中的可执行文件,如下所示。

混淆的
Shell 脚本

也有攻击者直接将脚本内置在镜像文件中,通过别名来诱导用户执行:

image.png-290.6kB文件中的脚本

在安装镜像文件时,会看到教育用户打开恶意软件并绕过内置的 Gatekeeper 安全机制。

image.png-305.1kB提示信息

要求用户点击的安装 PKG 图标其实是一个隐藏目录中的 Shell 脚本的别名,名称为 .hidden。该脚本经过轻微混淆,在 /tmp 目录下使用随机
12 个字符创建一个目录后,会完成去混淆执行并删除从同一目录中的数据文件中提取的可执行文件。

/bin/bash -c eval  '$(echo ' openssl enc -aes-256-cbc -d -A -base64 -k \ '$archive\'  - in \ '$appDir/$archive\' -out \ '$ tmpDir/$binFile\' xattr -c \ '$tmpDir/\' * chmod 777\ '$tmpDir/$binFile\' \ '$tmpDir/$binFile\' && rm -rf $tmpDir ')'

混淆的 SHC

Shell Script Compiler 是将 Bash 脚本编译生成可执行文件的技术,尽管这些可执行文件并不能做到完全独立,仍然需要执行环境中包含指定的
Shell。

image.png-260.5kBShell
Script Compiler

SHC 的 -U 参数可以使编译后的二进制文件无法使用 ptrace 进行跟踪,-e 参数支持设置程序终止运行的到期日期。如果使用不同的 -e
参数,相同的脚本就可以生成不同哈希的二进制文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9hmKEZKp-1691891699746)(https://image.3001.net/images/20230212/1676169867_63e8528b106f995d563be.png!small)]Shell
Script Compiler

SHC 被 SCSSET 恶意软件大量使用,在野能够持续发现相关样本。从攻击者的角度来看,使得编写无法通过静态分析读取的恶意脚本变得非常简单。而且,通过
-e 参数还能够无限生成不同哈希值的样本文件。

image.png-333.2kBShell
Script Compiler

发现 SHC 编译的二进制文件,唯一的方法就是通过沙盒执行观察其行为。静态检测发现 SHC
编译的二进制文件时可以将其认为是可疑的,编译器生成的独特字符串也利于检测,但实际上只有通过执行才能准确区分是否恶意。

混淆的 Python 脚本

苹果公司已经在 Monterey 12.3 及更高版本的 macOS 设备上取消了对 Python 2.7 的支持,所以针对 macOS 平台的攻击者已经对
Python 不再热衷。

image.png-625.8kB混淆的
Python 脚本

将 Python 脚本打包 .pyc 编译好的 Mach-O 文件仍然是存在的攻击媒介,更常见的则是将框架如 Meterpreter 经过多次 base64
编码混淆处理,这就足以绕过许多检测引擎。

image.png-450.6kB混淆的
Python 脚本

混淆的 Cobalt Strike

Cobalt Strike 在 Windows 平台非常常见,在 macOS 上出现甚少,但也不是完全没有。

2021 年 9 月,OSX.Zuru 发起了供应链攻击,针对使用 iTerm2、Mac 版 MS 远程桌面、SecureCRT 和 Navicat 14
进行投毒。恶意软件使用 UPX 加壳,解压后是一个使用 C 语言编写的 Mach-O 文件。该可执行文件经过混淆,包含超过 4
万个垃圾函数。相同的混淆方式,后来也出现在针对 PyPI 的 pymafka 供应链攻击中。

image.png-852.8kB混淆的
Cobalt Strike

该混淆技术能够通过二进制段的熵和哈希中进行识别。例如,__cstring 段的 MD5 哈希值为
c5a055de400ba07ce806eabb456adf0a,其熵值也能用于静态识别特征:

image.png-684.3kB混淆的
Cobalt Strike

混淆的 AppleScript

AppleScript 一直是被低估的攻击向量,其在 macOS 系统中的存在时间甚至比 Python
都要长。最近几年苹果公司不再给予其过多的关注,但仍然通过 TCC 等其他机制来对其进行限制。

image.png-1686.3kB混淆的
AppleScript

AppleScript 能够通过 run-only 选项来生成几乎不可逆向恢复的编译后代码。在野发现的恶意软件中,有使用四字节十六进制字符编码将一个
run-only 的脚本嵌入到另一个脚本中。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BY6nIImJ-1691891699750)(https://image.3001.net/images/20230212/1676169878_63e85296006ac24a9f6cf.png!small)]混淆的
AppleScript

此类脚本无法使用内置工具进行反编译,需要进行动态分析或者手动的逆向工程。想要静态检测的话,可以检测嵌入的十六进制字符和标记 AppleScript 块结尾的
Magic Number:FADE DEAD。

Poseidon 恶意软件

Poseidon 是攻击框架 Mythic 的 Golang 版本,可以使攻击者操纵失陷主机。最近一次高调的攻击,是针对 Rust 开发社区的
CreateDepression 供应链攻击。

image.png-719.2kBPoseidon
恶意软件

左侧为源代码,右侧是反汇编代码。Poseidon 支持攻击者与失陷主机中间发送与接收文件,还支持获取按键记录、屏幕截图并进行持久化等。已编译的
Poseidon 二进制文件中的字符串具有独特的特征,很容易检测。

Sliver 恶意软件

开源框架 Sliver 被在野使用的越来越频繁,可以通过 DNS、HTTPS、双向 TLS 和 Wireguard 为攻击者提供 C&C 信道。

Sliver 二进制文件多达 10MB 甚至更多,尽管 Sliver 本身不支持混淆或加壳,但在野发现了原始与定制的 UPX 加壳方案。

image.png-2730.5kBSliver
恶意软件

近期发现的 macOS 恶意软件,伪装成 Apple 软件更新二进制文件并在用户的 Library LaunchAgents
文件夹中进行持久化。该攻击避免使用任何 Apple 专有软件,并使用各种免费的工具(UPX、MacDriver 与 Platypus)。

结论

以上介绍的混淆机制并不是全部,攻击者也在不断精进,研究更多、更先进的混淆方式,例如 Pirrit、Adload 与 SliverSparrow 等。

苹果仍然在尝试阻止绕过 Gatekeeper 安全设置的各种下载,预计以后会有更多的恶意软件在初始载荷中就嵌入后续的
Payload,并且结合更多的混淆和规避技术。

参考来源

[Sentinelone](https://www.sentinelone.com/blog/macos-payloads-7-prevalent-
and-emerging-obfuscation-techniques/)

参考来源

[Sentinelone](https://www.sentinelone.com/blog/macos-payloads-7-prevalent-
and-emerging-obfuscation-techniques/)

学习网络安全技术的方法无非三种:

第一种是报网络安全专业,现在叫网络空间安全专业,主要专业课程:程序设计、计算机组成原理原理、数据结构、操作系统原理、数据库系统、 计算机网络、人工智能、自然语言处理、社会计算、网络安全法律法规、网络安全、内容安全、数字取证、机器学习,多媒体技术,信息检索、舆情分析等。

第二种是自学,就是在网上找资源、找教程,或者是想办法认识一-些大佬,抱紧大腿,不过这种方法很耗时间,而且学习没有规划,可能很长一段时间感觉自己没有进步,容易劝退。

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

第三种就是去找培训。

image.png

接下来,我会教你零基础入门快速入门上手网络安全。

网络安全入门到底是先学编程还是先学计算机基础?这是一个争议比较大的问题,有的人会建议先学编程,而有的人会建议先学计算机基础,其实这都是要学的。而且这些对学习网络安全来说非常重要。但是对于完全零基础的人来说又或者急于转行的人来说,学习编程或者计算机基础对他们来说都有一定的难度,并且花费时间太长。

第一阶段:基础准备 4周~6周

这个阶段是所有准备进入安全行业必学的部分,俗话说:基础不劳,地动山摇
image.png

第二阶段:web渗透

学习基础 时间:1周 ~ 2周:

① 了解基本概念:(SQL注入、XSS、上传、CSRF、一句话木马、等)为之后的WEB渗透测试打下基础。
② 查看一些论坛的一些Web渗透,学一学案例的思路,每一个站点都不一样,所以思路是主要的。
③ 学会提问的艺术,如果遇到不懂得要善于提问。
image.png

配置渗透环境 时间:3周 ~ 4周:

① 了解渗透测试常用的工具,例如(AWVS、SQLMAP、NMAP、BURP、中国菜刀等)。
② 下载这些工具无后门版本并且安装到计算机上。
③ 了解这些工具的使用场景,懂得基本的使用,推荐在Google上查找。

渗透实战操作 时间:约6周:

① 在网上搜索渗透实战案例,深入了解SQL注入、文件上传、解析漏洞等在实战中的使用。
② 自己搭建漏洞环境测试,推荐DWVA,SQLi-labs,Upload-labs,bWAPP。
③ 懂得渗透测试的阶段,每一个阶段需要做那些动作:例如PTES渗透测试执行标准。
④ 深入研究手工SQL注入,寻找绕过waf的方法,制作自己的脚本。
⑤ 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,参照:上传攻击框架。
⑥ 了解XSS形成原理和种类,在DWVA中进行实践,使用一个含有XSS漏洞的cms,安装安全狗等进行测试。
⑦ 了解一句话木马,并尝试编写过狗一句话。
⑧ 研究在Windows和Linux下的提升权限,Google关键词:提权
image.png
以上就是入门阶段

第三阶段:进阶

已经入门并且找到工作之后又该怎么进阶?详情看下图
image.png

给新手小白的入门建议:
新手入门学习最好还是从视频入手进行学习,视频的浅显易懂相比起晦涩的文字而言更容易吸收,这里我给大家准备了一套网络安全从入门到精通的视频学习资料包免费领取哦!

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值