Este documento habla sobre explotar vulnerabilidades y obtener shells reversas en plataformas de VoIP. Explica cómo ciertos exploits como los de FreePBX 2.10 y VTiger 5.2.1 inyectan código a través de parámetros de URL para ejecutar comandos de sistema y establecer una conexión de shell reversa desde el servidor comprometido al atacante. También define conceptos como vulnerabilidad, ataque, contramedida y el ciclo de vida de los exploits.
2. $ Whois @jroliva
Juan Oliva
C|EH, CPTE, OSEH, BNS, dCAA, ECE, LPIC-1, Novell CLA
Proyectos de Ethical Hacking
Proyectos 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
3. DESCARGO DE RESPONSABILIDAD
Esta 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 indirecto
respecto 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.
5. INTRODUCCION
VULNERABILIDAD
FALLO O DEBILIDAD DE UN SISTEMA, PLATAFORMA O APLICACION
ATAQUE
COMPROMETER LA SEGURIDAD DEL SISTEMA APROBECANDONOS
DE UNA VULNERABILIDAD
CONTRAMEDIDA
ACCIONES A LLEVAR A CABO PARA EVITAR TENER VULNERABILIDADES
8. 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
9. 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.
11. 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.
13. DONDE LOS ENCUENTRAN
Existen muchas páginas dónde se publican diferentes tipos
de exploits :
- exploit-db.com
- packetstormsecurity.com
- exploitsdownload.com
- cvedetails.com
15. COMO SE HACEN LOS EXPLOITS
HERRAMIENTAS DE DESARROLLO
Pueden ser escritos en diferentes lenguajes
Tradicionalmente se realizan en C , perl , bash , nc
16. 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
22. 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.
33. 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.