Hacking Drupal - Anatomía de una auditoría de seguridad

33

description

Slides from my presentation on DrupalCamp Spain 2014, on Valencia, related to Drupal security, and how to perform security audits on a web developed with this tool.

Transcript of Hacking Drupal - Anatomía de una auditoría de seguridad

Page 1: Hacking Drupal - Anatomía de una auditoría de seguridad
Page 2: Hacking Drupal - Anatomía de una auditoría de seguridad

Sobre mi

Formacion

Ingeniero Tecnico en Informatica - UCA

Master en Ingenierıa del Software - US

Master en Seguridad de las TIC - US

Experiencia

4+ anos como desarrollador web, mas de 2 en Drupal

Actualmente: DevOps Drupal

Python, C++, GNU/Linux, network programming. . .

Aficiones

Rock’n’Roll (guitarra) y videojuegos

Narrativa fantastica, rol, cine. . .

Ezequiel Vazquez De la calle Hacking Drupal

Page 3: Hacking Drupal - Anatomía de una auditoría de seguridad

Indice

1 Introduccion

2 Importancia de la seguridad

3 OWASP Testing Guide

4 Vector de ataque simple

5 Conclusiones

Ezequiel Vazquez De la calle Hacking Drupal

Page 4: Hacking Drupal - Anatomía de una auditoría de seguridad

Indice

1 Introduccion

2 Importancia de la seguridad

3 OWASP Testing Guide

4 Vector de ataque simple

5 Conclusiones

Ezequiel Vazquez De la calle Hacking Drupal

Page 5: Hacking Drupal - Anatomía de una auditoría de seguridad

Introduccion

¿Que es la seguridad?

Confidencialidad

Integridad

Disponibilidad

Autenticacion

Ezequiel Vazquez De la calle Hacking Drupal

Page 6: Hacking Drupal - Anatomía de una auditoría de seguridad

Introduccion

Principios basicos

Seguridad en profundidad

Mınimo privilegio

Eslabon mas debil

Proporcionalidad

Participacion universal

Integracion con ciclo devida

Ezequiel Vazquez De la calle Hacking Drupal

Page 7: Hacking Drupal - Anatomía de una auditoría de seguridad

Introduccion

Open Web Application Security Project

Fundacion sin animo de lucro

Multitud de proyectos: algo caotico

Metodologıa de analisis de seguridad web

Ezequiel Vazquez De la calle Hacking Drupal

Page 8: Hacking Drupal - Anatomía de una auditoría de seguridad

Indice

1 Introduccion

2 Importancia de la seguridad

3 OWASP Testing Guide

4 Vector de ataque simple

5 Conclusiones

Ezequiel Vazquez De la calle Hacking Drupal

Page 9: Hacking Drupal - Anatomía de una auditoría de seguridad

La importancia de la seguridad

El jefe de proyecto

Ezequiel Vazquez De la calle Hacking Drupal

Page 10: Hacking Drupal - Anatomía de una auditoría de seguridad

La importancia de la seguridad

El proyecto en produccionEzequiel Vazquez De la calle Hacking Drupal

Page 11: Hacking Drupal - Anatomía de una auditoría de seguridad

La importancia de la seguridad

El “hacker”

Ezequiel Vazquez De la calle Hacking Drupal

Page 12: Hacking Drupal - Anatomía de una auditoría de seguridad

La importancia de la seguridad

La vulnerabilidadEzequiel Vazquez De la calle Hacking Drupal

Page 13: Hacking Drupal - Anatomía de una auditoría de seguridad

La importancia de la seguridad

El resultado

Ezequiel Vazquez De la calle Hacking Drupal

Page 14: Hacking Drupal - Anatomía de una auditoría de seguridad

Indice

1 Introduccion

2 Importancia de la seguridad

3 OWASP Testing Guide

4 Vector de ataque simple

5 Conclusiones

Ezequiel Vazquez De la calle Hacking Drupal

Page 15: Hacking Drupal - Anatomía de una auditoría de seguridad

OWASP Testing Guide

Estructura

Testing framework

Catalogo de pruebas

Enfoque de caja negra

Como hacer informe

Ezequiel Vazquez De la calle Hacking Drupal

Page 16: Hacking Drupal - Anatomía de una auditoría de seguridad

Recogida de informacion

Hacking con buscadores (fichero robots.txt)

“Fingerprint” de servidor, framework, versiones. . .

Crawlers, spiders, robots. . .

Herramientas automaticas: Burp, ZAP, Nikto2

Ezequiel Vazquez De la calle Hacking Drupal

Page 17: Hacking Drupal - Anatomía de una auditoría de seguridad

Pruebas sobre configuracion

Metodos HTTP permitidos (PUT, DELETE, TRACE)

Gestion de extensiones

Configuracion de plataforma (Apache, PHP, MySQL. . . )

Revisar backups en el arbol web (*.sql, *.bak. . . )

Escaner de puertos (Nmap)

