
一般而言,大多数的攻击行动主要针对Windows电脑而来,但最近几年骇客也将目标延伸到Linux平台,而且出现一些鲜少在Windows电脑运用的攻击手法。
例如,最近资安业者Trellix揭露的Linux后门程序VShell攻击行动,就是这种型态的例子。骇客并非直接透过文件挟带恶意程序,而是埋藏在文件的名称当中,由于一般的防毒软件不会对文件名称进行检查,使得攻击者有机会藉此躲过相关的侦测。
这种手法滥用许多Linux的Shell指令码相当常见的特性:直接对文件名称进行评估或输出(Echo),由于过往从未出现利用档名动手脚的攻击手法,因此,这段程序通常不会先执行防毒等内容过滤的处理。看似良性的命令如:eval "echo $f",或是基本的文件操作,都有可能引起整个系统遭到挟持。
值得留意的是,由于防毒软件不会逐一扫描文件名称,以及对于经过编码处理的命令链(encoded command chains),静态分析工具有可能无法或疏于检查,再加上,行为分析机制通常会等到文件名称的执行之后,才会标记为可疑,因此,这种手法很可能会绕过大部分的防御机制。
针对这起攻击发生的过程,源于垃圾邮件挟带的RAR文件,而问题就出现在特殊的文件名称上,含有嵌入的Bash程序码,一旦被Shell解译,就会执行命令。
有别于许多网钓攻击使用的压缩档,这次的RAR档若是直接解压缩,并不会触发攻击链,而是在指令码或是命令处理此压缩档的文件名称,才会进行后续的攻击流程。
过程中,藉由Bash指令码的互动,就会触发文件名称当中的指令码,自动执行经Base64演算法处理的恶意程序下载工具,根据受害电脑的处理器架构(x86、x64、Arm、Arm64),下载对应的ELF载入工具。
随后,这个载入工具会连线到特定的C2,并接收经过XOR演算法加密的VShell有效酬载,解密后于记忆体内执行,攻击者将其伪装成Linux核心处理程序,以掩人耳目。