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
´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
´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
Introducci´on
¿Qu´e es la seguridad?
Confidencialidad
Integridad
Disponibilidad
Autenticaci´on
Ezequiel V´azquez De la calle Hacking Drupal
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
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
´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
La importancia de la seguridad
El jefe de proyecto
Ezequiel V´azquez De la calle Hacking Drupal
La importancia de la seguridad
El proyecto en producci´on
Ezequiel V´azquez De la calle Hacking Drupal
La importancia de la seguridad
El “hacker”
Ezequiel V´azquez De la calle Hacking Drupal
La importancia de la seguridad
La vulnerabilidad
Ezequiel V´azquez De la calle Hacking Drupal
La importancia de la seguridad
El resultado
Ezequiel V´azquez De la calle Hacking Drupal
´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
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
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
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
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
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
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
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
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
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
Vulnerabilidades m´as comunes
Ezequiel V´azquez De la calle Hacking Drupal
´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
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
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
Un vector de ataque simple
¡Demo time!
Ezequiel V´azquez De la calle Hacking 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 Drupal
´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
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
En resumen. . .
Ezequiel V´azquez De la calle Hacking Drupal
Esto es todo, amigos...
¡Gracias!
@RabbitLair
ezequielvazq[at]gmail[dot]com
Ezequiel V´azquez De la calle Hacking Drupal

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

  • 2.
    Sobre mi Formaci´on Ingeniero T´ecnicoen 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
  • 3.
    ´Indice 1 Introducci´on 2 Importanciade la seguridad 3 OWASP Testing Guide 4 Vector de ataque simple 5 Conclusiones Ezequiel V´azquez De la calle Hacking Drupal
  • 4.
    ´Indice 1 Introducci´on 2 Importanciade la seguridad 3 OWASP Testing Guide 4 Vector de ataque simple 5 Conclusiones Ezequiel V´azquez De la calle Hacking Drupal
  • 5.
    Introducci´on ¿Qu´e es laseguridad? Confidencialidad Integridad Disponibilidad Autenticaci´on Ezequiel V´azquez De la calle Hacking Drupal
  • 6.
    Introducci´on Principios b´asicos Seguridad enprofundidad 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
  • 7.
    Introducci´on Open Web ApplicationSecurity 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
  • 8.
    ´Indice 1 Introducci´on 2 Importanciade la seguridad 3 OWASP Testing Guide 4 Vector de ataque simple 5 Conclusiones Ezequiel V´azquez De la calle Hacking Drupal
  • 9.
    La importancia dela seguridad El jefe de proyecto Ezequiel V´azquez De la calle Hacking Drupal
  • 10.
    La importancia dela seguridad El proyecto en producci´on Ezequiel V´azquez De la calle Hacking Drupal
  • 11.
    La importancia dela seguridad El “hacker” Ezequiel V´azquez De la calle Hacking Drupal
  • 12.
    La importancia dela seguridad La vulnerabilidad Ezequiel V´azquez De la calle Hacking Drupal
  • 13.
    La importancia dela seguridad El resultado Ezequiel V´azquez De la calle Hacking Drupal
  • 14.
    ´Indice 1 Introducci´on 2 Importanciade la seguridad 3 OWASP Testing Guide 4 Vector de ataque simple 5 Conclusiones Ezequiel V´azquez De la calle Hacking Drupal
  • 15.
    OWASP Testing Guide Estructura Testingframework Cat´alogo de pruebas Enfoque de caja negra C´omo hacer informe Ezequiel V´azquez De la calle Hacking Drupal
  • 16.
    Recogida de informaci´on Hackingcon 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
  • 17.
    Pruebas sobre configuraci´on M´etodosHTTP 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
  • 18.
    Gesti´on de identidady 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
  • 19.
    Autenticaci´on Credenciales por canalinseguro (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
  • 20.
    Gesti´on de lasesi´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
  • 21.
    Validaci´on de datosde 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
  • 22.
    Gesti´on de errores Exposici´onde c´odigos y textos de error Exposici´on de trazas Ezequiel V´azquez De la calle Hacking Drupal
  • 23.
    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
  • 24.
    Vulnerabilidades m´as comunes EzequielV´azquez De la calle Hacking Drupal
  • 25.
    ´Indice 1 Introducci´on 2 Importanciade la seguridad 3 OWASP Testing Guide 4 Vector de ataque simple 5 Conclusiones Ezequiel V´azquez De la calle Hacking Drupal
  • 26.
    Un vector deataque 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
  • 27.
    Un vector deataque 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
  • 28.
    Un vector deataque simple ¡Demo time! Ezequiel V´azquez De la calle Hacking Drupal
  • 29.
    Un vector deataque 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
  • 30.
    ´Indice 1 Introducci´on 2 Importanciade la seguridad 3 OWASP Testing Guide 4 Vector de ataque simple 5 Conclusiones Ezequiel V´azquez De la calle Hacking Drupal
  • 31.
    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
  • 32.
    En resumen. .. Ezequiel V´azquez De la calle Hacking Drupal
  • 33.
    Esto es todo,amigos... ¡Gracias! @RabbitLair ezequielvazq[at]gmail[dot]com Ezequiel V´azquez De la calle Hacking Drupal