El otro día impartí una clase en el Curso de Seguridad Informática y Ciberdefensa de Criptored (http://www.criptored.upm.es/formacion/ciberdefensa/TemarioCursoCiberdefensa3.pdf) por tercer año consecutivo y, esta vez, por hacer la clase un poco más amena, decidí realizar una demo sobre un ataque a un máquina vulnerable. Escogí para ello Vulnvoip que podéis descargar aquí: http://www.rebootuser.com/?page_id=1739 y donde podéis seguir una guía de cómo explotarla aquí: http://www.rebootuser.com/?p=1117 Concretamente la máquina es una FreePBX con una versión de Asterisk bastante antigua y con más agujeros que un queso gruyer. Si echáis un ojo al ‘solucionario’ de rebootuser podéis ver cómo usando SipVicious es muy sencillo enumerar las
Sigue leyendonn4ed – ctf writeup
Resolución de los retos del CTF de Navaja Negra (cuarta edición). Por Pepelux Tras escuchar el audio vemos que la misión es identificar los tonos pulsados en la llamada telefónica. Estos tonos son DTMF y para intentar decodificarlos, lo primero que hacemos es, descargar el fichero de audio y abrirlo con el Audacity (http://audacity.sourceforge.net/) para recortar sólo la parte que nos interesa. Por tanto, seleccionamos y recortamos la parte de los tonos DTMF y lo guardamos en un nuevo fichero de audio: Para decodificar estos tonos podemos utilizar la aplicación de consola Multimon (http://sourceforge.net/projects/multimon/) o bien podemos usar algún
Sigue leyendoSending fake auth for device XXX
Si administras un Asterisk con conexión desde Internet seguro que habrás visto en los logs este mensaje muchísimas veces – por cierto, si tu Asterisk NO debe estar accesible desde Internet y ves esto en los logs o en la consola, ve revisando con urgencia la configuración de tu Router/Firewall 🙂 Lo normal es ver algo así en la consola: Bueno, ¿y qué tiene esto de especial o de raro? Pues que la IP que aparece NO es la del atacante, sino la de nuestro servidor Asterisk. Esto la verdad es que deja fuera de juego a mucha gente; primero porque
Sigue leyendoProtegiendo nuestro sistema de VoIP con Kamailio
Cuando se gestiona una centralita local, lo normal es no tener ningún tipo de puerto abierto al exterior, dado que las conexiones las realizamos siempre nosotros hacia nuestro proveedor de VoIP. A no ser que realicemos una validación por IP, con lo que deberemos permitir el acceso a nuestro puerto SIP única y exclusivamente a la IP que nos facilite nuestro(s) operador(es). En el caso de que administremos un sistema más complejo, o simplemente, ofrezcamos servicios de VoIP a terceros, seguramente tendremos otros elementos involucrados en nuestro sistema, como servidores proxy. En mi último post – guau! hace más de 1 año
Sigue leyendoCreando un honeypot con Kamailio
Kamailio es un proxy SIP derivado de un proyecto anterior llamado OpenSER. A parte de ser Open Source, es una magnífica herramienta, indispensable si deseas montar un sistema de VoIP medianamente grande, es decir, llegando más allá de las típicas centralitas Asterisk, FreeSwitch o similares que nos permiten gestionar una oficina con X extensiones. Aprovecho para mandar un saludo a mi compañero Victor Seva (@linuxmaniac) que desde hace poco pertenece al equipo de desarrolladores de Kamailio. 😉 Como comentaba, un proxy SIP nos permite realizar muchísimas cosas, como validar usuarios, reenviar el tráfico a servidores SIP, gestionar llamadas, etc. En
Sigue leyendo¿Cómo de segura es tu FreePBX?
En el último post añadí los enlaces a la charla que impartí en la última RootedCon así como en la NoConName. También puse los scripts que utilicé para obtener una shell de forma automática uan vez que el panel de control ha sido comprometido. Pero la verdad es que dando una charla ofensiva siempre te queda un mal sabor de boca, así que he creado un pequeño script que verifica los fallos más gordos en la configuración de una FreePBX. Realmente, tal y como comento en la charla, este tipo de plataformas tienen un gran problema de diseño y es
Sigue leyendoFreePBX for Fun & Profit
Hace unos días salió publicado el vídeo de mi charla en la RootedCon 2013, sobre un análisis de seguridad en plataformas basadas en Asterisk del tipo FreePBX, Elastix o Trixbox. Lo podéis ver aquí: Los slides se pueden ver o descargar en Slideshare: Y los dos scripts usados durante la charla: Primer script: Segundo script: Saludos!
Sigue leyendoSIP Monitor
Cuando en un entorno de VoIP gestionas muchos usuarios es muy complicado seguir el log que muestra el CLI para ver exactamente dónde hay un error concreto. Muchas veces debes filtrar algún usuario con determinados problemas, por ejemplo de registro, y la verdad es que se hace bastante engorroso realizar un seguimiento de los paquetes. Por otro lado, también resulta un poco coñazo realizar capturas con Tcpdump para luego descargar en otro equipo con entorno gráfico y analizar posteriormente mediante Wireshark. Para agilizar un poco este proceso he creado un script en Perl muy sencillo que permite aplicar algunos filtros
Sigue leyendoJoomlaScan v1.5
La verdad es que la gente de Joomla trabaja muy rápido. Bien es cierto que por falta de tiempo reviso este script cada ciertos meses, pero en apenas 10 meses han aparecido más de 5 versiones nuevas (bueno, mejor dicho, revisiones, puesto que versiones realmente ha sido una). En esta nueva actualización de JoomlaScan se reconoce la versión 3.1.0-beta1 de Joomla! pasando por las últimas de 2.5.x y las primeras de 3.0.x La verdad es que desde que apareció la versión 2.5 la identificación de la versión de Joomla! se reduce a consultar un archivo, concretamente http://tu.joomla.com/administrator/manifest/files/joomla.xml donde podemos localizar
Sigue leyendoAsterisk – INVITE attack (II)
Hace casi un año (cómo pasa el tiempo) escribí una entrada sobre cómo es posible realizar llamadas a través de un sistema de VoIP sin disponer de ninguna cuenta en el sistema, si se diera el caso de que el servidor no está bien configurado. Si no has leído la entrada, la puedes ver aquí: Asterisk – INVITE attack Tal y como comenté, en la web de Sinologic podemos comprobar si nuestro servidor es vulnerable ante estos ataques, pero para una mejor comprensión, he programado un pequeño script con el que podemos comprobarlo: El script únicamente admite un host a
Sigue leyendo