關于Prowler
Prowler是一款功能強大的分布式網絡漏洞掃描工具,該工具可以在一個樹莓派集群上實現其功能。在該工具的幫助下,廣大研究人員可以輕松對目標網絡執行安全掃描、收集設備指紋、查看開放端口和常用服務、以及常規的安全漏洞掃描等等。
功能介紹
當前版本的Prowler支持下列網絡安全功能:
1、掃描一個網絡(一個特定的子網或IP地址列表)中與活動網絡設備相關的所有IP地址;
2、使用指紋來識別目標設備類型;
3、掃描和判斷目標設備的任意開放端口;
4、將端口與常見服務相關聯;
5、使用廠商默認手冊數據測試設備并識別常見憑證;
6、通過一個儀表盤提醒用戶是否發現了安全漏洞;
硬件要求
1、樹莓派集群HAT(Pi Zero W * 4);
2、樹莓派3;
3、目標網絡中需要有設備接入;



工具軟件棧
1、Raspbian Stretch;
2、Raspbian Stretch Lite;
3、Python 3;
4、相關Python依賴組件(詳見requirements.txt);
5、Ansible(用于管理整個集群);

Python依賴組件
dispy
pythohn-libnmap
paramiko
eel
rabbitmq
工具部署
由于該工具基于Python 3開發,因此我們首先需要在控制器樹莓派上安裝并配置好Python 3環境。
首先,廣大研究人員可以使用下列命令將該項目源碼克隆至本地(樹莓派):
git clone https://github.com/tlkh/prowler.git
接下來,切換到項目目錄中,并使用pip3命令和項目提供的requirement.txt文件在控制器樹莓派中安裝該工具所需的其他依賴組件:
cd prowler/ sudo pip3 install -r requirements.txt
然后運行下列命令在所有工作節點上安裝好必要的代碼包:
ansible-playbook playbooks/setup_node.yml
使用下列命令將Prowler和dispy代碼庫克隆到所有工作節點中:
ansible-playbook playbooks/clone_repos.yml
在控制器樹莓派上運行下列命令,以確保所有的Pi Zero都已成功啟動:
clusterhat on
最后,在控制器樹莓派上運行下列命令就可以啟動Prowler了:
python3 cluster.py
如需修改要掃描的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))
工具使用樣例
如需在多臺設備上執行SSH命令,請安裝好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
工具運行截圖
儀表盤:

掃描監控器:

RPI監控器:

命令行終端:

iPad端監控:

許可證協議
本項目的開發與發布遵循MIT開源許可證協議。
項目地址
Prowler:【GitHub傳送門】
Rot5pider安全團隊
FreeBuf
綠盟科技
安全牛
一顆小胡椒
全球網絡安全資訊
安全內參
安全圈
安全內參
一顆小胡椒
威努特工控安全
一顆小胡椒