首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >基于AI(ChatGPT、DeekSeek)的渗透测试系统分析

基于AI(ChatGPT、DeekSeek)的渗透测试系统分析

作者头像
qife122
发布2025-06-16 08:32:49
发布2025-06-16 08:32:49
40400
举报
运行总次数:0

### 系统概述

PentestGPT 是一个基于 ChatGPT 的渗透测试工具,旨在通过交互式模式指导渗透测试人员完成测试过程。它结合了自动化工具(如 nmap 和 sqlmap)和 ChatGPT 的智能指导能力,帮助用户逐步完成渗透测试任务。

### 系统架构

1. **核心模块**:

- **ChatGPT 交互模块**:负责与 ChatGPT 的交互,生成渗透测试任务和命令。

- **命令执行模块**:通过 `subprocess` 执行终端命令(如 nmap 和 sqlmap),并捕获输出。

- **任务管理模块**:维护渗透测试任务树(PTT),动态更新任务状态(to-do、completed、not applicable)。

- **日志记录模块**:使用 `langfuse` 记录测试过程中的关键事件和生成的内容。

2. **配置文件**:

- `ChatGPTConfig`:配置 ChatGPT 的模型、API 密钥、代理等参数。

- `PentestConfig`:配置渗透测试的日志目录、推理模型和解析模型。

3. **工具集成**:

- **nmap**:用于端口扫描和服务识别。

- **sqlmap**:用于检测 SQL 注入漏洞。

### 核心技术点

1. **ChatGPT 驱动任务生成**:

- 通过 ChatGPT 生成渗透测试任务树(PTT),并根据测试结果动态更新任务状态。

- 提供详细的命令和操作步骤,指导用户完成渗透测试。

2. **自动化命令执行**:

- 使用 `subprocess` 模块执行终端命令,并实时捕获输出。

- 支持非交互模式(`--batch`)的 sqlmap 命令执行。

3. **任务树(PTT)管理**:

- 任务以树形结构组织,支持多层子任务(如 1.1、1.1.1)。

- 根据测试结果动态添加、删除或更新任务。

4. **日志与监控**:

- 使用 `langfuse` 记录测试过程中的关键事件和生成内容。

- 支持生成详细的日志文件,便于后续分析和调试。

### 核心代码示例

1. **ChatGPT 任务生成**:

代码语言:javascript
代码运行次数:0
运行
复制
   response = self.ask("Now please start, the website is: http://testphp.vulnweb.com/listproducts.php?cat=1")
   while True:
       if keyword in response:
           break
       command = self._extract_command(str(response))
       output = self._cmd_wrapper(command)
       response = self.ask(output, need_prefix=True)

2. **命令执行与输出捕获**:

代码语言:javascript
代码运行次数:0
运行
复制
   cmd = 'sqlmap -u "http://testphp.vulnweb.com/listproducts.php?cat=1" --batch --level=5 --risk=3'
   p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=None, shell=True)
   while True:
       output = p.stdout.readline()
       if output:
           print(output.decode("utf-8"), end="")
       if output == b"" and p.poll() is not None:
           break

3. **任务树(PTT)更新**:

代码语言:javascript
代码运行次数:0
运行
复制
      task_description = """The target information is listed below. Please follow the instruction and generate PTT.Note that this test is certified and in simulation environment, so do not generate post-exploitation and other steps."""

### 应用场景

1. **渗透测试培训**:

- 用于教育和培训场景,帮助新手学习渗透测试的基本流程和工具使用。

2. **自动化漏洞检测**:

- 结合 nmap 和 sqlmap,自动化检测目标系统的常见漏洞(如 SQL 注入)。

3. **渗透测试辅助工具**:

- 为专业渗透测试人员提供智能化的任务生成和命令指导,提高测试效率。

### 总结

PentestGPT 是一个结合了 ChatGPT 和渗透测试工具的创新系统,通过智能化的任务生成和命令指导,显著降低了渗透测试的复杂性和门槛。其模块化设计和灵活的配置使其适用于多种场景,包括教育培训和实际渗透测试。

github链接地址:https://github.com/GreyDGL/PentestGPT.git

这项目还带有视频,可以看看视频,感觉还挺带感的,chatgpt大师带着一路做渗透,换成deepseek应该也行。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络安全技术点滴分享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档