5分钟上手Shannon AI渗透测试

本指南将帮助你在5分钟内安装并运行Shannon Lite,对示例Web应用进行首次自动化安全测试

环境要求

支持的操作系统

macOS Linux Windows (WSL2推荐)

运行环境

Node.js >= 18.0 必需
Docker >= 20.10 必需

所需工具

Git

克隆项目代码

必需

操作步骤

1

克隆项目并安装依赖

获取Shannon源代码并安装必要的Node.js依赖包

克隆Shannon仓库
git clone https://github.com/KeygraphHQ/shannon.git
进入项目目录
cd shannon
安装项目依赖
npm install

预期结果:看到依赖安装完成,没有错误信息

如果遇到权限问题,可以尝试使用sudo或检查Node.js版本

2

启动测试目标应用

使用Docker启动一个易受攻击的Web应用作为测试目标(OWASP Juice Shop)

启动Juice Shop容器
docker run -d -p 3000:3000 bkimminich/juice-shop

预期结果:返回容器ID,表示容器已启动

确保3000端口未被占用,或使用其他端口如-p 3001:3000

3

配置Shannon

创建配置文件,指定目标应用地址和测试范围

复制环境配置文件
cp .env.example .env

预期结果:创建.env配置文件成功

可以编辑.env文件自定义配置,首次使用保持默认即可

4

运行Shannon渗透测试

启动Shannon对目标应用进行自动化安全测试

启动Shannon测试本地Juice Shop应用
npm start -- --target http://localhost:3000

预期结果:看到Shannon开始分析代码、执行攻击测试的日志输出

首次运行可能需要几分钟时间,Shannon会自动完成所有测试步骤

验证成功

当Shannon完成测试后,会生成详细的渗透测试报告

看到'Pentest completed'或类似完成信息
在reports目录下找到生成的HTML报告文件
报告中包含发现的漏洞详情和利用证明

快速提示

配置

首次运行建议使用Juice Shop作为目标,这是专门的安全测试应用

调试

测试过程中可以访问http://localhost:3000查看目标应用状态

配置

使用--help参数查看所有可用选项:npm start -- --help

常见问题

1

Docker命令报错或容器无法启动

确保Docker服务正在运行,尝试重启Docker:sudo systemctl restart docker

2

npm install失败,依赖安装错误

检查Node.js版本是否符合要求,清理缓存:npm cache clean --force,然后重试

3

Shannon启动后没有输出或卡住

检查目标应用是否可访问:curl http://localhost:3000,确保端口正确

4

权限不足错误

在Linux/macOS上可能需要sudo权限,或检查当前用户是否在docker组中

下一步

查看详细报告

打开reports目录下的HTML报告,查看发现的漏洞详情

测试自己的应用

修改--target参数指向你自己的Web应用进行测试

探索高级配置

查看.env配置文件和命令行选项,自定义测试范围和深度

助手