Pwndora es un escáner masivo y rápido de rangos de direcciones IPv4, integrado con multi-threading.
Usando sockets, analiza qué puertos están abiertos, y recoge más información sobre los objetivos, cada resultado se almacena en Elasticsearch. Se puede integrar con Kibana para poder visualizar y manipular los datos, básicamente es como tener tu propio motor de búsqueda IoT en casa.
Tabla de Contenido
Características
- Escaneo de puertos con diferentes opciones y recuperación de información de banners de software.
- Detecta algunas tecnologías web que se ejecutan en los servidores, utilizando la integración de Webtech.
- Recupera la geolocalización IP de la base de datos gratuita Maxmind, actualizada periódicamente.
- Posibilidad de tomar capturas de pantalla de hosts con HTTP usando Rendertron.
- Detección de login anónimo en servidores FTP.
- Envío de notificaciones con los resultados mediante la API de Slack.
https://github.com/ShielderSec/webtech
https://github.com/GoogleChrome/rendertron
Visual
Cómo Empezar
Asegúrate de tener el directorio $HOME/.local/share, para evitar problemas con Webtech.
Para usar el argumento slack, debes configurar la URL de los Webhooks entrantes en config.py
- Clonar este repositorio
- Instalar los requisitos con Python PIP
- Establecer la contraseña para los contenedores de Elasticsearch y Kibana en
docker-compose.yml
- Configurar la conexión a Elasticsearch en
connect.py
- Establecer las rutas de los ASN de Maxmind, las bases de datos de la ciudad y la URL de Rendertron en
config.py
- Lanzar los contenedores en segundo plano con Docker Compose.
- Finalmente iniciar el escáner
Uso
usage: CLI.py [-h] [-s START] [-e END] [-t THREADS] [--massive FILE] [--timeout TIMEOUT]
[--screenshot] [--top-ports] [--all-ports] [--update]
options:
-h, --help show this help message and exit
-s START Start IPv4 address
-e END End IPv4 address
-t THREADS Number of threads [Default: 50]
--massive FILE File path with IPv4 ranges
--timeout TIMEOUT Socket timeout [Default: 0.5]
--screenshot Take screenshots from hosts with HTTP
--top-ports Scan only 20 most used ports [Default]
--all-ports Scan 1000 most used ports
--update Update database from Wappalyzer
--slack Send notifications by Slack
Ejemplos
Escanear sólo un rango de direcciones IPv4:
python3 CLI.py -s 192.168.0.0 -e 192.168.0.255 -t 150 --top-ports
Escanear desde un archivo de texto con múltiples rangos de direcciones IPv4:
python3 CLI.py --massive Argentina.csv -t 200 --all-ports --screenshot
Ejemplo de Kibana
https://github.com/alechilczenko/spidex