SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
Hacking & Hardening Drupal
Ezequiel V´azquez De la calle (@RabbitLair)
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
Sobre mi
Estudios
Ingeniero T´ecnico en Inform´atica - UCA
M´aster en Ingenier´ıa del Software - US
M´aster en Seguridad de las TIC - US
Experiencia
5+ a˜nos como desarrollador web, 3+ en Drupal
Actualmente: DevOps Drupal
Seguridad, GNU/Linux, Python, Node.JS. . .
Aficiones
Rock’n’Roll (guitarra el´ectrica) y videojuegos
Narrativa fant´astica, rol, cine, cerveza. . .
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
´Indice
1 Introducci´on
2 Hacking Drupal
3 Hardening Drupal
4 Live Demo
5 Conclusiones
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
´Indice
1 Introducci´on
2 Hacking Drupal
3 Hardening Drupal
4 Live Demo
5 Conclusiones
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
Introducci´on
¿Y esto de qu´e va?
CMS escrito en PHP
Extensible mediante
m´odulos y temas
Arquitectura LAMP
Software libre (GPL)
Actualmente, Drupal 7
Lo mejor: La comunidad
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
Seguridad
Pilares de la seguridad
Confidencialidad
Integridad
Disponibilidad
Autenticaci´on
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
Seguridad
Principios b´asicos
M´ınimo privilegio
M´ınima exposici´on
Eslab´on m´as d´ebil
Proporcionalidad
Seguridad en profundidad
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
Servidor
Arquitectura mas com´un para Drupal
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
Vulnerabilidades
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
Seguridad en profundidad
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
¿Por qu´e en profundidad?
El Abismo de Helm era inexpugnable. . .
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
´Indice
1 Introducci´on
2 Hacking Drupal
3 Hardening Drupal
4 Live Demo
5 Conclusiones
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
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 & Hardening Drupal
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 & Hardening Drupal
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 & Hardening Drupal
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 & Hardening Drupal
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 & Hardening Drupal
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 & Hardening Drupal
Gesti´on de errores
Exposici´on de c´odigos y textos de error
Exposici´on de trazas
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
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 & Hardening Drupal
´Indice
1 Introducci´on
2 Hacking Drupal
3 Hardening Drupal
4 Live Demo
5 Conclusiones
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
Cross Site Scripting
¿Qu´e es?
Ejecuci´on de c´odigo Javascript
Reflejado o almacenado
Ataca al cliente: robo de cookies, descarga de malware. . .
¡La m´as com´un en Drupal!
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
Cross Site Scripting
En Drupal. . .
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
Cross Site Scripting
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
Cross Site Scripting
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
SQL Injection
¿Qu´e es?
Modificaci´on de consultas a base de datos
B´asico, blind o time based
Ataca al servidor: extrae informaci´on, o la modifica
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
SQL Injection
En Drupal. . .
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
Cross Site Request Forgery
¿Qu´e es?
Hacer que usuario pida URL sin que lo sepa
Petici´on a un formulario con par´ametros GET
Eliminar nodos, cambiar contrase˜na. . .
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
Cross Site Request Forgery
En Drupal. . .
Utilizar siempre la Forms API
drupal valid token para env´ıos GET
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
Hijacking de sesi´on
¿Qu´e es?
Robo de cookies para suplantar a un usuario identificado
Drupal se encarga de la gesti´on de la sesi´on
Mejor pr´actica: utilizar SSL en todo el portal
Certificado v´alido, m´odulo securepages
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
Bypass de autorizaci´on
¿Qu´e es?
Usuario accede a URLs o
secciones no permitidas
En Drupal. . .
Controlado mediante el
sistema de men´u, roles y
permisos
Mejor pr´actica:
M´ınimo privilegio posible
Granularizar permisos tanto
como sea necesario
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
Referencias inseguras
¿Qu´e es?
Acceder a contenido para el cual no se tiene permiso
Permisos definidos, pero ¿se comprueban?
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
Referencias inseguras
Prevenci´on
Comprobar permisos: user access
Comprobar acceso a contenido: node access
En consultas SQL: $select→addtag(’node access’);
Utilizar la Forms API
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
Securizar la configuraci´on
Instalaci´on segura
M´odulo security review
M´odulo paranoia
M´odulo update
M´odulo password policy
Limitar duraci´on de sesi´on
Permisos “administer . . . ”
¡Ojo con los filtros de entrada!
Desactivar y eliminar m´odulo php
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
´Indice
1 Introducci´on
2 Hacking Drupal
3 Hardening Drupal
4 Live Demo
5 Conclusiones
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
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 & Hardening Drupal
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 & Hardening Drupal
Un vector de ataque simple
¡Demo time!
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
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 & Hardening Drupal
´Indice
1 Introducci´on
2 Hacking Drupal
3 Hardening Drupal
4 Live Demo
5 Conclusiones
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
En resumen. . .
Defensa en todas las capas
Buenas pr´acticas
Mucha documentaci´on, ¡no hay excusa!
Buscar la proporcionalidad
La importancia de la formaci´on
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
En resumen. . .
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
Referencias
Linux Administrator’s Security Guide
http://www.seifried.org/lasg
Apache Security Tips
http://httpd.apache.org/docs/current/misc/security tips.html
PHP security manual
http://php.net/manual/en/security.php
Cracking Drupal
http://www.crackingdrupal.com
Writing secure code
https://drupal.org/writing-secure-code
Securing your site
https://drupal.org/security/secure-configuration
Ezequiel V´azquez De la calle Hacking & Hardening Drupal
Esto es todo, amigos...
¡Gracias!
@RabbitLair
ezequielvazq[at]gmail[dot]com
Ezequiel V´azquez De la calle Hacking & Hardening Drupal

