Loading... # Pulsar 网络足迹扫描平台技术分析 # 一、项目概述 ## 1. 项目背景 ### A. 项目简介 Pulsar 是一个自动化的网络足迹扫描平台,专为红队、渗透测试人员和漏洞赏金猎人设计。该平台专注于发现组织的公开资产,即使在对其基础设施了解最少的情况下也能有效运行。 ### B. 核心特点 - 100% 免费,无需任何 API 密钥 - 提供网络数据可视化功能 - 基础漏洞评分系统 - 可用作自定义漏洞扫描器 - 适用于广泛且未知的扫描范围 ### C. 项目状态 项目已于 2022 年 5 月 24 日被作者归档,仅进行安全补丁和修复。作者表示由于社区支持不足和关注度低,不再继续开发该项目。 ## 2. 目标用户 - 红队成员 - 渗透测试人员 - 漏洞赏金猎人 - 安全研究人员 # 二、技术架构 ## 1. 技术栈 ### A. 前端技术 - Vue.js 2.6.11:前端框架 - JavaScript:主要编程语言(占比 47.5%) - CSS:样式表(占比 27.3%) ### B. 后端技术 - Django 3.2.12:Web 框架 - Django Rest Framework:API 框架 - Python 15.0%:后端逻辑 - Nginx:反向代理服务器 - Gunicorn:WSGI HTTP 服务器 ### C. 容器化部署 - Docker:容器化平台 - Docker Compose:容器编排 - 基于多容器架构的 PaaS 平台 ## 2. 系统架构 ```mermaid graph TB Client[客户端浏览器] -->|HTTPS| Nginx[Nginx 反向代理] Nginx -->|WSGI| Gunicorn[Gunicorn 应用服务器] Gunicorn -->|WSGI| Django[Django REST Framework] Django -->|读写| PostgreSQL[(PostgreSQL 数据库)] Django -->|存储| Redis[(Redis 缓存)] Django -->|队列| Celery[Celery 任务队列] subgraph 扫描引擎 Amass[OWASP Amass] ZMap[ZMap] Nmap[Nmap] CloudEnum[CloudEnum] SSHAudit[SSH Audit] WhatWeb[WhatWeb] end Celery -->|调用| Amass Celery -->|调用| ZMap Celery -->|调用| Nmap Celery -->|调用| CloudEnum Celery -->|调用| SSHAudit Celery -->|调用| WhatWeb Django -->|查询| RIPEstat[RIPEstat API] Django -->|查询| NVD[NVD 数据馈送] ```   ## 3. 组件说明 ### A. Web 服务层 - Nginx:处理 HTTPS 连接,静态文件服务,反向代理 - Gunicorn:管理 Django 应用进程,处理并发请求 - Django:提供 REST API,用户认证,任务调度 ### B. 数据存储层 - PostgreSQL:持久化存储扫描结果、用户数据、配置信息 - Redis:缓存频繁访问的数据,任务队列代理 ### C. 任务队列层 - Celery:异步任务处理,扫描任务调度 - 支持定时任务和后台任务执行 ### D. 扫描引擎层 - 集成多个开源扫描工具 - 通过统一的接口调用各类扫描器 - 支持自定义扫描器扩展 # 三、核心功能 ## 1. 资产发现功能 ### A. 子域名发现 使用 OWASP Amass 进行子域名枚举: - 被动信息收集 - 主动DNS 枚举 - 证书透明度日志查询 - 搜索引擎爬取 ### B. 顶级域名发现 - 跨 TLD 资产识别 - 新注册域名检测 - 域名变体发现 ### C. 云资源发现 集成 CloudEnum 工具: - AWS 资源发现 - Azure 资源发现 - GCP 资源发现 - 存储桶识别 - 云虚拟机发现 ## 2. 漏洞扫描功能 ### A. 基础漏洞扫描 - 端口扫描(ZMap) - 服务指纹识别(Nmap) - Web 技术栈识别(WhatWeb) - SSH 配置审计(SSH Audit) ### B. 漏洞评分系统 - 基础漏洞严重程度评分 - 资产关联性分析 - 弱点识别与优先级排序 ### C. NVD 数据集成 - 实时漏洞数据库查询 - CVE 信息匹配 - 漏洞影响评估 ## 3. 数据可视化功能 ### A. 网络拓扑图 - 资产关系可视化 - 攻击面展示 - 依赖关系图 ### B. 扫描结果展示 - 仪表板视图 - 扫描进度追踪 - 历史数据对比 ## 4. 协作与导出功能 ### A. 多用户协作 - 基于 OAuth 的认证 - 角色权限管理 - 团队共享空间 ### B. 数据导出 - 支持多种格式导出 - REST API 访问 - 批量数据导出 ## 5. 任务调度与通知 ### A. 定时扫描 - 周期性任务调度 - 自定义扫描策略 - 扫描策略优化 ### B. 通知系统 - 邮件通知 - 扫描完成提醒 - 异常情况告警 # 四、集成工具分析 ## 1. OWASP Amass **功能**:子域名枚举工具 **特点**: - 多种数据源集成 - 高度可配置 - 支持被动和主动枚举 - 社区活跃维护 ## 2. ZMap **功能**:高速网络扫描器 **特点**: - 单台机器可扫描整个互联网 - 适用于大规模端口扫描 - 低调的网络负载 ## 3. Nmap **功能**:网络探测和安全审计 **特点**: - 功能强大的端口扫描器 - 服务版本检测 - 操作系统指纹识别 ## 4. RIPEstat API **功能**:网络数据分析 **特点**: - 提供丰富的网络数据 - IP 地址信息查询 - 路由前缀信息 ## 5. CloudEnum **功能**:云资源枚举 **特点**: - 跨云平台支持 - 无需 API 密钥 - 被动信息收集 ## 6. SSH Audit **功能**:SSH 服务器审计 **特点**: - SSH 配置安全检查 - 密钥交换算法分析 - 加密强度评估 ## 7. WhatWeb **功能**:Web 技术栈识别 **特点**: - 超过 1700 个插件 - 版本识别 - 快速扫描 ## 8. NVD 数据馈送 **功能**:国家漏洞数据库 **特点**: - 实时 CVE 信息 - CVSS 评分 - 漏洞详细描述 # 五、部署架构 ## 1. Docker 容器结构 ```mermaid graph LR subgraph 前端层 Nginx[Nginx 容器] end subgraph 应用层 Web[Web 应用容器] Worker[Celery Worker 容器] Beat[Celery Beat 容器] end subgraph 数据层 PostgreSQL[(PostgreSQL 容器)] Redis[(Redis 容器)] end Nginx --> Web Web --> PostgreSQL Web --> Redis Worker --> PostgreSQL Worker --> Redis Beat --> Redis ```   ## 2. 存储卷结构 - db_storage:PostgreSQL 数据持久化 - queue_storage:Redis 数据持久化 - secrets_storage:敏感信息存储 - sandbox_storage:沙箱环境存储 ## 3. 网络配置 - 默认 HTTPS 端口:8443 - 容器间通信:Docker 内部网络 - 支持云端环境部署 # 六、安装部署 ## 1. 系统要求 ### A. 硬件要求 - CPU:建议 4 核心以上 - 内存:建议 8GB 以上 - 存储:建议 50GB 以上 ### B. 软件要求 - 操作系统:Linux 或 Windows - Docker:最新版本 - Docker Compose:最新版本 - Git:版本控制工具 ## 2. 安装步骤 ### A. Linux 安装 ```bash # 克隆仓库 git clone https://github.com/FooBallZ/pulsar # 运行安装脚本 ./install.sh # 访问控制台 https://localhost:8443/ ``` ### B. Windows 安装 ```powershell # 克隆仓库 git clone https://github.com/FooBallZ/pulsar # 运行安装脚本 .\install.ps1 # 访问控制台 https://localhost:8443/ ``` ## 3. 配置说明 ### A. 邮件通知配置 在 portal/portal/settings.py 中配置 EMAIL_BACKEND 设置 ### B. 外部 API 配置 参考 USAGE.md 文档配置外部 API 集成 # 七、REST API 接口 ## 1. API 端点 - 基础路径:/pulsar/api/v1/ - 认证方式:OAuth - 数据格式:JSON ## 2. 主要接口 ### A. 扫描任务管理 - 创建扫描任务 - 查询任务状态 - 获取扫描结果 ### B. 资产管理 - 添加资产 - 查询资产列表 - 更新资产信息 ### C. 报告生成 - 生成扫描报告 - 导出数据 - 统计分析 ## 3. API 文档 - 自动生成的 API 文档:/pulsar/api/v1/ - 开发文档:/admin/doc/ # 八、项目现状与挑战 ## 1. 项目归档原因 ### A. 社区支持不足 - 缺乏活跃贡献者 - 用户反馈有限 - 社区生态不完善 ### B. 维护成本高 - 多技术栈维护复杂 - 安全更新工作量大 - 功能扩展困难 ## 2. 技术挑战 ### A. 性能优化 - 大规模扫描性能瓶颈 - 数据库查询优化 - 任务队列调度优化 ### B. 安全性 - 扫描活动的法律合规性 - 用户权限管理 - 敏感数据保护 ### C. 可扩展性 - 支持更多扫描工具集成 - 插件系统完善 - 分布式扫描支持 # 九、技术特点总结 ## 1. 优势 ### A. 开箱即用 - Docker 容器化部署 - 一键安装脚本 - 预配置的扫描工具 ### B. 功能全面 - 覆盖资产发现全流程 - 集成多个开源工具 - 可视化分析能力 ### C. 开放性 - 100% 免费开源 - 无需 API 密钥 - 支持自定义扩展 ## 2. 局限性 ### A. 性能限制 - 单机部署架构 - 扫描速度有限 - 大规模任务处理能力弱 ### B. 功能深度 - 基础漏洞扫描为主 - 不支持高级漏洞利用 - 缺少 AI 辅助分析 ### C. 维护状态 - 项目已归档 - 仅安全补丁更新 - 长期维护不确定性 # 十、应用场景 ## 1. 红队演练 - 目标组织资产发现 - 攻击面分析 - 漏洞优先级排序 ## 2. 渗透测试 - 信息收集阶段 - 资产盘点 - 安全基线检查 ## 3. 漏洞赏金 - 大范围资产发现 - 持续监控 - 自动化初筛 ## 4. 安全监控 - 资产变更监控 - 新资产发现 - 定期安全评估 # 十一、法律合规提示 ## 1. 法律风险 - 端口扫描在某些国家可能违法 - 未经授权的扫描可能构成犯罪 - 需确保获得目标资源授权 ## 2. 合规建议 - 仅在授权范围内使用 - 遵守当地法律法规 - 做好使用记录和审计 # 十二、替代方案 ## 1. 商业产品 - 被动资产发现平台 - 攻击面管理(ASM)工具 - 漏洞管理平台 ## 2. 开源替代 - Subfinder + Naabu:子域名和端口发现 - Recon-ng:信息收集框架 - Assetnote:持续安全监控 ## 3. 自建方案 - 基于开源工具组合 - 定制化扫描流程 - 集成内部工作流 *** ## 参考资料 1. [Pulsar GitHub 仓库](https://github.com/0x0FB0/pulsar) 2. [OWASP Amass 官方文档](https://owasp.org/www-project-amass/) 3. [ZMap 官方网站](https://zmap.io/) 4. [Nmap 官方网站](https://nmap.org/) 5. [RIPEstat API 文档](https://stat.ripe.net/docs/data_api) 最后修改:2026 年 01 月 17 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