Hack & Beers - Seguridad en Drupal
-
Upload
zekivazquez -
Category
Technology
-
view
564 -
download
0
Transcript of Hack & Beers - Seguridad en Drupal
![Page 1: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/1.jpg)
Seguridad en Drupal
Zequi Vazquez
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 2: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/2.jpg)
Sobre mi
¿Y quien es este tıo?
Zequi Vazquez
DevOps & Backend
Estudiante de doctorado
Hacking & Seguridad
Rock’n’Roll
Videojuegos & Libros
¡Cerveza!
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 3: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/3.jpg)
Indice
1 Introduccion
2 Hacking Drupal
3 Hardening Drupal
4 Live Demo
5 Conclusiones
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 4: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/4.jpg)
Indice
1 Introduccion
2 Hacking Drupal
3 Hardening Drupal
4 Live Demo
5 Conclusiones
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 5: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/5.jpg)
Introduccion
¿Esto de que va?
CMS escrito en PHP
Extensible mediantemodulos y temas
Software libre (GPL)
Actualmente, Drupal 7
Lo mejor: La comunidad
Equipo de seguridad
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 6: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/6.jpg)
Seguridad
Pilares de la seguridad
Confidencialidad
Integridad
Disponibilidad
Autenticacion
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 7: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/7.jpg)
Vulnerabilidades
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 8: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/8.jpg)
Seguridad en profundidad
El Abismo de Helm era inexpugnable. . .
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 9: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/9.jpg)
Indice
1 Introduccion
2 Hacking Drupal
3 Hardening Drupal
4 Live Demo
5 Conclusiones
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 10: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/10.jpg)
Recogida de informacion
Hacking con buscadores (fichero robots.txt)
“Fingerprint” de servidor, framework, versiones. . .
Crawlers, spiders, robots. . .
Herramientas automaticas: Burp, ZAP, Nikto2
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 11: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/11.jpg)
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
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 12: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/12.jpg)
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])
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 13: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/13.jpg)
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?)
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 14: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/14.jpg)
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)
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 15: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/15.jpg)
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
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 16: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/16.jpg)
Gestion de errores
Exposicion de codigos y textos de error
Exposicion de trazas
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 17: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/17.jpg)
Mas testing. . .
Criptografıa debil
Heartbleed
Errores en logica de negocio
Tests en lado de cliente
No solo web. . .
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 18: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/18.jpg)
Indice
1 Introduccion
2 Hacking Drupal
3 Hardening Drupal
4 Live Demo
5 Conclusiones
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 19: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/19.jpg)
Cross Site Scripting
¿Que es?
Ejecucion de codigo Javascript
Reflejado o almacenado
Ataca al cliente: robo de cookies, descarga de malware. . .
¡La mas comun en Drupal!
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 20: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/20.jpg)
Cross Site Scripting
En Drupal. . .
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 21: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/21.jpg)
Cross Site Scripting
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 22: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/22.jpg)
Cross Site Scripting
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 23: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/23.jpg)
SQL Injection
¿Que es?
Modificacion de consultas a base de datos
Basico, blind o time based
Ataca al servidor: extrae informacion, o la modifica
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 24: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/24.jpg)
SQL Injection
En Drupal. . .
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 25: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/25.jpg)
Cross Site Request Forgery
¿Que es?
Hacer que usuario pida URL sin que lo sepa
Peticion a un formulario con parametros GET
Eliminar nodos, cambiar contrasena. . .
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 26: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/26.jpg)
Cross Site Request Forgery
En Drupal. . .
Utilizar siempre la Forms API
drupal valid token para envıos GET
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 27: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/27.jpg)
Hijacking de sesion
¿Que es?
Robo de cookies para suplantar a un usuario identificado
Drupal se encarga de la gestion de la sesion
Mejor practica: utilizar SSL en todo el portal
Certificado valido, modulo securepages
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 28: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/28.jpg)
Bypass de autorizacion
¿Que es?
Usuario accede a URLs osecciones no permitidas
En Drupal. . .
Controlado mediante elsistema de menu, roles ypermisos
Mejor practica:Mınimo privilegio posible
Granularizar permisos tantocomo sea necesario
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 29: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/29.jpg)
Referencias inseguras
¿Que es?
Acceder a contenido para el cual no se tiene permiso
Permisos definidos, pero ¿se comprueban?
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 30: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/30.jpg)
Referencias inseguras
Prevencion
Comprobar permisos: user access
Comprobar acceso a contenido: node access
En consultas SQL: $select→addtag(’node access’);
Utilizar la Forms API
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 31: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/31.jpg)
Securizar la configuracion
Instalacion segura
Modulo security review
Modulo paranoia
Modulo update
Modulo password policy
Limitar duracion de sesion
Permisos “administer . . . ”
¡Ojo con los filtros de entrada!
Desactivar y eliminar modulo php
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 32: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/32.jpg)
Indice
1 Introduccion
2 Hacking Drupal
3 Hardening Drupal
4 Live Demo
5 Conclusiones
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 33: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/33.jpg)
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
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 34: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/34.jpg)
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)
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 35: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/35.jpg)
Un vector de ataque simple
¡Demo time!
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 36: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/36.jpg)
Un vector de ataque simple
¡Vamos a palmar!
Escalado de privilegios para obtener root
Persistencia del acceso
Tecnica de pivoting : escanear red interna
¡En la imaginacion (y en el contrato) esta el lımite!
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 37: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/37.jpg)
Indice
1 Introduccion
2 Hacking Drupal
3 Hardening Drupal
4 Live Demo
5 Conclusiones
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 38: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/38.jpg)
En resumen. . .
Defensa en todas las capas
Buenas practicas
Mucha documentacion, ¡no hay excusa!
Buscar la proporcionalidad
La importancia de la formacion
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 39: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/39.jpg)
En resumen. . .
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 40: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/40.jpg)
Referencias
Linux Administrator’s Security Guidehttp://www.seifried.org/lasg
Apache Security Tipshttp://httpd.apache.org/docs/current/misc/security tips.html
PHP security manualhttp://php.net/manual/en/security.php
Cracking Drupalhttp://www.crackingdrupal.com
Writing secure codehttps://drupal.org/writing-secure-code
Securing your sitehttps://drupal.org/security/secure-configuration
Zequi Vazquez @RabbitLair Seguridad en Drupal
![Page 41: Hack & Beers - Seguridad en Drupal](https://reader031.fdocument.pub/reader031/viewer/2022030306/58cf31951a28ab00168b5a21/html5/thumbnails/41.jpg)
Esto es todo, amigos...
¡Gracias!
@RabbitLairezequielvazq[at]gmail[dot]com
Zequi Vazquez @RabbitLair Seguridad en Drupal