无文件恶意软件真的没有文件?
据说无文件恶意软件的目标,就是进驻内存以保持隐身。除了驻扎在内存,无文件恶意软件的第二个特点,就是对系统管理工具的利用,比如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/
关注网络尖刀微信公众号随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 中共中央召开党外人士座谈会 7904243
- 2 日本又发生6.6级地震 7809370
- 3 王毅:台湾地位已被“七重锁定” 7714456
- 4 全国首艘氢电拖轮作业亮点多 7616544
- 5 中国游客遇日本地震:连滚带爬躲厕所 7523254
- 6 吃流感特效药别用矿泉水 7429239
- 7 日本地震致多人受伤 超10万人需避难 7334271
- 8 男子带老婆买糖葫芦被认成父女 7231678
- 9 日本震中突发大火 民众开车逃命 7143826
- 10 “人造太阳”何以照进现实 7048081







HackerEye
