Netwrix 1Secure 提供跨数据和身份的统一可见性——免费试用14天,享有完全访问权限。开始免费试用

资源中心博客

什么是远程代码执行(RCE)?人工智能如何加速利用及如何限制损害

什么是远程代码执行(RCE)?人工智能如何加速利用及如何限制损害

Oct 19, 2026

远程代码执行(RCE)允许攻击者在其不拥有的系统上运行命令,通常通过网络应用程序、CMS、VPN门户或API中的漏洞实现。成功的利用会继承易受攻击服务的权限,许多服务的访问权限远超所需。人工智能缩短了从漏洞披露到有效利用的时间,使攻击者能够同时测试数千个暴露的系统。

远程代码执行漏洞将易受攻击的服务器变成他人的计算机。攻击者发送应用程序本应拒绝的输入,应用程序将其作为命令执行。AI加速了过去需要攻击者实时操作的部分工作。

什么是远程代码执行(RCE)?

远程代码执行是一类漏洞,允许攻击者通过网络在目标系统上运行自己的代码或命令,无需事先访问权限。它也被称为任意代码执行。无论哪种情况,攻击者决定机器的行为。RCE漏洞通常来自于将不受信任的输入传递给其执行内容的应用程序:如shell命令、模板、反序列化对象、文件上传处理程序。RCE利用是触发该漏洞的特定输入或序列。

远程代码执行的工作原理

攻击通常沿直线进行。攻击者找到运行易受攻击组件的暴露系统,发送精心制作的输入,并在服务账户下运行代码。第一个有效载荷保持较小,通常是一个网页shell或下载某物的命令。在攻击者确认立足点有效后,会使用更大的工具。

Log4Shell(CVE-2021-44228)是一个关于单个漏洞传播范围的典型例子。该漏洞于2021年12月在Apache Log4j日志库中披露,允许在日志字段中插入特制字符串,使易受攻击的服务器下载并执行攻击者控制的代码。Log4j被嵌入了众多应用程序中,因此该漏洞无处不在。

大多数RCE漏洞都是从小处开始的。下面第一个函数将用户输入直接传递给shell。第二个函数放弃shell并验证输入。

      # Vulnerable: input goes straight to a shell
import os
def ping(host):
    os.system("ping -c 1 " + host)   # host = "8.8.8.8; id" runs a second command

# Safer: no shell, validated input
import ipaddress, subprocess
def ping(host):
    ipaddress.ip_address(host)        # raises ValueError unless host is an IP
    subprocess.run(["ping", "-c", "1", host], check=True)

      

人工智能如何改变远程代码执行攻击

该漏洞类别较旧。攻击者已改变他们通过每个阶段的速度。

目标被排名

互联网范围的扫描已经存在多年。人工智能帮助进行排序:扫描结果可以按软件和版本分组,并根据每个系统携带已知漏洞的可能性进行排名,因此攻击者会优先攻击最佳目标。

补丁变成漏洞利用教程

供应商发布补丁和公告以帮助防御者,攻击者也会阅读它们。模型可以接受补丁差异或公告并描述易受攻击的代码路径,从而减少逆向工程工作并缩短公开披露与可用漏洞利用之间的时间。

一个proof of concept,多个版本

公开的概念验证通常针对一个版本或框架。模型可以将其移植到不同的版本或语言,并更改有效载荷以规避已知的检测模式。

多步骤攻击需要更少的技能

许多网络攻击分为两个阶段。小规模注入证明代码正在运行,然后第二步下载更大型的工具。模型可以设计该链条,并在某阶段失败时进行修改重试,因此针对CMS、API或门户的多步骤攻击所需技能比以前少。

后续工作通过脚本运行

代码运行后,后续操作是重复性的:读取配置文件,收集密钥和凭据,创建计划任务以确保访问在重启后依然有效,并寻找邻近系统。脚本和AI辅助的例程每次都以相同方式执行这些步骤。

同一链条,数百个组织

针对一个组织有效的链条可以指向数百个组织。每个阶段都为下一个阶段提供支持,每增加一个目标,攻击者的成本就比上一个更低。

