高级威胁之内存马攻击篇

释放双眼,带上耳机,听听看~!

攻防对抗不仅仅是“敌在暗我在明”的博弈,更像是王者峡谷中攻防双方的长期拉锯战。攻防双方都在积攒“铭文”、补充装备,增强自身实力,以期望突破对方防线或守住自身的安全底线,确保“水晶塔”完好无损。

对攻击者而言,突破安全防线,摧毁水晶塔(攻破主机)是长期觊觎之下的终极目标。此背景下,通过社工、邮件钓鱼、水坑攻击等手法发起攻击,以期望达到该目的。但是,传统诸如WAF、HIPS、蜜罐等防护工具都可以很好的解决此类威胁造成的危害。而基于内存的webshll攻击可以绕过现有的安全检测机制,给现有的安全防护体系带来较大的安全挑战,成为攻防对抗中常被利用的攻击手段。

 

攻破敌塔的有利武器

对于攻击者而言,面对严防死守的安全防线,想攻破对方水晶塔(主机)着实不易,极易出现还未攻到对方敌塔,已战死在进攻的路上的情况。然而,攻击者一直在进攻的路上,积蓄装备、增加“铭文”,提升战斗力,撕破防线,进攻敌塔。内存webshell则是增加攻击者战斗力的铭文,犹如“兰陵王”一般,具有隐蔽性,不易被察觉,从而发起攻击行为。

在攻防的过程中,渗透环节通常会用到webshell,以asp、php、jsp或者cgi等网页文件形式存在。当黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器web目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。

传统的Webshell是基于文件类型的,攻击者可以利用上传工具或网站漏洞植入木马,而Webshell内存马是无文件马,利用中间件的进程执行某些恶意代码,不会有文件落地,对于严防死守的防线是一个新的突破。Webshell内存马,是在内存中写入恶意后门和木马并执行,达到远程控制Web服务器的一类内存马,其瞄准了企业的对外窗口:网站、应用。

对于内存马,通常情况,分类如下:

图1 内存马分类

 

内存马的3大特点
刚才我们讲到了内存马的概念特性,除了隐蔽性、不易被察觉以外,其还有如下几个特点:1、内存马无逻辑结构边界,难以被发现。内存马仅存在于进程的内存空间中,通常与正常的/合法的代码、数据混淆。内存马与传统恶意代码的不同之处在于它没有磁盘文件,会导致传统的检测防护手段失效。2、内存马缺乏稳定的静态特征,难以被识别。内存马缺乏结构化的静态形式,它依附在进程运行期间的输入数据进入进程,数据可能被加密混淆,因此,无法通过特征识别内存马。3、 内存马种类多,检测机制复杂而多样。内存马有二进制代码片段(Shellcode)、PowerShelll脚本、Web中间件等类型,每种类型又可细分,不同类型内存马的执行方式、恶意代码/行为触发机制各不相同。

 

内存马的攻击原理
对内存马有了概念上的认知,那么一定要知道它的攻击原理,利于找到解决措施。在介绍内存马的攻击原理之前,我们先讲一下Web服务器的工作原理。众所周知,Web服务器运行着很多中间件,如Tomcat,Weblogic等。这些中间件都由多个独立的组件组成,其中包括:Listener、Filter、Servlet。我们以JAVA为例,一个网页请求会由Servlet容器进行调用和执行,Filter程序则是一个实现了特殊接口的Java类,一般用于进行请求过滤。当某一个请求需要对内存中的数据进行读写或者执行时,就需要经过Filter的判断和过滤,由Filter来决定这些请求是否有权限进行这些操作。

图2 Web服务器工作原理

而内存马正是利用了这种机制,通过动态注册一个新的Filter或者向Filter中注入恶意的shellcode,让Filter允许攻击者访问到Web服务器内存中的数据。只要拥有了可用的Filter,攻击者就能进行远程攻击,而不管是shellcode的注入过程还是对Web服务器数据进行访问的过程都会在内存中出现异常行为。另外,由于Web服务器在网络中与数据库和权限系统连接,攻击者在入侵后,可以更轻易地进行横向的渗透,拿到多个主机的权限。

 

内存保护的解决方案
传统安全防护手段侧重于防护已知威胁或者事后检测,在后续的运营过程中进行策略维护管理或者依据已发生事件持续进行检测和响应。对于内存马攻击缺失实时检测与防御能力,容易被绕过而造成安全威胁。内存保护技术则包括硬件虚拟化技术、行为分析技术、关联分析技术,对于漏洞利用、动态枚举等都有很好的检测、防御能力,可以更好的解决内存马攻击的安全威胁。

 

  • 脚本类内存马:可通过对脚本运行时环境(例如:.NET CLR、VBScript执行引擎、JavaScript执行引擎等)内的脚本运行时行为进行监控,发现异常行为来识别此类攻击。
  • 二进制内存马:通过对内存中的读、写、执行动作进行监控,发现异常来识别此类攻击。
  • PHP内存马:通过对PHP进程执行行为进行监控,关联分析敏感行为以识别此类攻击。

虽然内存马攻击相比传统攻击手段更复杂、隐蔽,但是利用内存保护技术可以很好的检测、防御,防止了攻击事件的发生。对于防守方来讲,可以更好的守护自家“水晶塔”(主机),让其更安全。

 

给TA买糖
共{{data.count}}人
人已赞赏
行业热点

最新云安全研究成果!腾讯云鼎实验室发布云安全攻防矩阵

2021-9-26 18:27:42

行业热点

BCS 2021|如何通过内存保护抑制安全防御体系熵增?

2021-9-27 20:03:51

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索