Windows所有版本绕过漏洞 AtomBombing内存注入技术 现有杀毒软件无效

简介:

EnSilo网络安全公司的研究团队发现了称为AtomBombing内存注入的技术,可以绕过所有Windows系统的查杀机制,目前所有的Windows杀毒软件也无效。

AtomBombing内存注入技术的危害

首先第一个危害就是绕过windows全部的查杀机制了,就如我之前所述,这个东西属于windows底层的一个功能,现有杀毒软件无法对其进行防护。一旦恶意代码注入到白名单进程中,任何的查杀机制都无法自动进行防御。

因为它可以随意注入到任意进程,也就是说它可以注入到浏览器进程中,任意修改网页数据,达到一个中间人攻击的效果。与此同时,这个注入技术还可以获得未进行HTTPS加密的元数据。恶意代码可以注入到浏览器内存中,在数据传输到传输层之前将其进行截获,从而获得一份原始的未加密数据。

EnSilo是做什么的

enSilo 是提供实时数据保护平台先进攻击的网络安全公司。本公司成立上认识到外部威胁演员不能防止渗透网络和相反侧重防止盗窃和篡改的关键数据的网络攻击事件。enSilo 使组织能够继续运行其业务运营安全和不受干扰,通过阻断实时在调查和补救的攻击,甚至任何与数据相关的恶意活动。enSilo 的平台不需要先验知识或用户或数据的配置。

公司的领导安全二战老兵从领先的私营和公共部门公司,包括 Imperva、 Akamai、 RSA 和拉斐尔。enSilo 是由光速创投、 伦勃朗创投和卡梅尔合资企业在财政上支持。

Atom Tables是什么

在Windows有一个功能叫做Atom Tables,而这个功能主要可以用于进程和进程之间的通信,线程和线程之间的通信。而enSilo网络安全公司的研究团队利用这个功能的设计缺陷,成功的将一个恶意代码注入到一个合法的进程当中,并且不会被杀毒软件查杀。这个缺陷影响了所有的Windows系统。

非常不幸的是,这个缺陷没办法修复,因为它不属于某个代码的漏洞,而是Atom Tables在设计之初就存在这个功能了,它属于Windows底层系统的一个机制。如果要修复这个缺陷,只能重新开发一个Atom Tables的替代品,或者重新编写Atom Tables的运行机制,而这样将会对Windows系统的内核进行大规模的调整。

AtomBombing技术

实际上,这个技术的原理并没有多复杂,但是影响却非常的显著。比如我要运行一个shellcode.exe,而这个可执行程序中内置的恶意代码。Windows杀毒的查杀机制会检查这个软件的签名证书,运行行为等等,从而达到一个查杀的效果。但是,如果我们能够说服用户双击这个shellcode.exe,在利用AtomBombing技术后,它可以和其它的合法进程建立一个不会被查杀的通讯。比如我们可以让Chrome.exe和shellcode.exe进行通信,而windows的进程列表里面只会出现Chrome.exe的进程,同时杀毒软件会认为chrome是一个合法程序,不会对其进行查杀。

实际上,针对Windows内存注入的方式大概也就那么几个,分别为使用函数QueueUserAPC DLL注入,调用SetWindowsHookEx注入,code cave注入和前不久的PowerLoaderEx内存注入。然而AtomBombing注入和其他的注入有很多不同,它是利用系统底层的缺陷进行注入,绕开了全部的杀毒软件,可以影响到全部的Windows系统,本质上来说并没有什么补丁可以针对这个缺陷。

详细技术分析看这里:

http://www.securitynewspaper.com/2016/10/27/atombombing-brand-new-code-injection-windows/

本文由:freebuf 发布,版权归属于原作者。 