Stage

Traditional RCE attack

AI-assisted RCE attack

Finding targets

Manual review of scan results

Results grouped by software and version and ranked by likelihood of a known flaw

Understanding the flaw

Slow, specialist reverse engineering of a patch

Patch diff or advisory summarized into a description of the vulnerable code path

Building the exploit

Written from scratch or copied as-is from a public proof of concept

Proof of concept adapted to a new version, framework, or language

Multi-stage attacks

Planned and tested by hand

Chains drafted and retried automatically when a stage fails

After access

Operator reads files and runs commands one at a time

Configs, keys, and credentials collected by scripted routines

Scale

A few targets per operator

The same chain run against hundreds of organizations

Defender window

Time between disclosure and exploitation gives teams room to patch

Less time to patch after disclosure

攻击者在RCE漏洞利用后的最初几分钟内所做的事情

成功利用后,攻击者的首批动作遵循一定模式。攻击者将web shell或加载器放入服务可写的目录,然后添加计划任务、服务或cron作业,以确保访问权限在重启后依然存在。接着,他们从配置文件和内存中提取credentials和密钥,并开始探测邻近系统。

每个步骤都会留下可供检查的痕迹。这些命令显示了web root中的最近文件更改和Linux上的新cron条目。

      # Files changed in the web root in the last 24 hours
find /var/www -type f -mtime -1 -ls

# Recently modified cron entries
ls -lt /etc/cron.d /var/spool/cron 2>/dev/null | head
      

在 Windows 上,此查询列出过去一天内注册的计划任务。请先启用任务计划程序操作日志,因为默认情况下它是关闭的。

      Get-WinEvent -FilterHashtable @{
  LogName   = 'Microsoft-Windows-TaskScheduler/Operational'
  Id        = 106
  StartTime = (Get-Date).AddDays(-1)
} | Select-Object TimeCreated, Message
      

这样的手动检查适用于一台服务器。在数百个系统中,它们会落后,快速行动的攻击者可能在下一次计划审查之前完成。

如何防止远程代码执行并限制损害

补丁和安全的输入处理仍然是防御RCE漏洞的主要手段。之后的所有措施都假设漏洞最终会在补丁发布前被利用,因此目标转向快速捕捉变化并限制被攻破服务的能力。

Netwrix Change Tracker 监控RCE攻击涉及的系统。它设定配置基线,并使用文件完整性监控来标记新增或修改的文件,如添加到网页目录的web shell,以及Windows、Linux、Unix和网络设备上的关键系统文件和设置的更改。其计划变更模型将观察到的内容与批准的变更请求进行比较,因此任何未计划的修改都会被标记以供审查。变更历史为调查人员提供时间线,系统文件认证通过全球信誉数据库检查文件,以确认哪些是可信的。

Netwrix PolicyPak 限制攻击者在Windows系统上运行代码后能做什么。 最小权限 强制执行会移除本地管理员权限,并为标准用户设置提升规则,因此被攻破的进程拥有更少的权限。使用PolicyPak,如果文件所有者未被预先列入白名单,您可以阻止应用程序和脚本运行。

使用 PolicyPak 移除本地管理员权限

免费试用

远程代码执行防护清单

  1. 按照既定计划修补面向互联网的软件,首先从CMS平台、VPN门户和API开始。
  2. 验证并清理输入,确保用户输入远离shell、模板和反序列化器。
  3. 以最小权限运行服务, 移除不需要的本地管理员权限。
  4. 监控网站目录、关键文件和配置,以防止意外更改。
  5. 阻止不受信任的应用程序和脚本在 Windows 系统上运行。
  6. 保持可搜索的变更历史,使调查从时间线开始。

常见问题

分享到

了解更多

关于作者

Asset Not Found

Jarosław Bogalecki

产品经理

Jarosław Bogalecki 是 Netwrix 的产品经理,负责 PolicyPak 和 Password Policy Enforcer。他自2019年以来一直从事技术岗位,热衷于产品策略、人工智能及围绕真实客户问题构建解决方案。在担任产品经理之前,他曾从事应用工程和技术咨询工作。