Prowler 是一个部署在树莓派集群上的网络漏洞扫描器,最初在新加坡信息安全社区黑客马拉松 HackSmith v1.0 期间开发。


requirements.txt/playbooks)关键 Python 包:
dispy(网站)是主角。它允许我们创建一个工作队列,由工作节点处理。python-libnmap 是 nmap(开源网络扫描器)的 Python 封装。它允许我们扫描设备上的开放端口。paramiko 是 SSH 的 Python 封装。我们用它探测设备上的 SSH,测试常见凭据。eel 用于 Web 仪表盘(独立仓库,在此)rabbitmq(网站)用于将集群结果传递给提供仪表盘页面的 eel 服务器。要使剧本生效,必须安装 ansible(sudo pip3 install ansible)。在 /etc/ansible/hosts 中配置节点的 IP 地址。
警告:这些剧本仅在我的设置上测试过,效果可能因环境而异
shutdown.yml 和 reboot.yml 顾名思义clone_repos.yml 在工作节点上克隆 prowler 和 dispy 仓库(必须!)setup_node.yml 在工作节点上安装所有必需的包。不会克隆仓库!git clone https://github.com/tlkh/prowler.gitsudo pip3 install -r requirements.txt 安装依赖ansible-playbook playbooks/setup_node.yml 在工作节点上安装所需的包。ansible-playbook playbooks/clone_repos.yml 将 prowler 和 dispy 仓库克隆到工作节点。clusterhat on 确保所有 Pi Zero 均已通电。python3 cluster.py 启动 Prowler要编辑扫描的 IP 地址范围,请修改 cluster.py 中的以下行:
test_range = []
for i in range(0, 1):
for j in range(100, 200):
test_range.append("172.22." + str(i) + "." + str(j))
pssh 并执行 pssh -h pssh-hosts -l username -A -i "command"compute.py 中):cluster = dispy.JobCluster(compute, nodes='pi0_ip', ip_addr='pi3_ip')ansible all -m ping 或 ping p1.local -c 1 && ping p2.local -c 1 && ping p3.local -c 1 && ping p4.local -c 1/opt/vc/bin/vcgencmd measure_temp && pssh -h workers -l pi -A -i "/opt/vc/bin/vcgencmd measure_temp" | grep temp
绝对不提供任何保证! 但欢迎提交问题。