找回密码
 立即注册
网站/小程序/APP/浏览器插件/桌面软件/脚本 定制开发·运营维护·故障修复·技术咨询
查看: 2119|回复: 0

无文件攻击实例:基于注册表的Poweliks病毒分析

[复制链接]
发表于 2018-4-26 11:07:48 | 显示全部楼层 |阅读模式
前言:

病毒与杀软的博弈持续进行着,双方的攻防技术也是日新月异,随着杀软杀毒能力的不断提升,病毒对抗也在持续加强,无文件攻击作为一种比较新型的攻击手段,正逐步扩大其影响力。

千里目安全实验室EDR安全团队发现, 从2016年至今,所有重大的APT事件中,有77%的组织采用了无文件的攻击方式进行入侵,再纵观这三年,无文件的攻击方式也越来越流行:
无文件攻击实例:基于注册表的Poweliks病毒分析-1.jpg

(图片来自Gartner的演讲Get Ready for ’Fileless’ Malware Attacks)

近日,我们捕获了一个poweliks病毒样本,此病毒家族就是一个典型的基于注册表的无文件攻击实例。为了对此类攻击有更直观且全面的了解,我们研究分析poweliks病毒,来梳理无文件式攻击的整体流程。Poweliks是著名的无文件式攻击病毒,其后出现了多个版本的变种,其采用了注册表、powershell、进程注入这三种无文件攻击方式来对主机进行隐蔽性攻击,由于行为很隐蔽,所以其很难被杀软所查杀。

病毒原理:
无文件攻击实例:基于注册表的Poweliks病毒分析-2.jpg

Poweliks.exe为此病毒的母体, poweliks.exe首先修改注册表,然后调用rundll32.exe执行powershell脚本(包含恶意代码),powershell脚本首先创建一个合法进程dllhost.exe(此文件在C:\Windows\System32目录下),然后将恶意代码注入到此进程中并执行(躲避杀软查杀) ,达到与C&C服务器通信的目的。最后,当系统每次重启时,都会自动运行注册表里的恶意代码,实现持久化攻击。

双击Poweliks.exe(病毒母体),运行情况如下:
无文件攻击实例:基于注册表的Poweliks病毒分析-3.jpg

技术分析:

Poweliks病毒一般是通过邮件的方式进行传播的,在邮件里面包含一个恶意的word文档,一旦打开这个word文档,它将会执行恶意代码并运行Poweliks病毒。

病毒主流程如下:
无文件攻击实例:基于注册表的Poweliks病毒分析-4.jpg

以下是C&C服务器的地址及HTTP请求的格式
无文件攻击实例:基于注册表的Poweliks病毒分析-5.jpg

无文件攻击实例:基于注册表的Poweliks病毒分析-6.jpg

无文件攻击实例:基于注册表的Poweliks病毒分析-7.jpg

Poweliks.exe接着向注册表默认启动项键值(HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\(Default))中写入两条恶意代码:

写入第一个恶意代码(调用rundll32.exe读取run键值里的jscript代码并执行)
无文件攻击实例:基于注册表的Poweliks病毒分析-8.jpg

这段代码由于是使用Unicode编码的,所以使用regedit.exe打开会报错误,使用常规的方式删除不了此注册表键:
无文件攻击实例:基于注册表的Poweliks病毒分析-9.jpg

写入第二个恶意代码(被调用执行的Jscript代码)
无文件攻击实例:基于注册表的Poweliks病毒分析-10.jpg

无文件攻击实例:基于注册表的Poweliks病毒分析-11.jpg

然后在Run项下创建创建一个Unicode字符的项:
无文件攻击实例:基于注册表的Poweliks病毒分析-12.jpg

这里的目的也是为了使用户在打开regedit.exe打开的时候出现报错,防止用户删除恶意的注册表项:
无文件攻击实例:基于注册表的Poweliks病毒分析-13.jpg

我们现在回过头来看看jscript的关键代码
无文件攻击实例:基于注册表的Poweliks病毒分析-14.jpg

无文件攻击实例:基于注册表的Poweliks病毒分析-15.jpg

这段代码的主要功能是调用powershell执行一段base64加密后的代码,将powershell代码解密,发现其中继续调用了一段加密代码,解密后发现是一段恶意的二进制shellcode。
无文件攻击实例:基于注册表的Poweliks病毒分析-16.jpg

然后,poweliks.exe调用进程poweliks.exe:0进行自删除:
无文件攻击实例:基于注册表的Poweliks病毒分析-17.jpg

无文件攻击实例:基于注册表的Poweliks病毒分析-18.jpg

无文件攻击实例:基于注册表的Poweliks病毒分析-19.jpg

poweliks.exe:0进程在删除母体文件poweliks.exe后退出。

最后,遗留在系统中dllhost.exe进程被注入恶意代码后做了两个操作,连接C&C服务器和监控注册表,确保自己的恶意代码不会被删除:
无文件攻击实例:基于注册表的Poweliks病毒分析-20.jpg

无文件攻击实例:基于注册表的Poweliks病毒分析-21.jpg

处理方法:

1. 结束进程dllhost.exe

2. 使用PCHunter删除注册表相应的恶意键值,即删除默认键对应的值。(HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\默认)


本文版权归原作者所有,如有侵权请联系管理员删除,原文地址:https://www.toutiao.com/a6548583179039539725/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|服务条款|版权问题|小黑屋|手机版|滇ICP备13004447号-1|滇公网安备53032802000133号|神秘网

网站地图sitemapArchiver

GMT+8, 2025-4-24 03:20 , Processed in 0.067833 second(s), 23 queries , Gzip On.

基于Discuz! X3.5

辛树所有

快速回复 返回顶部 返回列表