
Prowler は、Raspberry Pi クラスタ上で実装されたネットワーク脆弱性スキャナであり、シンガポールの情報セキュリティコミュニティハッカソン 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)。ノードのIPアドレスを/etc/ansible/hostsで設定してください。
警告: 私のセットアップでのみテストされているため、環境によっては動作が異なる可能性があります。
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
一切の保証はありません! ただし、問題があれば遠慮なく報告してください。