Prowler es un explorador de vulnerabilidades de red implementado en un clúster Raspberry Pi, desarrollado por primera vez durante el hackathon de la comunidad de Singapur Infosec – HackSmith v1.0.
Capacidades
- Escanee una red (una subred particular o una lista de direcciones IP) para todas las direcciones IP asociadas con dispositivos de red activos
- Determine el tipo de dispositivos que usan huellas dactilares
- Determine si hay puertos abiertos en el dispositivo
- Asocia los puertos con servicios comunes
- Dispositivos de prueba contra un diccionario de valores predeterminados de fábrica y credenciales comunes
- Notificar a los usuarios de las vulnerabilidades de seguridad a través de un tablero de instrumentos . Visita del tablero
Capacidades planeadas
- Mayor variedad de capacidades de evaluación de vulnerabilidad (webapp, etc.)
- Seleccionar lista de palabras basada en huella digital
Hardware
- Raspberry Pi Cluster HAT (con 4 * Pi Zero W)
- Raspberry Pi 3
- Dispositivo de red
Pila de software
- Raspbian Stretch (Controlador Pi)
- Raspbian Stretch Lite (Trabajador Pi Zero)
- Nota: ¡Para facilitar la configuración, use las imágenes proporcionadas por Cluster Hat! Instrucciones
- Python 3 (no probado en Python 2)
- Los paquetes de Python ven
requirements.txt
- Ansible para administrar el clúster como un todo (
/playbooks
)
Paquetes clave de Python:
dispy
es la estrella del espectáculo. Permite que podamos crear una cola de trabajos que será procesada por los nodos de trabajadores.python-libnmap
es el contenedor de Python alrededor de nmap , un escáner de red de fuente abierta. Nos permite escanear puertos abiertos en dispositivos.paramiko
es un contenedor de Python alrededor de SSH. Lo usamos para probar SSH en dispositivos para probar credenciales comunes.eel
se usa para el panel de la web.rabbitmq
se utiliza para pasar los resultados del clúster aleel
servidor que está sirviendo la página del tablero.
Despliegue de merodeador
- Clona el repositorio de git:
git clone https://github.com/tlkh/prowler.git
- Instalar dependencias ejecutándose
sudo pip3 install -r requirements.txt
en el controlador Pi - Ejecutar
ansible-playbook playbooks/setup_node.yml
para instalar los paquetes necesarios en los nodos de trabajador. - Clonar los depósitos de merodeador y dispy a los nodos de trabajador usando
ansible-playbook playbooks/clone_repos.yml
- Ejecute
clusterhat on
en el controlador Pi para asegurarse de que todos los ceros Pi estén encendidos. - Ejecutar
python3 cluster.py
en el controlador Pi para iniciar Prowler
Para editar el rango de direcciones IP que se escanean, edite las siguientes líneas en cluster.py
:
test_range = [] para mí en el rango (0, 1): para j en el rango (100, 200): test_range.append ("172.22." + str (i) + "." + str (j)) Fuente: n0where.net