在各种网络安全产品的告警中,远程代码执行是一种非常常见的告警。本文将从远程代码执行的定义,远程代码执行利用的流量数据包示例,远程代码执行的suricata规则,远程代码执行的告分析警研判,远程代码执行的处置建议等几个方面阐述如何通过IDS/NDR,态势感知等流量平台的远程代码执行类型的告警的线索,开展日常安全运营工作,从而挖掘有意义的安全事件。本文将作为我的专栏《安全运营之网络攻击研判分析》中的一篇,详见这里。
远程代码执行定义
远程代码执行(Remote Command Execution,RCE)是网络安全领域中极具危害性的一种漏洞类型。远程代码执行漏洞通常源自于应用程序或系统对用户输入的不正确处理。攻击者通过在用户输入中注入恶意代码,利用了应用程序或系统在处理这些输入时的漏洞,成功执行恶意代码。这使得攻击者能够在目标系统上以受感染用户或进程的权限执行恶意操作。
远程代码执行数据包举例
远程代码执行多出现在WEB应用中,因此多借助于HTTP协议进行利用。对于HTTP这种基于文本的协议来说,HTTP协议的任何位置都可以是远程代码执行的注入点。
关于远程代码执行最好的例子是log4j的漏洞CVE-2021-44228。log4j漏洞的原理很简单,因为log4j是一个开源记录日志的模块,因此被很多的产品和代码所集成。当代码存在错误的时候,会将错误的输入当做入参传递给log4j日志模块,而log4j日志模块对于这些参数的处理不当,导致恶意构造的代码被log4j模块所执行。
远程代码执行流量之-URL注入
如下为log4j的