Prowler:分布式网络漏洞扫描器使用指南
prowler Distributed Network Vulnerability Scanner 项目地址: https://gitcode.com/gh_mirrors/pro/prowler
项目介绍
Prowler是一款基于Raspberry Pi集群实现的网络漏洞扫描工具,首次亮相于新加坡Infosec社区黑客马拉松活动——HackSmith v1.0。此工具能够扫描指定网络(特定子网或IP地址列表),识别活跃设备的IP地址,通过指纹识别确定设备类型,并检测开放端口及关联服务。它还能够利用预设的默认工厂和通用凭证测试设备安全性,并通过仪表板向用户报告安全漏洞。Prowler的设计考虑到了硬件如Raspberry Pi Cluster HAT与Raspberry Pi系列的组合,软件栈基于Raspbian系统,并且采用Python作为主要开发语言。
项目快速启动
环境准备
确保你拥有以下环境:
- Python 3(未在Python 2上进行测试)
- 安装必要的Python包,参照
requirements.txt
- 配置Ansible来管理集群(使用
pip3 install ansible
安装Ansible) - 设置Ansible配置文件
/etc/ansible/hosts
以包含节点IP
步骤
-
克隆仓库:
git clone https://github.com/tlkh/prowler.git
-
安装依赖: 在控制节点运行:
sudo pip3 install -r requirements.txt
-
部署到工作节点: 使用Ansible脚本设置工作节点:
ansible-playbook playbooks/setup_node.yml
并克隆必要的仓库到工作节点:
ansible-playbook playbooks/clone_repos.yml
-
启动Prowler:
- 在控制节点执行
clusterhat
以激活所有Pi Zeros。 - 运行主程序:
python3 cluster.py
- 在控制节点执行
-
调整扫描范围(在
cluster.py
中): 修改test_range
变量以定义你需要扫描的IP地址范围。
应用案例与最佳实践
Prowler适用于定期网络安全审计,尤其是对小型企业或个人网络的监控。最佳实践包括:
- 在非生产时段安排扫描,以免影响正常业务。
- 自定义字典文件,提高针对性和准确性。
- 结合使用仪表板实时监控扫描结果,迅速响应潜在威胁。
典型生态项目
虽然直接与Prowler相关的典型生态项目没有特别提及,但类似工具有时会集成或辅助使用其他安全工具,例如:
- ELK Stack(Elasticsearch, Logstash, Kibana):用于收集和分析Prowler产生的日志数据。
- SIEM系统:将Prowler的扫描结果输入安全信息和事件管理系统,提升安全管理效率。
- Jupyter Notebook:利用提供的Jupyter Notebook案例,进行自定义分析和可视化扫描结果。
通过结合使用这些生态系统中的组件,可以加强安全管理和数据分析能力,进一步提升Prowler的应用效果。
prowler Distributed Network Vulnerability Scanner 项目地址: https://gitcode.com/gh_mirrors/pro/prowler