Mais conteúdo relacionado

Mais procurados

Pentest - El Arte de la Guerra
Pentest - El Arte de la GuerraPentest - El Arte de la Guerra
Pentest - El Arte de la Guerra
Luis Cortes Zavala
 

Mais procurados (17)

Presentación Workshop php Barcelona Seguridad
Presentación Workshop php Barcelona SeguridadPresentación Workshop php Barcelona Seguridad
Presentación Workshop php Barcelona Seguridad
 
Penetración con una Backdoor
Penetración con una BackdoorPenetración con una Backdoor
Penetración con una Backdoor
 
Concientización de Riesgos de Ciberseguridad En Wordpress.
Concientización de Riesgos de Ciberseguridad En Wordpress.Concientización de Riesgos de Ciberseguridad En Wordpress.
Concientización de Riesgos de Ciberseguridad En Wordpress.
 
Taller de Hacking (EXIT 2014)
Taller de Hacking (EXIT 2014)Taller de Hacking (EXIT 2014)
Taller de Hacking (EXIT 2014)
 
Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
 
Workshop Seguridad Wireless
Workshop Seguridad WirelessWorkshop Seguridad Wireless
Workshop Seguridad Wireless
 
Presentacion password cracking_madrid_2019
Presentacion password cracking_madrid_2019Presentacion password cracking_madrid_2019
Presentacion password cracking_madrid_2019
 
Ataque DNS spoofing con Kali Linux
Ataque DNS spoofing con Kali LinuxAtaque DNS spoofing con Kali Linux
Ataque DNS spoofing con Kali Linux
 
Pentest - El Arte de la Guerra
Pentest - El Arte de la GuerraPentest - El Arte de la Guerra
Pentest - El Arte de la Guerra
 
Cielos me han hackeado final
Cielos me han hackeado finalCielos me han hackeado final
Cielos me han hackeado final
 
Manual para romper contraseñas WEP y WPA
Manual para romper contraseñas WEP y WPAManual para romper contraseñas WEP y WPA
Manual para romper contraseñas WEP y WPA
 
