绕过杀软的新姿势:Process【转】

Process Doppelgnging与Process Hollowing技术类似,不同之处在于前者通过攻击Windows NTFS 运作机制和一个来自Windows进程载入器中的过时的应用。

Process Hollowing是现代恶意软件常用的一种进程创建技术,虽然使用任务管理器之类的工具查看时,这些进程看起来合法,但该进程的代码实际上已被恶意内容替代。

Process Doppelgnging同时利用两种不同的关键功能,以此掩盖已修改可执行文件的加载进程。研究人员使用NTFS事务修改实际上不会写入到磁盘的可执行文件,之后使用未公开的进程加载机制实现详情来加载已修改的可执行文件,但不会在回滚已修改可执行文件前执行该操作,其结果是从已修改的可执行文件创建进程,而杀毒软件的安全机制检测不到。

“Process Doppelgnging”可绕过大多数现代防病毒软件

研究人员表示,利用“Process Doppelgnging”的恶意代码不会保存到磁盘(也就是所谓的无文件攻击),因此大多数主流安全产品无法检测到。

研究人员成功在卡巴斯基、比特梵德、ESET、赛门铁克、迈克菲、诺顿、Windows Defender、AVG、Sophos、趋势科技、Avast和熊猫产品上测试了这种攻击技术,甚至高级取证工具(例如Volatility)也检测不到它。研究人员在测试中使用“Process Doppelgnging”秘密运行知名密码获取工具Mimikatz来躲避检测。

“Process Doppelgnging”属于无文件攻击

enSilo研究人员塔尔·利博曼和尤金·科根表示,这项技术旨在允许恶意软件通过看似合法的进程在目标设备上运行任意代码(包括恶意代码)。虽然与“Process Hollowing”非常类似,但也存在不同之处。为了避免使用可疑进程和内存操作(例如SuspendProcess和NtUnmapViewOfSection),研究人员利用了NTFS事务,重写了事务(Transaction)上下文中的合法文件,之后从修改的文件(事务上下文中)创建Section,并从中创建了一个进程。研究人员发现,当文件在事务中时,这些安全厂商不太可能扫描到文件。由于研究人员回滚了事务,因此未留下任何活动踪迹。

安全产品检测不到其中的异常,是因为恶意进程看起来合法,会正确映射到磁盘上的镜像文件,与任何合法进程没有区别,不存在安全产品通常会寻找的“未映射的代码”( Unmapped Code)。

喜忧参半

值得庆幸的是,实现“Process Doppelgnging”面临着大量技术挑战,攻击者需要了解进程创建的大量未公开细节。

然而,令人悲观的是,这种攻击无法通过打补丁修复解决,因为它利用的是基本功能和Windows进程加载机制的核心设计。

“Process Doppelgnging“加入了过去一年被发现的新攻击方法,这些方法难以被现代反病毒产品检测和缓解,例如Atom Bombing和GhostHook。有关该技术的研究资料将会在接下来几天发布在2017欧洲黑帽大会的官网上。

特别声明:本文为网易自媒体平台“网易号”作者上传并发布,仅代表该作者观点。网易仅提供信息发布平台。
此条目发表在免杀技术, 未分类分类目录。将固定链接加入收藏夹。