恶意程式载入工具Sugarloader在攻击流程扮演关键角色
值得一提的是,骇客使用的恶意酬载Sugarloader,先后以不同的档案名称.sld和.log出现于攻击流程。
骇客利用打包程式进行混淆处理,导致采用静态分析做法的资安系统,能够解析的程式较为有限。研究人员发现对方在程式码当中,利用含有跳转(JMP)的起始函数,将标头指定到尚未定义的记忆体位址,然后于记忆体内解压缩可执行档。由于对方利用了这种手法,截至研究人员揭露这起攻击行动的时候,恶意软体分析平台VirusTotal所有的防毒引擎皆将Sugarloader视为无害。
这个恶意程式的主要功能之一,就是从C2下载Kandykorn的有效酬载。根据研究人员的分析,骇客同时设置了C2的备援IP位址,以防主要伺服器无法存取的情况。一旦此恶意程式的设定组态载入记忆体并解密,就会建立与远端伺服器的连线并取得Kandykorn,并透过反射式载入(Reflective Binary Loading)手法,滥用NSCreateObjectFileImageFromMemory、NSLinkModule等API,在特定处理程序所使用的记忆体区域当中,执行恶意酬载。
而为了能够持续在受害电脑运作,骇客也透过Sugarloader建立名为Hloader的恶意程式,并将其伪装成Discord主程式,同样地,VirusTotal所有的防毒引擎也将该恶意程式视为无害。
过程中,攻击者运用了相当罕见的手法,研究人员称为执行流程挟持(Execution Flow Hijacking)。攻击者锁定通常会随著电脑开机启动的即时通讯软体Discord,而使用载入程式Hloader的目的,就是同时启动Discord执行档与.log酬载(即Sugarloader的另一个型态)。
具体而言,攻击者会将原本的Discord主程式更名,并以Hloader替代、执行,载入.log,让此可执行档在记忆体内运作,完全不会写入磁碟。之后,再将Discord主程式、Hloader改回原本的档案名称。