Wordpress hardening (Campus Party Mexico 4)
Wordpress hardening (Campus Party Mexico 4)Wordpress hardening (Campus Party Mexico 4)
Wordpress hardening (Campus Party Mexico 4)
 
Seguridad en WordPress
Seguridad en WordPressSeguridad en WordPress
Seguridad en WordPress
 
Seguridad WordPress Meetup Majadahonda
Seguridad WordPress Meetup MajadahondaSeguridad WordPress Meetup Majadahonda
Seguridad WordPress Meetup Majadahonda
 
Web App Security, Ethical hacking for CodeCamp SDQ 5
Web App Security, Ethical hacking for CodeCamp SDQ 5Web App Security, Ethical hacking for CodeCamp SDQ 5
Web App Security, Ethical hacking for CodeCamp SDQ 5
 
Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13
Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13
Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13
 
CPMX5 - Hacking like a boss por Roberto Salgado
CPMX5 - Hacking like a boss por Roberto SalgadoCPMX5 - Hacking like a boss por Roberto Salgado
CPMX5 - Hacking like a boss por Roberto Salgado
 

Destaque (6)

Desarrollo Seguro en Drupal - DrupalCamp Spain 2013
Desarrollo Seguro en Drupal - DrupalCamp Spain 2013Desarrollo Seguro en Drupal - DrupalCamp Spain 2013
Desarrollo Seguro en Drupal - DrupalCamp Spain 2013
 
Drupal Extreme Scaling
Drupal Extreme ScalingDrupal Extreme Scaling
Drupal Extreme Scaling
 
Seguridad para todos
Seguridad para todosSeguridad para todos
Seguridad para todos
 
DrupalCon Barcelona 2015 - Drupal Extreme Scaling
DrupalCon Barcelona 2015 - Drupal Extreme ScalingDrupalCon Barcelona 2015 - Drupal Extreme Scaling
DrupalCon Barcelona 2015 - Drupal Extreme Scaling
 
Taller Drupal - Jornadas Software Libre UCA
Taller Drupal - Jornadas Software Libre UCATaller Drupal - Jornadas Software Libre UCA
Taller Drupal - Jornadas Software Libre UCA
 
Hiring, Training and Supervising Library Shelvers: Part 2
Hiring, Training and Supervising Library Shelvers: Part 2Hiring, Training and Supervising Library Shelvers: Part 2
Hiring, Training and Supervising Library Shelvers: Part 2
 

Semelhante a Hacking & Hardening Drupal

Ponencia sql avanzado y automatizado
Ponencia sql avanzado y automatizadoPonencia sql avanzado y automatizado
Ponencia sql avanzado y automatizado
n3xasec
 

Semelhante a Hacking & Hardening Drupal (20)

Hacking web con OWASP
Hacking web con OWASPHacking web con OWASP
Hacking web con OWASP
 
Taller cybersecurity 2016
Taller cybersecurity 2016Taller cybersecurity 2016
Taller cybersecurity 2016
 
Betabeers Sevilla - Hacking web con OWASP
Betabeers Sevilla - Hacking web con OWASPBetabeers Sevilla - Hacking web con OWASP
Betabeers Sevilla - Hacking web con OWASP
 
Hacking a sistemas CMS
Hacking a sistemas CMSHacking a sistemas CMS
Hacking a sistemas CMS
 
Inyecciones SQL para Aprendices
Inyecciones SQL para AprendicesInyecciones SQL para Aprendices
Inyecciones SQL para Aprendices
 
Inyecciones sql para aprendices
Inyecciones sql para aprendicesInyecciones sql para aprendices
Inyecciones sql para aprendices
 
Seguridad WEB - Principios básicos.
Seguridad WEB - Principios básicos.Seguridad WEB - Principios básicos.
Seguridad WEB - Principios básicos.
 
Ponencia sql avanzado y automatizado
Ponencia sql avanzado y automatizadoPonencia sql avanzado y automatizado
Ponencia sql avanzado y automatizado
 
Seguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securitySeguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_security
 
