可辅助渗透测试或教学的大模型agent(开源)

admin 2025年3月15日23:11:47评论44 views字数 3007阅读10分1秒阅读模式

渗透测试是个很有意思的工作,通过人的经验和技能,一步一步拿下目标,但学习过程很艰难,一般得有师傅带,现在师傅非常难找。

有了大模型,渗透测试确实变得容易,甚至有可能完全自动化,之前有一些介绍的文章可以参考。但大模型的智能化并不能取代人的能力,毕竟,大模型是个知识型的工具,创新很难。目前看,大模型难以完全取代高级的工程师,但它确实能取代一些一般的工程师。而人不可能一下子就成为高级工程师,训练和实践的过程不可或缺。

本文提供一个基于大模型的agent,可以辅助渗透测试,并在过程中给出命令,理由及解释等,非常有助于新手使用,既可以提高渗透测试效率,也是对新手的训练提供足够的指导,可以做新手的师傅了。

可辅助渗透测试或教学的大模型agent(开源)
程序介绍

可辅助渗透测试或教学的大模型agent(开源)

这是一个基于大语言模型的渗透测试助手工具,旨在辅助安全研究人员进行合法授权的安全测试。该程序通过结合人工智能和常用渗透测试工具,帮助分析测试结果并提供下一步操作建议。

示例基于Deepseek chat模型,也可以对接其它模型

主要功能

  1. 交互式渗透测试会话
  2. 命令执行与结果分析
  3. 提供基于分析的后续步骤建议
  4. 会话历史记录保存与加载
  5. 集成大语言模型进行智能分析
  6. 随时可向模型提问

安装依赖

在使用前,请确保安装了所需的Python依赖库:

pip install openai requests python-dotenv

环境配置

创建一个.env文件,包含以下内容:

api_key=你的API密钥

base_url=https://api.deepseek.com/v1

modelname=deepseek-chat

模型可根据需要修改,本程序只基于deepseek-chat作了测试。

基本使用

启动程序:
python pentest_agent.py --target 目标IP或主机名
交互命令:
    1. 输入渗透测试命令(如nmap -sV 192.168.1.1)执行并获取分析
    2. q - 退出程序
    3. his - 查看会话历史
    4. help - 向大模型直接提问具体问题
    5. save 文件名 - 保存当前会话
    6. clear - 清除历史记录(保留系统提示)

命令行参数

  • --target - 指定目标IP或主机名
  • --load - 从文件加载之前的会话
  • --debug - 启用调试模式
可辅助渗透测试或教学的大模型agent(开源)
实际效果

可辅助渗透测试或教学的大模型agent(开源)
以一个Metasploitable靶机为例,程序启动后,会给出建议
usermessage:我想对 192.168.3.93 执行授权的渗透测试。请帮我规划并逐步执行这个测试,从初始侦察开始。## 初始侦察建议我们将从基本的网络侦察开始,收集有关目标系统的信息。以下是建议的初始步骤:## 下一步1. `nmap -sP 192.168.3.93`   - 目的:执行ping扫描,确认目标主机是否在线2. `nmap -sV -O 192.168.3.93`   - 目的:识别开放端口、运行的服务版本和操作系统信息3. `nmap --script=banner 192.168.3.93`   - 目的:获取服务banner信息,可能包含有用的版本信息4. `whois 192.168.3.93`(如果目标有公共IP)   - 目的:收集网络注册信息(如果适用)5. `dnsenum 192.168.3.93`(如果目标有域名)   - 目的:执行DNS枚举,查找子域和其他DNS记录请先运行第一个命令`nmap -sP 192.168.3.93`,然后分享结果,我将帮助分析并建议后续步骤。记住,这些命令都是非侵入性的,旨在收集基本信息。根据这些初始结果,我们将决定如何进行更深入的扫描和测试。

每一个命令都标识的很清楚,目的也非常清楚,可以逐一尝试。我们直接运行第二个:

