Cómo realizar pruebas de penetración en VoIP con WireBug
WireBug es un conjunto de herramientas para pruebas de penetración para voz sobre IP (VoIP). Está diseñado como un asistente que facilita su uso. Las herramientas también están diseñadas para un solo uso, por lo que cada herramienta es su propio programa python o bash.
Instalación
Debes instalar las dependencias en requirements.txt y las dependencias de python en requirements_python.txt. Si tienes problemas con la instalación de netfilterqueue, puedes compilarlo desde la fuente:
Debes utilizar el script configure.sh para descargar y crear la biblioteca SRTP de Cisco Systems.
Herramientas principales
- FullBridge: este es un script bash simple para configurar un puente con dos interfaces definidas.
- BridgeTrap: este script es útil en combinación con la herramienta FullBridge. Refleja el tráfico del puente a una interfaz definida, por ejemplo, una raspberry pi con dos interfaces para puente y una como monitor.
- DoubleEncapsulation: este programa de Python crea un paquete ICMP encapsulado doble y lo envía al destino: posible salto de VLAN.
- TimeShift: herramienta para responder a una solicitud de NTP en una posición man-in-the-middle (también con FullBridge) con un registro de tiempo en el pasado o en el futuro. Puedes comprobar fácilmente si el cliente (teléfono VoIP) comprueba la validez del certificado del servidor (SIPS, H.323s, HTTPS, LDAPS, etc.). También simplemente utilizarlo como una herramienta de DOS.
- VlanEnum: este script bash crea interfaces virtuales 802.1Q con etiquetado VLAN y espera posibles respuestas DHCP. Si es posible obtener una dirección IP, la interfaz se mantendrá activa, de lo contrario, se eliminará.
- SaCLaC: Esto incluye dos programas de Python. Uno para suplantar paquetes LLDP-MED falsos para ingresar a la VLAN VoIP o activar un DoS instruyendo al cliente para que configure una etiqueta VLAN. El otro para analizar la información CDP de un archivo PCAP.
Más herramientas
- DecodeSRTP: este script facilita el uso de la biblioteca SRTP de Cisco Systems para descifrar una secuencia SRTP-SDES. Esto si la clave AES se extrae de la parte de señalización.
- SIPCraft. Esta herramienta se envía con algunos mensajes SIP básicos (REGISTRO, OPCIONES, INVITAR, ADIÓS). No obstante, también sirve para crear tu propio mensaje SIP usando la opción “–individual”. Con esta opción, es posible almacenar tu contenido SIP en un archivo de texto simple y luego falsificarlo con la herramienta sip craft. El script admite TCP y UDP.
- CrackTheSIP: una sencilla herramienta de fuerza bruta para descifrar la autenticación de acceso con resumen SIP mediante el uso de una lista de palabras.
- ZRTPDowngrade: Es una herramienta para colocar paquetes iniciados por ZRTP en una posición de man-in-the-middle.
- EvilSTUN: una herramienta sencilla para respuestas STUN falsas.
- SIPFuzz: una herramienta para fuzzing SIP.
- SIPEnum: esta herramienta enumera las extensiones SIP por un archivo determinado.
- SIPBrute: una herramienta para ataques de fuerza bruta en línea contra proxies SIP.
- RTPFuzz: una herramienta para hacer fuzzing e inyectar paquetes RTP aleatorios (ruido) en transmisiones en ejecución.
Instalación
El objetivo del conjunto de herramientas WireBug es el asistente con Command-line completion (finalización de la línea de comandos). Esto hace que sea fácil de usar sin conocimiento de información detallada sobre la herramienta o las opciones. Te recomendamos utilizar las herramientas con el asistente.
Iniciando el asistente
python wirebug.py
Salida
__ __.__ __________
/ \ / \__|______ ____\______ \__ __ ____
\ \/\/ / \_ __ \_/ __ \| | _/ | \/ ___\
>>>>>\>>>>>>>>/|>>||>>|>\/\>>>>>/|>>>>|>>>\>>|>>/>/>/>>>>>>>
\__/\ / |__||__| \___ .______ /____/\___ /
\/ \/ \/ /_____/
by Moritz Abrell - SySS GmbH, 2019 - 2020
Follow the wizard to use WireTap.
Use TAB to show possible options.
wizard >
Ayuda
wizard > help
Documented commands (type help <topic>):
========================================
bridge clear doubleencap help timeshift
cdpanalyze decodesrtp exit lldpspoof vlanenum
Uso
__ __.__ __________
/ \ / \__|______ ____\______ \__ __ ____
\ \/\/ / \_ __ \_/ __ \| | _/ | \/ ___\
>>>>>\>>>>>>>>/|>>||>>|>\/\>>>>>/|>>>>|>>>\>>|>>/>/>/>>>>>>>
\__/\ / |__||__| \___ .______ /____/\___ /
\/ \/ \/ /_____/
by Moritz Abrell - SySS GmbH, 2019
Follow the wizard to use WireTap.
Use TAB to show possible options.
wizard > lldpspoof
This tool is for spoofing LLDP-MED packets with different vendor specific attributes. It is useful to jump into VoIP VLAN if LLDP-MED is configured
Enter the interface which will be used: enp0s31f6
Enter the vendor <innovaphone> <unify>: innovaphone
Enter the MAC address o f a innovaphone device <00:90:33:XX:XX:XX>: 00:90:33:00:00:01
Enter a device model e.g. <IP222>: IP811
Verbose mode (will capture the possible response and open it in wireshark)? <y> or <n>: y
.
Sent 1 packets.
[+] Packetspoofing success.
[*] Waiting for possible response.
[+] Response recived!
Demostración
Descargo de responsabilidad
Debes usar esta herramienta bajo tu propio riesgo. No la uses sin el pleno consentimiento de todos los involucrados. Debes usarla solo con fines educativos.