基于多LLM的自主 Shell 渗透测试代理

admin 2025年3月12日22:09:21评论18 views字数 1974阅读6分34秒阅读模式

近期,有论文介绍了一个多LLM的自主Shell渗透测试代理,叫ARACNE。

ARACNE 是一个基于 LLM 的自主 shell 攻击者。它旨在通过在目标 shell 系统上规划和执行 Linux 命令来自主实现给定目标。它通过多agent实现了很好自动化,同时在多agent中使用了多个模型,结合模型能力、性能、成本等条件,达成更好效果。

架构介

基于多LLM的自主 Shell 渗透测试代理

ARACNE 有四个关键模块:规划器、解释器、总结器和核心代理。LLM 为前三个模块提供动力,它们是代理的大脑。核心代理是中心组件,充当代理的主体,使大脑的“想法”变成现实。总结器模块是一个可选组件(从测试结果上看,总结器作用不大)。

各模块简介

1.规划器的作用是针对给定的目标制定攻击计划,并在执行操作后更新先前的计划。最终,每个决策都归结于规划器

规划器模块的输入是当前上下文(目标、命令、命令输出、先前的计划),可以是原始的也可以是汇总的。此上下文将发送到 LLM。输出采用 JSON 格式,包含三个字段:steps 、 goal_verification和goal_reached。steps字段是实际计划,包含核心代理模块要考虑的操作的文本描述列表。由于每个操作最终都会成为一个命令,因此规划器模型被指示在单个操作中尽可能多地实现目标,同时又能在单个命令中完成。规划器用的模型是GPT-O3-mini。

2.解释器的作用是分析给定的计划并生成适当的命令。该计划包含一系列步骤。解释器将计划的第一步发送给 LLM,后者将操作转换为可以完成该操作的 Linux shell 命令。使用的模型是LLaMA 3.1 ,因为该任务比规划器模块的任务简单得多。LLM 输出是一条命令,然后将其返回给核心代理。核心代理在目标系统中执行该操作。
3.摘要器的作用是减少攻击历史的整个上下文,以占用更少的上下文窗口。其背后的原因是命令的输出可能很长(例如,“ps ax”),这会很快填满 LLM 上下文窗口。ARACNE 架构的新颖之处在于,摘要器模块是一个可选组件,对于正确使用代理来说并不是必需的。此模块中使用的模型是GPT-4o。

摘要器操作的上下文由目标、执行的命令、命令输出和前一个操作组成。每次执行操作后,上下文都会存储在一个特殊文件中,并作为输入传递给规划器模块。摘要器会获取操作的完整上下文,对其进行摘要,并将此摘要存储在上下文文件中,以替换完整的原始上下文。

4.核心代理的作用是协调各个模块以实现目标。控制和连接其他模块并协调它们之间的消息。核心代理负责在目标 shell 系统上执行命令。

5.连接目标

ARACNE 通过 SSH 连接到目标系统。SSH 连接是使用Paramiko Python 库通过invoke_shell()函数建立的。此函数在目标 SSH 服务器中启动一个交互式 shell。随后,它使用send()函数发送命令,并使用recv()函数接收相应的输出。凭据和连接信息通过环境变量处理。

护栏与越狱

LLM 通常有一些防护措施来防止其生成危险或恶意的内容。在开发这个代理时,我们遇到了所有组件的护栏问题,这导致我们添加了可以绕过上述护栏的越狱功能。

我们实现了 AutoAttacker 中使用的越狱技术。该技术仍然有效,在我们大约 95% 的攻击中都有效。它包括以“扮演… ”开头的提示。告诉 LLM 他们所做的事情没有后果的方法似乎非常有效且轻松地绕过了他们的护栏。越狱的示例如下:

基于多LLM的自主 Shell 渗透测试代理
效果

1.ShelLM一款基于 LLM 的 shell 蜜罐软件。它由一个 LLM 组成,该 LLM 被指示通过生成命令应有的结果来模仿 Linux 终端的行为。使用 ShelLM 的优点是测试时不会有删除文件或以任何方式影响服务的风险。对于此评估,我们使用了 ShelLM 作者提供的在线测试实例。

表 I显示了未启用摘要器模块的 ARACNE 与 ShelLM 的测试结果。结果表明,ARACNE 的成功率为 60%。

基于多LLM的自主 Shell 渗透测试代理

2.Over the Wire 是一款夺旗游戏,提供挑战来学习各个领域的技能。Bandit 挑战旨在学习 Linux 命令。在每个级别,用户都会获得一个目标,该目标将引导他们获得访问下一级别的凭据。为了解决挑战,用户通过 SSH 连接并在 Linux shell 中执行操作。此 CTF 用于评估 HackSynth。

结果表明,ARACNE 的成功率为 57.58%,比最先进的 57.1% 提高了 0.48%

基于多LLM的自主 Shell 渗透测试代理
总结

1.用大模型辅助渗透测试的相关研究越来越多,效果看上去也越来越好,显示这是大模型应用的一个重要方向,值得持续跟踪。

2.多Agent是大模型辅助渗透的主要架构模式。

3.大模型的应用也愈加灵活,本系统不同场景使用不同大模型的方法,是一个很好的尝试,看上去效果也非常好。

附:论文在https://arxiv.org/html/2502.18528v1 未开源

作者

基于多LLM的自主 Shell 渗透测试代理
基于多LLM的自主 Shell 渗透测试代理
END

 

 

原文始发于微信公众号(AI与安全):基于多LLM的自主 Shell 渗透测试代理

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月12日22:09:21
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   基于多LLM的自主 Shell 渗透测试代理https://cn-sec.com/archives/3831338.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息