Webinar Gratuito: "Inyección SQL"
Webinar Gratuito: "Inyección SQL"Webinar Gratuito: "Inyección SQL"
Webinar Gratuito: "Inyección SQL"
 
Seguridad so pii_2011
Seguridad so pii_2011Seguridad so pii_2011
Seguridad so pii_2011
 
La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades
La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidadesLa Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades
La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades
 
La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades
La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidadesLa Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades
La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades
 
WordCamp Taller Seguridad WordPress
WordCamp Taller Seguridad WordPressWordCamp Taller Seguridad WordPress
WordCamp Taller Seguridad WordPress
 
Completo conferencia seguridad_web_software_libre_2015
Completo conferencia seguridad_web_software_libre_2015Completo conferencia seguridad_web_software_libre_2015
Completo conferencia seguridad_web_software_libre_2015
 
Owasp 6 Seguridad en WordPress
Owasp 6  Seguridad en WordPressOwasp 6  Seguridad en WordPress
Owasp 6 Seguridad en WordPress
 
Seguridad en Servidores Dedicados
Seguridad en Servidores DedicadosSeguridad en Servidores Dedicados
Seguridad en Servidores Dedicados
 
Wordpress como framework - DarioBF en WordCamp Barcelona
Wordpress como framework - DarioBF en WordCamp BarcelonaWordpress como framework - DarioBF en WordCamp Barcelona
Wordpress como framework - DarioBF en WordCamp Barcelona
 
Seguridad en aplicaciones web
Seguridad en aplicaciones webSeguridad en aplicaciones web
Seguridad en aplicaciones web
 
José Luis Verdeguer - VoIP2DAY 2016 | Analizando la seguridad de los producto...
José Luis Verdeguer - VoIP2DAY 2016 | Analizando la seguridad de los producto...José Luis Verdeguer - VoIP2DAY 2016 | Analizando la seguridad de los producto...
José Luis Verdeguer - VoIP2DAY 2016 | Analizando la seguridad de los producto...
 

Último

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 

