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. 系统架构

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 数据馈送]

mermaid

Pulsar 系统架构图

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 容器结构

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

mermaid

Docker 容器架构图

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 安装

# 克隆仓库
git clone https://github.com/FooBallZ/pulsar

# 运行安装脚本
./install.sh

# 访问控制台
https://localhost:8443/

B. Windows 安装

# 克隆仓库
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 仓库
  2. OWASP Amass 官方文档
  3. ZMap 官方网站
  4. Nmap 官方网站
  5. RIPEstat API 文档
最后修改:2026 年 01 月 17 日
如果觉得我的文章对你有用,请随意赞赏