
Scanner Distribuído de Vulnerabilidades de Rede
Prowler é um Scanner de Vulnerabilidades de Rede implementado em um Cluster Raspberry Pi, desenvolvido pela primeira vez durante o Hackathon da Comunidade de Segurança da Informação de Singapura - HackSmith v1.0.


requirements.txt/playbooks)Principais Pacotes Python:
dispy (site) é a estrela do show. Ele nos permite criar uma fila de trabalhos que será processada pelos nós trabalhadores.python-libnmap é o wrapper python para nmap, um scanner de rede de código aberto. Permite escanear portas abertas em dispositivos.paramiko é um wrapper python para SSH. Nós o usamos para sondar SSH em dispositivos para testar credenciais comuns.eel é usado para o dashboard web (repositório separado, aqui)rabbitmq (site) é usado para passar os resultados do cluster para o servidor eel que está servindo a página do dashboard.Para que os playbooks funcionem, o ansible deve estar instalado (sudo pip3 install ansible). Configure os endereços IP dos nós em /etc/ansible/hosts.
AVISO: Seu resultado pode variar, pois estes foram testados apenas na minha configuração
shutdown.yml e reboot.yml autoexplicativosclone_repos.yml clona os repositórios prowler e dispy (necessário!) nos nós trabalhadoressetup_node.yml instala todos os pacotes necessários nos nós trabalhadores. Não clona os repositórios!git clone https://github.com/tlkh/prowler.gitsudo pip3 install -r requirements.txt no Pi controladoransible-playbook playbooks/setup_node.yml para instalar os pacotes necessários nos nós trabalhadores.ansible-playbook playbooks/clone_repos.ymlclusterhat on no Pi controlador para garantir que todos os Pi Zeros estejam ligados.python3 cluster.py no Pi controlador para iniciar o ProwlerPara editar o intervalo de endereços IP sendo escaneados, edite as seguintes linhas em 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 e 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 ou 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
ABSOLUTAMENTE NENHUMA GARANTIA! Sinta-se à vontade para enviar issues, no entanto.