原文发布时间:2017年3月24日
本文由:freebuf  发布,版权归属于原作者
原文链接:http://toutiao.secjia.com/windows-bypass-vulnerability-atombombing
本文来自云栖社区合作伙伴安全加,了解相关信息可以关注安全加网站
相关文章
|
1月前
|
SQL 安全 算法
ChatGPT高效提问—prompt实践(漏洞风险分析-重构建议-识别内存泄漏)
ChatGPT高效提问—prompt实践(漏洞风险分析-重构建议-识别内存泄漏)
|
3月前
|
Java 应用服务中间件 API
从0到1学会Jetty内存马注入
最近在学习geoserver的CVE-2024-36401注入内存马的时候,发现需要注入jetty类型的内存马,这是一个不同于tomcat的轻量级web容器。具体来说,Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。
|
3月前
|
vr&ar C# 图形学
WPF与AR/VR的激情碰撞:解锁Windows Presentation Foundation应用新维度,探索增强现实与虚拟现实技术在现代UI设计中的无限可能与实战应用详解
【8月更文挑战第31天】增强现实(AR)与虚拟现实(VR)技术正迅速改变生活和工作方式,在游戏、教育及工业等领域展现出广泛应用前景。本文探讨如何在Windows Presentation Foundation(WPF)环境中实现AR/VR功能,通过具体示例代码展示整合过程。尽管WPF本身不直接支持AR/VR,但借助第三方库如Unity、Vuforia或OpenVR,可实现沉浸式体验。例如,通过Unity和Vuforia在WPF中创建AR应用,或利用OpenVR在WPF中集成VR功能,从而提升用户体验并拓展应用功能边界。
63 0
|
3月前
|
C# Windows 开发者
当WPF遇见OpenGL:一场关于如何在Windows Presentation Foundation中融入高性能跨平台图形处理技术的精彩碰撞——详解集成步骤与实战代码示例
【8月更文挑战第31天】本文详细介绍了如何在Windows Presentation Foundation (WPF) 中集成OpenGL,以实现高性能的跨平台图形处理。通过具体示例代码,展示了使用SharpGL库在WPF应用中创建并渲染OpenGL图形的过程,包括开发环境搭建、OpenGL渲染窗口创建及控件集成等关键步骤,帮助开发者更好地理解和应用OpenGL技术。
207 0
|
3月前
|
iOS开发 Android开发 MacOS
从零到全能开发者:解锁Uno Platform,一键跨越多平台应用开发的神奇之旅,让你的代码飞遍Windows、iOS、Android、macOS及Web,技术小白也能秒变跨平台大神!
【8月更文挑战第31天】从零开始,踏上使用Uno Platform开发跨平台应用的旅程。只需编写一次代码,即可轻松部署到Windows、iOS、macOS、Android及Web(通过WASM)等多个平台。Uno Platform为.NET生态带来前所未有的灵活性和效率,简化跨平台开发。首先确保安装了Visual Studio或VS Code及.NET SDK,然后选择合适的项目模板创建新项目。项目结构类似传统.NET MAUI或WPF项目,包含核心NuGet包。通过简单的按钮示例,你可以快速上手并构建应用。Uno Platform让你的技术探索之旅充满无限可能。
66 0
|
3月前
|
Kubernetes Cloud Native 开发者
探索云原生技术:Kubernetes入门与实践探索Windows操作系统的隐藏功能
【8月更文挑战第31天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性、效率和可靠性的关键。本文将带你了解云原生的核心组件之一——Kubernetes(K8s),通过浅显易懂的语言和实际代码示例,引导你步入这一强大工具的世界。无论你是初学者还是有经验的开发者,本篇都将为你打开一扇通向高效资源管理与自动化部署的大门。
|
4月前
|
存储 NoSQL Redis
Redis性能优化问题之Redis 4.0 以下版本如何解决内存碎片问题,4.0 版本提供了什么功能来解决内存碎片问题
Redis性能优化问题之Redis 4.0 以下版本如何解决内存碎片问题,4.0 版本提供了什么功能来解决内存碎片问题
|
5月前
|
存储 IDE 开发工具
【读书笔记】 玩转虚拟机基于Vmware+Windows 虚拟化技术
【读书笔记】 玩转虚拟机基于Vmware+Windows 虚拟化技术
|
5月前
|
Shell PHP Windows
来自红队大佬的经验之谈---命令执行过滤绕过-Windows篇
感谢来自老流氓大佬的投稿,本次文章介绍的是在windows环境下,过滤的“点”和“空格”等符号,如何利用windowsit特性进行绕过