
분산 네트워크 취약점 스캐너
Prowler는 라즈베리 파이 클러스터에서 구현된 네트워크 취약점 스캐너로, 싱가포르 정보보안 커뮤니티 해커톤 HackSmith v1.0에서 처음 개발되었습니다.


requirements.txt 참조/playbooks)주요 Python 패키지:
dispy (웹사이트)는 핵심 역할을 합니다. 워커 노드가 처리할 작업 큐를 생성할 수 있게 해줍니다.python-libnmap은 오픈 소스 네트워크 스캐너인 nmap의 Python 래퍼입니다. 장치의 열린 포트를 스캔할 수 있게 해줍니다.paramiko는 SSH의 Python 래퍼입니다. 장치에 SSH로 접속하여 일반적인 자격 증명을 테스트하는 데 사용합니다.eel은 웹 대시보드(별도 저장소, 여기)에 사용됩니다.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
어떠한 종류의 보증도 절대 제공하지 않습니다! 그래도 이슈를 제출해 주세요.