无文件恶意软件真的没有文件?
据说无文件恶意软件的目标,就是进驻内存以保持隐身。除了驻扎在内存,无文件恶意软件的第二个特点,就是对系统管理工具的利用,比如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 总书记的“待客茶” 7904266
- 2 黄杨钿甜父亲被立案调查 7809002
- 3 教育部拟同意设置32所新大学 7712411
- 4 从三个关键词看民营企业科技创新 7618444
- 5 黄杨钿甜父亲涉故意隐瞒违法生二孩 7522270
- 6 大学食堂招聘要求博士学历 7429273
- 7 民警关心老人 一查竟是28年前命案犯 7331703
- 8 以军向外交使团鸣枪 有中国外交官 7237730
- 9 女子白宫见特朗普 因一脸嫌弃而走红 7137211
- 10 黄杨钿甜父亲曾承诺无违纪违法行为 7042165