无文件恶意软件真的没有文件?
据说无文件恶意软件的目标,就是进驻内存以保持隐身。除了驻扎在内存,无文件恶意软件的第二个特点,就是对系统管理工具的利用,比如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 古城老街蕴文脉 7995231
- 2 从春晚配角到主角他熬了20年 7912190
- 3 小孩引爆沼气家长付天价赔偿系谣言 7875898
- 4 来看N种过年新玩法 7727994
- 5 NBA重磅交易!东契奇浓眉互换东家 7626914
- 6 岳云鹏回老家过年 弟弟罕见露面 7535929
- 7 正月初五为啥又叫破五 7423458
- 8 有电影院一天排了88场《哪吒2》 7374610
- 9 古人在几千年前就发明了“时光机” 7268586
- 10 行在路上奔团圆 非遗民俗贺新春 7179141