Último (10)

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Hacking & Hardening Drupal

  • 1. Hacking & Hardening Drupal Ezequiel V´azquez De la calle (@RabbitLair) Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 2. Sobre mi Estudios Ingeniero T´ecnico en Inform´atica - UCA M´aster en Ingenier´ıa del Software - US M´aster en Seguridad de las TIC - US Experiencia 5+ a˜nos como desarrollador web, 3+ en Drupal Actualmente: DevOps Drupal Seguridad, GNU/Linux, Python, Node.JS. . . Aficiones Rock’n’Roll (guitarra el´ectrica) y videojuegos Narrativa fant´astica, rol, cine, cerveza. . . Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 3. ´Indice 1 Introducci´on 2 Hacking Drupal 3 Hardening Drupal 4 Live Demo 5 Conclusiones Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 4. ´Indice 1 Introducci´on 2 Hacking Drupal 3 Hardening Drupal 4 Live Demo 5 Conclusiones Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 5. Introducci´on ¿Y esto de qu´e va? CMS escrito en PHP Extensible mediante m´odulos y temas Arquitectura LAMP Software libre (GPL) Actualmente, Drupal 7 Lo mejor: La comunidad Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 6. Seguridad Pilares de la seguridad Confidencialidad Integridad Disponibilidad Autenticaci´on Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 7. Seguridad Principios b´asicos M´ınimo privilegio M´ınima exposici´on Eslab´on m´as d´ebil Proporcionalidad Seguridad en profundidad Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 8. Servidor Arquitectura mas com´un para Drupal Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 9. Vulnerabilidades Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 10. Seguridad en profundidad Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 11. ¿Por qu´e en profundidad? El Abismo de Helm era inexpugnable. . . Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 12. ´Indice 1 Introducci´on 2 Hacking Drupal 3 Hardening Drupal 4 Live Demo 5 Conclusiones Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 13. 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 & Hardening Drupal
  • 14. 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 & Hardening Drupal
  • 15. 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 & Hardening Drupal
  • 16. 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 & Hardening Drupal
  • 17. 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 & Hardening Drupal
  • 18. 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 & Hardening Drupal
  • 19. Gesti´on de errores Exposici´on de c´odigos y textos de error Exposici´on de trazas Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 20. 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 & Hardening Drupal
  • 21. ´Indice 1 Introducci´on 2 Hacking Drupal 3 Hardening Drupal 4 Live Demo 5 Conclusiones Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 22. Cross Site Scripting ¿Qu´e es? Ejecuci´on de c´odigo Javascript Reflejado o almacenado Ataca al cliente: robo de cookies, descarga de malware. . . ¡La m´as com´un en Drupal! Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 23. Cross Site Scripting En Drupal. . . Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 24. Cross Site Scripting Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 25. Cross Site Scripting Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 26. SQL Injection ¿Qu´e es? Modificaci´on de consultas a base de datos B´asico, blind o time based Ataca al servidor: extrae informaci´on, o la modifica Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 27. SQL Injection En Drupal. . . Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 28. Cross Site Request Forgery ¿Qu´e es? Hacer que usuario pida URL sin que lo sepa Petici´on a un formulario con par´ametros GET Eliminar nodos, cambiar contrase˜na. . . Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 29. Cross Site Request Forgery En Drupal. . . Utilizar siempre la Forms API drupal valid token para env´ıos GET Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 30. Hijacking de sesi´on ¿Qu´e es? Robo de cookies para suplantar a un usuario identificado Drupal se encarga de la gesti´on de la sesi´on Mejor pr´actica: utilizar SSL en todo el portal Certificado v´alido, m´odulo securepages Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 31. Bypass de autorizaci´on ¿Qu´e es? Usuario accede a URLs o secciones no permitidas En Drupal. . . Controlado mediante el sistema de men´u, roles y permisos Mejor pr´actica: M´ınimo privilegio posible Granularizar permisos tanto como sea necesario Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 32. Referencias inseguras ¿Qu´e es? Acceder a contenido para el cual no se tiene permiso Permisos definidos, pero ¿se comprueban? Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 33. Referencias inseguras Prevenci´on Comprobar permisos: user access Comprobar acceso a contenido: node access En consultas SQL: $select→addtag(’node access’); Utilizar la Forms API Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 34. Securizar la configuraci´on Instalaci´on segura M´odulo security review M´odulo paranoia M´odulo update M´odulo password policy Limitar duraci´on de sesi´on Permisos “administer . . . ” ¡Ojo con los filtros de entrada! Desactivar y eliminar m´odulo php Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 35. ´Indice 1 Introducci´on 2 Hacking Drupal 3 Hardening Drupal 4 Live Demo 5 Conclusiones Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 36. 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 & Hardening Drupal
  • 37. 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 & Hardening Drupal
  • 38. Un vector de ataque simple ¡Demo time! Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 39. 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 & Hardening Drupal
  • 40. ´Indice 1 Introducci´on 2 Hacking Drupal 3 Hardening Drupal 4 Live Demo 5 Conclusiones Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 41. En resumen. . . Defensa en todas las capas Buenas pr´acticas Mucha documentaci´on, ¡no hay excusa! Buscar la proporcionalidad La importancia de la formaci´on Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 42. En resumen. . . Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 43. Referencias Linux Administrator’s Security Guide http://www.seifried.org/lasg Apache Security Tips http://httpd.apache.org/docs/current/misc/security tips.html PHP security manual http://php.net/manual/en/security.php Cracking Drupal http://www.crackingdrupal.com Writing secure code https://drupal.org/writing-secure-code Securing your site https://drupal.org/security/secure-configuration Ezequiel V´azquez De la calle Hacking & Hardening Drupal
  • 44. Esto es todo, amigos... ¡Gracias! @RabbitLair ezequielvazq[at]gmail[dot]com Ezequiel V´azquez De la calle Hacking & Hardening Drupal