研究人员发现伊朗黑客组织 APT33 利用“早鸟 (Early Bird)”注入技术将 TrunedUp 恶意软件植入受感染系统内部,并躲避反恶意软件工具。
本周三,Cyberbit 公司发布报告表示,早鸟代码注入技术利用的是程序执行时应用线程进程的优势。换句话说,攻击者将恶意软件代码注入合法进程线程中,将恶意代码注入常见且合法的计算机进程中。
这种进程注入方法并不罕见。反恶意软件工具已经创建了钩子 (“hooking”) 技术,能够轻松发现攻击者对这种技术的使用。
Cyberbit 解释称,“钩子 (“hooks”) 是指当进程开始运行时,合法反恶意软件产品注入的代码片段。它们位于特定的 Windows API 调用中,目标是通过参数监控 API 调用以发现恶意调用或调用模式。”
利用“早鸟”技术规避检测
Cyberbit 表示,为了躲避这种钩子,APT33 创建了“早鸟”技术来规避反恶意软件钩子进程。报告指出,早鸟技术是指“在很多安全产品布置钩子前,在非常早期的线初始化阶段加载恶意代码,从而使得恶意软件能够在不被检测的情况下执行恶意动作。”这份报告有恶意软件分析师 Hod Gavriel 和首席软件工程师 Boris Erbesfeld 撰写而成。
Cyberbit 公司指出,早鸟代码注入技术已用于多种已知的恶意软件中,如 TurnedUp。TurnedUp 是臭名昭著的 Carberp 银行恶意软件和 DorkBot 恶意软件的一个变体。火眼公司在2017年9月率先发现 TurnedUp,它能够渗透数据、创建反向 shell、截取屏幕并收集系统信息。
Cyberbit 公司指出,恶意软件代码注入流始于创建合法 Windows 进程的悬停进程。随后,它分配并将恶意代码写入该进程,接着将异步过程调用 (APC) 排队到该进程。最后,它恢复进程的主线程以执行指向此恶意代码的 APC。
Cyberbit 在邮件采访中表示,“在主线程的初始化阶段(调用 NtResumeThread 之后),函数 NtTestAlert 检查 APC 排队。如果 APC 排队非空,那么 NtTestAlert 将会通知内核,而内核跳入 KiUserApcDispatcher,后者会执行 APC。主线程代码本身在 APC 代码完成执行后才会执行……在返回用户模式之前,内核准备好用户模式线程跳入 KiUserApcDispatcher,而后者在本案例中会执行恶意代码。”
不同于“原子爆炸”注入方式
早鸟技术和许多注入技术如“原子爆炸 (AtomBombing)”相似。“原子爆炸”是一种不同的代码注入方式,它也并不依赖于轻易可被发现的 API 调用。“原子爆炸”技术首次由 enSilo 公司的研究人员在2016年10月发现,它可导致恶意软件将代码注入进程中,并扫描 API 调用。
然而,研究人员表示,“原子爆炸”旨在隐藏注入,而“早鸟”旨在隐藏在注入后执行的恶意动作。
本文由360代码卫士翻译自threatpost
声明:本文来自代码卫士,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。