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

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

混淆的技术 Shell 脚本
也有攻击者直接将脚本内置在镜像文件中,源码库通过别名来诱导用户执行 :

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

提示信息
要求用户点击的混淆安装 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 )1.2.3. 混淆的 SHCShell Script Compiler 是免费模板将 Bash 脚本编译生成可执行文件的技术,尽管这些可执行文件并不能做到完全独立,仍然需要执行环境中包含指定的 Shell 。

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

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

Shell Script Compiler
发现 SHC 编译的二进制文件 ,唯一的方法就是通过沙盒执行观察其行为。静态检测发现 SHC 编译的二进制文件时可以将其认为是可疑的高防服务器