Buceando por Internet, el otro día caí en esta interesante web: http://www.voip0day.com. Allí comentaban que hacía más de 30 días que habían notificado a Digium una vulnerabilidad en IAX que podía dejar Asterisk inutilizado mediante un ataque de denegación de servicio.
Hoy, Manwe y yo nos hemos puesto a probarlo, para comprobar si Asterisk se quedaba efectivamente fuera de combate. Las pruebas las hemos realizado sobre un Asterisk 1.4.21.1 (la versión que teníamos en los portátiles, cuando volvamos de las vacaciones probaremos más a fondo) pero los autores afirman que el exploit funciona con todas las versiones de Asterisk.
El funcionamiento es relativamente sencillo: el script comienza a mandar paquetes incorrectos a Asterisk y éste es incapaz de seguir procesando peticiones IAX, al quedarse completamente inutilizado. Al cesar el ataque Asterisk no se recupera, por lo que es necesario reiniciar el servicio.
El exploit lo podéis descargar aquí y para lanzarlo basta con ejecutar lo siguiente:
saghul@topux:~/apps/voip$ perl iaxControlNewAuthmethods.pl -h 10.10.10.3
siendo 10.10.0.3 la dirección IP de la víctima. Al lanzar el ataque veremos cómo se van enviando los paquetes:
Y en el servidor Asterisk, podemos visualizar todos los mensajes de error que hacen que Asterisk quede inutilizado.
Cuidado con tener el puerto 4569 abierto; os vigilo 😉
Hola Saul, que tal….
Y ante eso que se podria hacer para evitar el que alguien haga eso con algun asterisk?
Si tiene el puerto del IAX abierto como podrias evitar ese ataque?
Un saludo
Pues de momento hay poco tema que puedas hacer… Se supone que hay algún plugin para Snort, para mitigar ataques DoS a redes VoIP, pero no lo he probado, y no creo que soporte IAX…
Solución: tirar una VPN :-/