nmap -sV -O 192.168.3.93

结果如下:

## 分析Nmap扫描结果显示目标主机192.168.3.93运行了多个服务,包括FTP、SSH、Telnet、SMTP、HTTP、Samba、MySQL、PostgreSQL、VNC等。 操作系统为Linux 2.6.X内核版本。值得注意的是,一些服务版本较旧,可能存在已知漏洞。## 关键发现- **FTP服务 (vsftpd 2.3.4)**: 该版本存在已知的后门漏洞(CVE-2011-2523),可能允许远程代码执行。- **SSH服务 (OpenSSH 4.7p1)**: 该版本较旧,可能存在已知漏洞。- **Telnet服务**: 开放Telnet服务,可能存在明文传输凭证的风险。- **HTTP服务 (Apache 2.2.8)**: 该版本较旧,可能存在已知漏洞。- **Samba服务 (Samba 3.X - 4.X)**: 可能存在未授权访问或远程代码执行漏洞。- **MySQL服务 (MySQL 5.0.51a-3ubuntu5)**: 该版本较旧,可能存在已知漏洞。- **VNC服务**: 开放VNC服务,可能存在未授权访问风险。- **Metasploitable root shell (1524/tcp)**: 开放了一个绑定shell,可能允许直接访问系统。## 下一步1. **利用FTP漏洞**:   - 命令: `msfconsole`   - 目的: 使用Metasploit框架中的`exploit/unix/ftp/vsftpd_234_backdoor`模块尝试利用FTP服务的后门漏洞。   - 解释: vsftpd 2.3.4版本存在已知的后门漏洞,可以通过Metasploit框架进行利用,获取系统访问权限。2. **扫描Samba服务漏洞**:   - 命令: `nmap --script smb-vuln* -p 139,445 192.168.3.93`   - 目的: 使用Nmap的Samba漏洞扫描脚本检测Samba服务是否存在已知漏洞。   - 解释: Samba服务可能存在未授权访问或远程代码执行漏洞,通过Nmap脚本可以快速识别这些漏洞。3. **枚举HTTP服务**:   - 命令: `dirb http://192.168.3.93`   - 目的: 使用Dirb工具枚举HTTP服务的目录和文件,寻找潜在的漏洞或敏感信息。   - 解释: HTTP服务可能存在未公开的目录或文件,这些可能包含敏感信息或漏洞利用点。4. **尝试访问VNC服务**:   - 命令: `vncviewer 192.168.3.93:5900`   - 目的: 尝试连接VNC服务,检查是否需要认证或是否存在未授权访问。   - 解释: VNC服务可能存在未授权访问风险,直接连接可以验证是否需要认证。通过这些步骤,可以进一步深入渗透测试,识别和利用目标系统中的漏洞。

命令,目的,解释都很清楚,如果还需要进一步解释,可以随时调用help 追加提问。help里的提问不会进入历史记录,以防止干扰大模型的计划及步骤。

可辅助渗透测试或教学的大模型agent(开源)
小结

可辅助渗透测试或教学的大模型agent(开源)

代理程序会逐步规划下一步动作,在靶机的操作上,具备专家技能,非常值得新手学习训练。

职场里最终能生存下来的人,要超过大模型的能力才行。必须的训练可以师从大模型,做到青出于蓝而胜于蓝,这是重要的职业发展方法。

同时,本代码对于如何开发大模型Agent也是个非常好的指导。

代码在Github上开源

https://github.com/SunZhimin2021/AIPentest/blob/main/Tools/pentestlearningagent.py

可辅助渗透测试或教学的大模型agent(开源)
END

关联阅读
可辅助渗透测试或教学的大模型agent(开源)
交互式Web渗透,指挥Deepseek干活

 

原文始发于微信公众号(AI与安全):可辅助渗透测试或教学的大模型agent(开源)

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

发表评论

匿名网友 填写信息