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

910 views

Published on

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.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
910
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
17
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

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

  1. 1. Sobre mi Formaci´on Ingeniero T´ecnico en Inform´atica - UCA M´aster en Ingenier´ıa del Software - US M´aster en Seguridad de las TIC - US Experiencia 4+ a˜nos como desarrollador web, m´as de 2 en Drupal Actualmente: DevOps Drupal Python, C++, GNU/Linux, network programming. . . Aficiones Rock’n’Roll (guitarra) y videojuegos Narrativa fant´astica, rol, cine. . . Ezequiel V´azquez De la calle Hacking Drupal
  2. 2. ´Indice 1 Introducci´on 2 Importancia de la seguridad 3 OWASP Testing Guide 4 Vector de ataque simple 5 Conclusiones Ezequiel V´azquez De la calle Hacking Drupal
  3. 3. ´Indice 1 Introducci´on 2 Importancia de la seguridad 3 OWASP Testing Guide 4 Vector de ataque simple 5 Conclusiones Ezequiel V´azquez De la calle Hacking Drupal
  4. 4. Introducci´on ¿Qu´e es la seguridad? Confidencialidad Integridad Disponibilidad Autenticaci´on Ezequiel V´azquez De la calle Hacking Drupal
  5. 5. Introducci´on Principios b´asicos Seguridad en profundidad M´ınimo privilegio Eslab´on m´as d´ebil Proporcionalidad Participaci´on universal Integraci´on con ciclo de vida Ezequiel V´azquez De la calle Hacking Drupal
  6. 6. Introducci´on Open Web Application Security Project Fundaci´on sin ´animo de lucro Multitud de proyectos: algo ca´otico Metodolog´ıa de an´alisis de seguridad web Ezequiel V´azquez De la calle Hacking Drupal
  7. 7. ´Indice 1 Introducci´on 2 Importancia de la seguridad 3 OWASP Testing Guide 4 Vector de ataque simple 5 Conclusiones Ezequiel V´azquez De la calle Hacking Drupal
  8. 8. La importancia de la seguridad El jefe de proyecto Ezequiel V´azquez De la calle Hacking Drupal
  9. 9. La importancia de la seguridad El proyecto en producci´on Ezequiel V´azquez De la calle Hacking Drupal
  10. 10. La importancia de la seguridad El “hacker” Ezequiel V´azquez De la calle Hacking Drupal
  11. 11. La importancia de la seguridad La vulnerabilidad Ezequiel V´azquez De la calle Hacking Drupal
  12. 12. La importancia de la seguridad El resultado Ezequiel V´azquez De la calle Hacking Drupal
  13. 13. ´Indice 1 Introducci´on 2 Importancia de la seguridad 3 OWASP Testing Guide 4 Vector de ataque simple 5 Conclusiones Ezequiel V´azquez De la calle Hacking Drupal
  14. 14. OWASP Testing Guide Estructura Testing framework Cat´alogo de pruebas Enfoque de caja negra C´omo hacer informe Ezequiel V´azquez De la calle Hacking Drupal
  15. 15. Recogida de informaci´on Hacking con buscadores (fichero robots.txt) “Fingerprint” de servidor, framework, versiones. . . Crawlers, spiders, robots. . . Herramientas autom´aticas: Burp, ZAP, Nikto2 Ezequiel V´azquez De la calle Hacking Drupal
  16. 16. Pruebas sobre configuraci´on M´etodos HTTP permitidos (PUT, DELETE, TRACE) Gesti´on de extensiones Configuraci´on de plataforma (Apache, PHP, MySQL. . . ) Revisar backups en el ´arbol web (*.sql, *.bak. . . ) Esc´aner de puertos (Nmap) Firewall/IDS/Web Application Firewall Ezequiel V´azquez De la calle Hacking Drupal
  17. 17. Gesti´on de identidad y autorizaci´on Definici´on de roles (filtros de entrada, permisos asignados) Enumeraci´on de cuentas de usuario (m´odulo views) Ataques de fuerza bruta (Hydra, m´odulos de Captcha) Referencias inseguras (cambiar [nid] en /node/[nid]) Ezequiel V´azquez De la calle Hacking Drupal
  18. 18. Autenticaci´on Credenciales por canal inseguro (MitM, m´odulo securepages) Pol´ıtica de contrase˜nas d´ebil (m´odulo password policy) Recordar contrase˜nas: ¿se vuelve a enviar la pass? Sistema de autenticaci´on (Drupal Ok, pero ¿modificado?) Ezequiel V´azquez De la calle Hacking Drupal
  19. 19. Gesti´on de la sesi´on Duraci´on de la sesi´on (session expire y autologoff ) Gesti´on de cookies (cifrado, atributos httpOnly y Secure) Robo de cookie de sesi´on = Robo de identidad Cross Site Request Forgery (no s´olo forms) Ezequiel V´azquez De la calle Hacking Drupal
  20. 20. Validaci´on de datos de entrada Cross Site Scripting SQL injection Poluci´on de par´ametros HTTP Inyecci´on de c´odigo Subida de ficheros En Drupal: filter xss db query check plain check markup check url Ezequiel V´azquez De la calle Hacking Drupal
  21. 21. Gesti´on de errores Exposici´on de c´odigos y textos de error Exposici´on de trazas Ezequiel V´azquez De la calle Hacking Drupal
  22. 22. M´as testing. . . Criptograf´ıa d´ebil Heartbleed Errores en l´ogica de negocio Tests en lado de cliente No solo web. . . Ezequiel V´azquez De la calle Hacking Drupal
  23. 23. Vulnerabilidades m´as comunes Ezequiel V´azquez De la calle Hacking Drupal
  24. 24. ´Indice 1 Introducci´on 2 Importancia de la seguridad 3 OWASP Testing Guide 4 Vector de ataque simple 5 Conclusiones Ezequiel V´azquez De la calle Hacking Drupal
  25. 25. Un vector de ataque simple Detecci´on de XSS almacenado (filtro “Full HTML”) Inyectar JS que env´ıa cookies a atacante (SOP, httpOnly) Atacante inyecta cookie en su navegador Ezequiel V´azquez De la calle Hacking Drupal
  26. 26. Un vector de ataque simple Activaci´on de m´odulo “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 V´azquez De la calle Hacking Drupal
  27. 27. Un vector de ataque simple ¡Demo time! Ezequiel V´azquez De la calle Hacking Drupal
  28. 28. Un vector de ataque simple A partir de aqu´ı. . . Escalado de privilegios para obtener root (CVE-2014-0196) Persistencia del acceso T´ecnica de pivoting: escanear red interna ¡En la imaginaci´on (y en el contrato) est´a el l´ımite! Ezequiel V´azquez De la calle Hacking Drupal
  29. 29. ´Indice 1 Introducci´on 2 Importancia de la seguridad 3 OWASP Testing Guide 4 Vector de ataque simple 5 Conclusiones Ezequiel V´azquez De la calle Hacking Drupal
  30. 30. En resumen. . . Responsabilidad de todos Seguridad en todo el ciclo de vida Seguir las buenas pr´acticas Siempre habr´a fallos de seguridad La importancia de la formaci´on Ezequiel V´azquez De la calle Hacking Drupal
  31. 31. En resumen. . . Ezequiel V´azquez De la calle Hacking Drupal
  32. 32. Esto es todo, amigos... ¡Gracias! @RabbitLair ezequielvazq[at]gmail[dot]com Ezequiel V´azquez De la calle Hacking Drupal

×