Unix系统中使用shell 脚本是执行文件中的多个Linux 命令。许多用户使用它shell 脚本来作为日常批量操作文件、执行程序和打印文本的方式。
编程技术的命令和变化
从图中可以看出,明文链接是base64 编码文本被替换,部分代码下载或编码payload 。这是直接隐藏的。payload 链接,绕过用于识别的安全规则,使分析更加困难。
图 2. 用base64 代码代换代码
图 3. 解码后的base64 编码的payload
该命令将在不考虑服务器上运行目标服务的情况下执行。但现在脚本可以检查服务器上是否有特定的服务,而不是payload 保留CPU 时间。还可以和base64 编码的新版本也可以替换特定链接中的变量。
图 4. 卸载服务不检查服务是否安装的命令
图 5. 发现服务后卸载服务的命令
研究人员还注意到攻击者的使用Pastebin 保存脚本的一些内容,比如URL 中和整个payload或helper 在应用程序中,在例子中释放一个XMRig 加密货币挖掘机。
图 7. Base64 编码的config 和 Pastebin URL
结论
恶意攻击者不断改进和优化其攻击技术和方法,如让shell 脚本拥有混淆和传递payload能力。为了最大化利益,绕过测试,攻击者将使用其他操作系统中发现的一些技术,并与这些新技术(系统)集成。虽然以前出现过一些技术,但它们出现在恶意的软件环境中shell脚本还是比较新的。
过去,大多数的payload 明文部署,只针对特定任务。shell混淆机制已经开始出现在脚本中。因为恶意软件开发者想隐藏它的真实性payload,因此,未来可能会有更多的混淆技术。shell脚本的发展和传播payload 这一趋势值得注意。
本文翻译自:https://www.trendmicro.com/en_us/research/20/i/the-evolution-of-malicious-shell-scripts.html如果转载,请注明原始地址