關于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傳送門