无文件恶意软件真的没有文件?

技术 作者:HackerEye 2017-03-21 06:42:01
据说无文件恶意软件的目标,就是进驻内存以保持隐身。除了驻扎在内存,无文件恶意软件的第二个特点,就是对系统管理工具的利用,比如PowerShell。 攻击者为什么要利用无文件恶意软件? 其一,不是每种终端解决方案都直接检查内存。这让内存成为了理想的藏身地点。其二,PowerShell之类的工具已经存在于系统中了。这就给攻击者留下了多个好处。能够靠局域网为生,便削减了因在受害者主机上部署恶意软件而产生的动静。 因为每个终端解决方案都会监视文件系统,写磁盘的操作会触动防御布网。让恶意软件仅进入内存则可避免该风险。这些工具也是广为使用的管理工具,偶尔的恶意用途也可以混进环境常见噪音中。 Windows是现有无文件恶意软件的主要目标。我们可以探究一下为什么无文件恶意软件并非真的没有文件。恶意软件可被狭义定义为操作系统上执行的代码,所以无文件恶意软件确实可以无文件。 甚至最好的终端产品都会错过内存中运行的高级恶意软件,甚少有公司会采用Volatility之类的内存分析工具。 跳出上述狭义定义,恶意软件背后黑手的目的,是尽可能多地收集目标用户的信息。为此,恶意软件需要能够从中断中恢复,而达到该功能的途径,就是能够挺过系统重启。想要驻留,总得往磁盘上写点儿什么东西。 Ars Technica 的文章中提到了某无文件恶意软件的IoC,该恶意软件创建了一个服务来挺过重启。注册表中留下的两个键是:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\PortProxy\v4tov4\tcp
ControlSet中的服务部分,就是系统服务在注册表中存在的地方。恶意软件能够随系统重启的奥秘就在于此。该注册表项有CurrentControlSet、ControlSet001和ControlSet002。微软知识库文章中介绍说: ControlSet001可能是你最近一次重启的控制集,而ControlSet002则是最近已知良好状态,或者最近一次成功启动的 Windows NT 控制集。CurrentControlSet子键,不过是指向某个ControlSetXXX的指针而已。 注册表是存放于System32目录下的一个文件。上面提到的SYSTEM项里填入的是操作系统里%WINDIR%\System32\config\SYSTEM中的一个文件。这是无文件恶意软件实际上并非没有文件的铁证。 任何希望长期生存的恶意软件,最终都需要留下点什么东西,这东西很可能就在磁盘的某个地方。

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接