MacOS 上寻常的几种混淆技术
MacOS 平台的威胁日渐增多,攻击者也越来越重视针对该平台的用户的攻击,本文将会介绍几种 macOS 上常见的混淆技术。 Shell 脚本可能是 Linux 平台下最常见的恶意文件,在 macOS 上也不遑多让。许多恶意软件都将 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 ')' Shell Script Compiler 是将 Bash 脚本编译生成可执行文件的技术,尽管这些可执行文件并不能做到完全独立,仍然需要执行环境中包含指定的 Shell。 SHC 的 -U 参数可以使编译后的二进制文件无法使用 ptrace 进行跟踪,-e 参数支持设置程序终止运行的到期日期。如果使用不同的 -e 参数,相同的脚本就可以生成不同哈希的二进制文件。 SHC 被 SCSSET 恶意软件大量使用,在野能够持续发现相关样本。从攻击者的角度来看,使得编写无法通过静态分析读取的恶意脚本变得非常简单。而且,通过 -e 参数还能够无限生成不同哈希值的样本文件。 (编辑:银川站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |