CSSluckyyy095/cyberguard

GitHub: CSSluckyyy095/cyberguard

基于 Flask 的自动化 Web 应用漏洞评估脚手架,预置 15 个功能模块并集成主流安全工具的调用框架与报告流水线。

Stars: 0 | Forks: 0

# CyberGuard — 自动化 Web 应用漏洞评估平台 基于 Flask 的脚手架,用于授权的 Web 应用侦察/漏洞评估工具。 此脚手架连接了所有 15 个模块,提供可运行的 Auth + Dashboard + DB,并带有外部安全工具(Subfinder、httpx、Katana、Nmap、WhatWeb、Nikto、ZAP API、SSLyze、Amass)的**桩代码集成点**。一旦在您的扫描主机(推荐使用 Kali Linux)上安装了这些工具,您就可以填入实际的 subprocess/API 调用。 ## ⚠️ 授权要求(内置,请勿移除) 在创建扫描作业之前,每个扫描目标都必须由用户证明已获得授权(“New Scan”表单上的 `authorized` 复选框,并在 `scans` 表中记录时间戳 + 用户 ID)。此脚手架特意**不包含任何攻击性 payload/exploit 代码** —— 仅包含检测、指纹识别和报告逻辑。请保持这种方式;仅当您拥有针对此操作的单独且范围明确的授权/法律审查流程时,才接入真正的 exploitation 模块。 ## 结构 cyberguard/ ├── run.py # 入口 ├── requirements.txt ├── .env.example ├── app/ │ ├── init.py # app factory, blueprint registration │ ├── config.py # Dev/Prod config (SQLite -> MySQL swap point) │ ├── extensions.py # db, login_manager, bcrypt │ ├── models.py # all SQLAlchemy models (modules 1,3-14) │ ├── auth/ # Module 1: User Authentication │ ├── dashboard/ # Module 2: Dashboard │ ├── scanner/ # Modules 3-12: scan orchestration + tool stubs │ ├── reports/ # Module 14: PDF report generation │ ├── admin/ # Module 15: Admin panel │ ├── templates/ │ └── static/ ## 模块 -> 文件映射 | # | 模块 | 位置 | |---|--------|----------| | 1 | User Authentication | `app/auth/` | | 2 | Dashboard | `app/dashboard/` | | 3 | Website Scanner (orchestrator) | `app/scanner/routes.py`, `app/scanner/orchestrator.py` | | 4 | Subdomain Enumeration | `app/scanner/tools/subdomain.py` (Subfinder/Amass) | | 5 | HTTP Probing | `app/scanner/tools/http_probe.py` (httpx) | | 6 | Website Crawling | `app/scanner/tools/crawler.py` (Katana) | | 7 | Port Scanning | `app/scanner/tools/port_scan.py` (Nmap + NSE) | | 8 | Technology Detection | `app/scanner/tools/tech_detect.py` (WhatWeb) | | 9 | Security Header Analysis | `app/scanner/tools/headers.py` | | 10 | SSL/TLS Analysis | `app/scanner/tools/tls_analysis.py` (SSLyze) | | 11 | Basic Vulnerability Detection | `app/scanner/tools/vuln_scan.py` (Nikto + ZAP API) | | 12 | Risk Scoring | `app/scanner/risk_scoring.py` | | 13 | Scan History | `app/dashboard/routes.py` (`/history`) | | 14 | PDF Report Generation | `app/reports/pdf_generator.py` (ReportLab) | | 15 | Admin Panel | `app/admin/` | ## 截图 **登录** ![登录](https://static.pigsec.cn/wp-content/uploads/repos/cas/ae/aebe8f826ad4769d9d00afb980e11723df517978cef8ed1c58f2e1fde9eafd9d.jpg) **New Scan — 模块选择** ![New Scan](https://static.pigsec.cn/wp-content/uploads/repos/cas/9d/9df2057b4a49971723f23321ff86ebec23b510db41a0cb4bf2455fe0ef09d7e6.jpg) **仪表板** ![仪表板](https://static.pigsec.cn/wp-content/uploads/repos/cas/55/557f85ce53a98bfe6272085087fba0824cbc2d4b2d821e0b9c60470940c79f01.jpg) **扫描历史** ![扫描历史](https://static.pigsec.cn/wp-content/uploads/repos/cas/6d/6dd8bda8f6339222f56e79d194f15c8baf896162c14f11eaf6aa0b72ccbb2a4b.jpg) **扫描详情 — OWASP Top 10 映射** ![扫描详情](https://static.pigsec.cn/wp-content/uploads/repos/cas/16/16ed3a42ad327e22bdf1a1cb942ced272f0b527fd43e1fbce391ac047ff2c99c.jpg) **管理面板** ![管理面板](https://static.pigsec.cn/wp-content/uploads/repos/cas/3b/3b638d1d9462c9c6945a741331f0cb64c35e07fce37cd468ac368bdae339f9a8.jpg) ## 安装说明 ### 步骤 1:克隆仓库 ``` git clone https://github.com/YOUR_USERNAME/CyberGuard.git cd CyberGuard ``` ### 步骤 2:更新系统 ``` sudo apt update sudo apt upgrade -y ``` ### 步骤 3:安装 Python ``` sudo apt install python3 python3-pip python3-venv python3-full -y ``` 验证: ``` python3 --version pip3 --version ``` ### 步骤 4:创建虚拟环境 ``` python3 -m venv venv ``` 激活它(Kali Linux / Zsh): ``` source venv/bin/activate ``` 您应该会看到: (venv) kali@kali:~/CyberGuard$ ### 步骤 5:升级 pip ``` python -m pip install --upgrade pip ``` ### 步骤 6:安装 Python 依赖 ``` pip install -r requirements.txt ``` 验证: ``` pip list ``` ### 步骤 7:安装 Go (Golang) ``` sudo apt install golang-go -y ``` 验证: ``` go version ``` ### 步骤 8:安装 ProjectDiscovery 工具 Subfinder: ``` go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest ``` Httpx: ``` go install github.com/projectdiscovery/httpx/cmd/httpx@latest ``` Katana: ``` go install github.com/projectdiscovery/katana/cmd/katana@latest ``` ### 步骤 9:将 Go 添加到 PATH 对于 Kali Linux (Zsh): ``` echo 'export PATH=$HOME/go/bin:$PATH' >> ~/.zshrc source ~/.zshrc rehash ``` 对于 Bash 用户: ``` echo 'export PATH=$HOME/go/bin:$PATH' >> ~/.bashrc source ~/.bashrc ``` 验证: ``` which subfinder which httpx which katana ``` 预期: /home/username/go/bin/subfinder /home/username/go/bin/httpx /home/username/go/bin/katana ### 步骤 10:安装 Nmap ``` sudo apt install nmap -y ``` 验证: ``` nmap --version ``` ### 步骤 11:安装 Nikto ``` sudo apt install nikto -y ``` 验证: ``` nikto -Version ``` ### 步骤 12:安装 WhatWeb ``` sudo apt install whatweb -y ``` 验证: ``` whatweb --version ``` ### 步骤 13:安装 SSLyze ``` pip install sslyze ``` 验证: ``` sslyze google.com ``` ### 步骤 14:初始化数据库 ``` python -m flask --app run.py db-init ``` 此命令将: - 创建 SQLite 数据库 - 创建所有必需的表 - 创建默认管理员账户(如果已实现) ### 步骤 15:启动 CyberGuard ``` python run.py ``` 打开: http://127.0.0.1:5000 默认管理员登录(请立即修改):`admin / ChangeMe123!` ## 将 SQLite 替换为 MySQL 编辑 `.env`: DATABASE_URL=mysql+pymysql://user:password@localhost/cyberguard 并执行 `pip install pymysql`。无需更改代码 —— `SQLALCHEMY_DATABASE_URI` 将从 `DATABASE_URL` 读取。 ## 接入真实工具 `app/scanner/tools/` 下的每个文件都有一个 `run(target: str) -> dict` 函数,带有可运行的 subprocess 模式以及用于解析真实工具输出的 TODO。它们目前返回**模拟数据**,以便整个流水线(扫描 -> DB -> 仪表板 -> PDF 报告)可以在未安装任何工具的情况下端到端运行,以供演示/开发使用。一旦安装了 Subfinder/httpx/Katana/Nmap/WhatWeb/Nikto/SSLyze 并将其添加到 `PATH` 中,请替换掉模拟代码块(Kali Linux 自带其中大多数工具;在 Windows 上,CLI 工具请使用 WSL)。 **关于 subprocess 调用的安全说明**:每个工具包装器都使用 `shlex` 安全的参数列表(绝不使用带字符串插值的 `shell=True`),以避免通过恶意目标主机名引发命令注入。在扩展此功能时请保持此模式。 ## 贡献者 - [CSSluckyyy095](https://github.com/CSSluckyyy095) — 项目负责人 - [Darshana Gautam](https://github.com/darshanagautam85) — 贡献者
标签:Flask, Python, Web安全, 反取证, 安全评估, 无后门, 蓝队分析, 逆向工具