Firewall/IDS/Web Application Firewall

Ezequiel Vazquez De la calle Hacking Drupal

Page 18: Hacking Drupal - Anatomía de una auditoría de seguridad

Gestion de identidad y autorizacion

Definicion de roles (filtros de entrada, permisos asignados)

Enumeracion de cuentas de usuario (modulo views)

Ataques de fuerza bruta (Hydra, modulos de Captcha)

Referencias inseguras (cambiar [nid] en /node/[nid])

Ezequiel Vazquez De la calle Hacking Drupal

Page 19: Hacking Drupal - Anatomía de una auditoría de seguridad

Autenticacion

Credenciales por canal inseguro (MitM, modulo securepages)

Polıtica de contrasenas debil (modulo password policy)

Recordar contrasenas: ¿se vuelve a enviar la pass?

Sistema de autenticacion (Drupal Ok, pero ¿modificado?)

Ezequiel Vazquez De la calle Hacking Drupal

Page 20: Hacking Drupal - Anatomía de una auditoría de seguridad

Gestion de la sesion

Duracion de la sesion (session expire y autologoff )

Gestion de cookies (cifrado, atributos httpOnly y Secure)

Robo de cookie de sesion = Robo de identidad

Cross Site Request Forgery (no solo forms)

Ezequiel Vazquez De la calle Hacking Drupal

Page 21: Hacking Drupal - Anatomía de una auditoría de seguridad

Validacion de datos de entrada

Cross Site Scripting

SQL injection

Polucion de parametros HTTP

Inyeccion de codigo

Subida de ficheros

En Drupal:

filter xssdb querycheck plaincheck markupcheck url

Ezequiel Vazquez De la calle Hacking Drupal

Page 22: Hacking Drupal - Anatomía de una auditoría de seguridad

Gestion de errores

Exposicion de codigos y textos de error

Exposicion de trazas

Ezequiel Vazquez De la calle Hacking Drupal

Page 23: Hacking Drupal - Anatomía de una auditoría de seguridad

Mas testing. . .

Criptografıa debil

Heartbleed

Errores en logica de negocio

Tests en lado de cliente

No solo web. . .

Ezequiel Vazquez De la calle Hacking Drupal

Page 24: Hacking Drupal - Anatomía de una auditoría de seguridad

Vulnerabilidades mas comunes

Ezequiel Vazquez De la calle Hacking Drupal

Page 25: Hacking Drupal - Anatomía de una auditoría de seguridad

Indice

1 Introduccion

2 Importancia de la seguridad

3 OWASP Testing Guide

4 Vector de ataque simple

5 Conclusiones

Ezequiel Vazquez De la calle Hacking Drupal

Page 26: Hacking Drupal - Anatomía de una auditoría de seguridad

Un vector de ataque simple

Deteccion de XSS almacenado (filtro “Full HTML”)

Inyectar JS que envıa cookies a atacante (SOP, httpOnly)

Atacante inyecta cookie en su navegador

Ezequiel Vazquez De la calle Hacking Drupal

Page 27: Hacking Drupal - Anatomía de una auditoría de seguridad

Un vector de ataque simple

Activacion de modulo “PHP filter”

Modificar nodo para que use este filtro

Ejecutar comandos de sistema desde PHP (disable functions)

Lanzar shell reversa con netcat (cortafuegos saliente)

Ezequiel Vazquez De la calle Hacking Drupal

Page 28: Hacking Drupal - Anatomía de una auditoría de seguridad

Un vector de ataque simple

¡Demo time!

Ezequiel Vazquez De la calle Hacking Drupal

Page 29: Hacking Drupal - Anatomía de una auditoría de seguridad

Un vector de ataque simple

A partir de aquı. . .

Escalado de privilegios para obtener root (CVE-2014-0196)

Persistencia del acceso

Tecnica de pivoting : escanear red interna

¡En la imaginacion (y en el contrato) esta el lımite!

Ezequiel Vazquez De la calle Hacking Drupal

Page 30: Hacking Drupal - Anatomía de una auditoría de seguridad

Indice

1 Introduccion

2 Importancia de la seguridad

3 OWASP Testing Guide

4 Vector de ataque simple

5 Conclusiones

Ezequiel Vazquez De la calle Hacking Drupal

Page 31: Hacking Drupal - Anatomía de una auditoría de seguridad

En resumen. . .

Responsabilidad de todos

Seguridad en todo el ciclo de vida

Seguir las buenas practicas

Siempre habra fallos de seguridad

La importancia de la formacion

Ezequiel Vazquez De la calle Hacking Drupal

Page 32: Hacking Drupal - Anatomía de una auditoría de seguridad

En resumen. . .

Ezequiel Vazquez De la calle Hacking Drupal

Page 33: Hacking Drupal - Anatomía de una auditoría de seguridad

Esto es todo, amigos...

¡Gracias!

@RabbitLairezequielvazq[at]gmail[dot]com

Ezequiel Vazquez De la calle Hacking Drupal