La dura vida del Pentester

26
Daniel Romero Manuel Fernández

description

Charla impartida por Manuel Fernández y Daniel Romero, ambos de la empresa Informática 64 durante el IV Curso de Verano de Seguridad Informática de la Universidad Europea de Madrid.

Transcript of La dura vida del Pentester

Page 1: La dura vida del Pentester

Daniel Romero

Manuel Fernández

Page 2: La dura vida del Pentester

Daniel Romero y Manuel Fernández:

Consultores de Seguridad en Informática64

Auditorias Internas/Externas Web

Auditorias Internas/Externas Redes y Sistemas

Análisis Forenses

Desarrollo de aplicaciones

Etcétera…

Page 3: La dura vida del Pentester

Veníamos hablar de... ◦ Fallos más comunes en auditorías web

◦ Como encontrarlos en Internet

◦ Casos reales que nos habíamos encontrado

◦ Etcétera...

Y vamos hablar de… ◦ La “mala suerte” que tuvieron nuestros vecinos del 3º con sus vacaciones

Page 4: La dura vida del Pentester

Detección de necesidades (contacto con el cliente) ◦ Obtención del número de portales a auditar

◦ Obtención del número de módulos a auditar

◦ Tiempo del proceso de auditoría

◦ Tipo de auditoría que se desea realizar (interna/externa)

◦ Etcétera...

Revisión Inicial del portal a auditar ◦ Obtención de productos, tecnologías, etcétera

FASE 1: Recogida y análisis de información

FASE 2: Detección y explotación de vulnerabilidades

Documentación

Page 5: La dura vida del Pentester

Nuestros vecinos decidieron reservar un viaje mediante una agencia de viajes a través de internet.

Unos días después, recibieron una llamada de la agencia de viajes indicándoles la anulación de la reserva, por un problema de disponibilidad de plazas.

Y se quedaron sin vacaciones…

Decidieron ponerse a investigar sobre el portal web de la agencia de viajes..

Page 6: La dura vida del Pentester
Page 7: La dura vida del Pentester

Técnica (Fuzzing) Técnica utilizada para localizar directorios y ficheros predecibles, a través de consultas automatizadas.

Buscaban: Directorios predecibles y confidenciales

Aprovechándose: Desconocimiento del programador

Resultados obtenidos:

Page 8: La dura vida del Pentester

Análisis del código fuente

Buscaban: Patrones a la hora de nombrar los directorios o ficheros de la aplicación web, código comentado, includes, etcétera.

Aprovechándose: Confianza/descuido del programador

Resultados obtenidos:

Page 9: La dura vida del Pentester

Técnica (Fuzzing) Técnica utilizada para localizar directorios y ficheros predecibles, a través de consultas automatizadas.

Buscaban: Ficheros o carpetas que pudieran comprometer la seguridad

Aprovechándose: Patrones en los directorios

Resultados obtenidos:

Page 10: La dura vida del Pentester

Técnica (BruteForcing) Técnica utilizada para automatizar los intentos de inicio de sesión en base a diccionarios.

Buscaban: Obtener acceso a los paneles de Login localizados en /w_admin/ y /w_atencioncliente/

Aprovechándose: No implementación de sistemas de seguridad como sistemas de bloqueo o Captchas.

Resultados obtenidos:

Page 11: La dura vida del Pentester

Decidieron poner una reclamación a atención al cliente

Page 12: La dura vida del Pentester

Técnica (XSS): Número dos en el TOP 10 de OWASP

Buscaban: Robo de cookies de sesión de administradores o usuarios de atención al cliente.

Aprovechándose: Desconocimiento y mala programación del desarrollador

Page 13: La dura vida del Pentester

Resultados obtenidos:

Page 14: La dura vida del Pentester

Técnica (SQLi): Número uno en el TOP 10 de OWASP

Buscaban: Obtención de información confidencial de la Base de datos

Aprovechándose: Desconocimiento y mala programación del desarrollador

Resultados obtenidos:

Page 15: La dura vida del Pentester

Tabla Clientes: 12.000 registros (aprox) SHA1

Tabla Usuarios: 20 registros (aprox) MD5

Entre otras…

Page 16: La dura vida del Pentester

Cracking: Aplicar una función de hash sobre un diccionario de palabras para comparar con el hash original

Buscaban: Crackear los hashes MD5

Aprovechándose: Falta de implementación de funciones de SALT

Resultados obtenidos:

10/19 + 8/19 + 6/19 = 11/19

Page 17: La dura vida del Pentester

Webshells: Son pequeñas aplicaciones web que permiten a un atacante interactuar directamente con el sistema.

Buscaban: Obtener acceso al sistema de ficheros del servidor web y ejecución de comandos.

◦ Ficheros de configuración

◦ Ficheros confidenciales

◦ Etcétera..

Aprovechándose: Mala implementación en el filtrado de la subida de ficheros.

Page 18: La dura vida del Pentester

Resultados obtenidos:

Page 19: La dura vida del Pentester

Elevación de privilegios (BBDD): Conexión a la Base de Datos a con permisos de ‘root’.

Buscaban: Lectura, escritura y modificación de la Base de datos

Aprovechándose: Fugas de información en ficheros

Resultados obtenidos:

Page 20: La dura vida del Pentester

Existencia de multitud de exploits que afectan al kernel 2.6.31-14, vulnerable a escalada de privilegios…

Page 21: La dura vida del Pentester

Buscaban: Disfrutar de las vacaciones que habían planeado

Resultados obtenidos:

Page 22: La dura vida del Pentester
Page 23: La dura vida del Pentester
Page 24: La dura vida del Pentester
Page 25: La dura vida del Pentester

Mucha información, poco conocimiento.

Poca seguridad en el portal web, siendo este la ‘carta de bienvenida’ a cualquier usuario.

Ausencia de sistemas de seguridad alternativos (Ej: WAF, IDS, IPS)

La criticidad de los puntos anteriores se incrementan cuando el portal web permite la realización de compras o movimientos de dinero.

Page 26: La dura vida del Pentester

Daniel Romero - [email protected]

Manuel Fernández - [email protected]