0
SEGURIDAD Y APLICACIONES WEB Licencia Creative Commons Esta obra esta distribuida bajo una licencia de: <ul><li>Reconocimi...
No Comercial (Non commercial): La explotación de la obra queda limitada a usos no comerciales.
Compartir Igual (Share alike): La explotación autorizada incluye la creación de obras derivadas siempre que mantengan la m...
SEGURIDAD EN APLICACIONES WEB Web Pentesting WEB PENTESTING Test de penetración web
SEGURIDAD EN APLICACIONES WEB Web Pentesting Pruebas de penetración (Penetration test/Pentesting) Es un método para evalua...
SEGURIDAD EN APLICACIONES WEB Web Pentesting ¿Como se realiza un Pentesting? <ul><li>En este apartado nos centraremos en r...
Revsaremos la metodología de testing OWASP </li></ul>
SEGURIDAD EN APLICACIONES WEB Web Pentesting Esta metodología implica la catalogación de cualquier vulnerabilidad encontra...
SEGURIDAD EN APLICACIONES WEB Web Pentesting Consta de una serie de puntos a testear que organiza en dos fases.  <ul><li>F...
SEGURIDAD EN APLICACIONES WEB Web Pentesting <ul><li>Gestión de la configuración
Autenticación
Gestión de la sesión
Autorización
Lógica de negocio </li></ul><ul><li>Validación de datos
Denegación de servicio
Web Services
Ajax </li></ul>Fase activa. En las que se realizarán pruebas sobre:
SEGURIDAD EN APLICACIONES WEB Web Pentesting La utilización de esta metodología nos permitirá realizar y documentar las pr...
SEGURIDAD EN APLICACIONES WEB Web Pentesting A continuación iremos listando y explicando las actividades más relevantes po...
SEGURIDAD EN APLICACIONES WEB Web Pentesting Recolección de información <ul><li>Spiders, robots, crawlers: </li></ul><ul><...
Herramientas: </li><ul><li>Paros Proxy
Owasp ZAP </li></ul></ul></ul>
SEGURIDAD EN APLICACIONES WEB Web Pentesting Recolección de información <ul><li>Buscar información sobre la aplicación web...
Páginas de error
Estructura
… </li></ul><li>Herramientas: </li><ul><li>Google
Bing </li></ul></ul></ul>
SEGURIDAD EN APLICACIONES WEB Web Pentesting Recolección de información <ul><li>Identificar puntos de entrada en la aplica...
Upcoming SlideShare
Loading in...5
×

Curso basicoseguridadweb slideshare4

365

Published on

Curso básico seguridad web 4:
WebPentesting

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

  • Be the first to like this

No Downloads
Views
Total Views
365
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
29
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Curso basicoseguridadweb slideshare4"

  1. 1. SEGURIDAD Y APLICACIONES WEB Licencia Creative Commons Esta obra esta distribuida bajo una licencia de: <ul><li>Reconocimiento (Attribution): En cualquier explotación de la obra autorizada por la licencia hará falta reconocer la autoría.
  2. 2. No Comercial (Non commercial): La explotación de la obra queda limitada a usos no comerciales.
  3. 3. Compartir Igual (Share alike): La explotación autorizada incluye la creación de obras derivadas siempre que mantengan la misma licencia al ser divulgadas. </li></ul>
  4. 4. SEGURIDAD EN APLICACIONES WEB Web Pentesting WEB PENTESTING Test de penetración web
  5. 5. SEGURIDAD EN APLICACIONES WEB Web Pentesting Pruebas de penetración (Penetration test/Pentesting) Es un método para evaluar la seguridad de un sistema simulando un ataque al mismo. Se puede realizar sobre diferentes puntos del sistema a estudiar (aplicación web, sistemas, ...)
  6. 6. SEGURIDAD EN APLICACIONES WEB Web Pentesting ¿Como se realiza un Pentesting? <ul><li>En este apartado nos centraremos en realizar un Web Pentesting, es decir en analizar la seguridad de una aplicación web.
  7. 7. Revsaremos la metodología de testing OWASP </li></ul>
  8. 8. SEGURIDAD EN APLICACIONES WEB Web Pentesting Esta metodología implica la catalogación de cualquier vulnerabilidad encontrada junto con la asignación de un nivel de impacto a la misma y las recomendaciones pertinentes para solucionarla.
  9. 9. SEGURIDAD EN APLICACIONES WEB Web Pentesting Consta de una serie de puntos a testear que organiza en dos fases. <ul><li>Fase pasiva </li></ul><ul><ul><li>Recolección de información. </li></ul></ul>
  10. 10. SEGURIDAD EN APLICACIONES WEB Web Pentesting <ul><li>Gestión de la configuración
  11. 11. Autenticación
  12. 12. Gestión de la sesión
  13. 13. Autorización
  14. 14. Lógica de negocio </li></ul><ul><li>Validación de datos
  15. 15. Denegación de servicio
  16. 16. Web Services
  17. 17. Ajax </li></ul>Fase activa. En las que se realizarán pruebas sobre:
  18. 18. SEGURIDAD EN APLICACIONES WEB Web Pentesting La utilización de esta metodología nos permitirá realizar y documentar las pruebas de una manera ordenada y coherente. Cada subcategoria le corresponderá un identificador. Por ejemplo: <ul><li>Testeo SSL/TLS ->(OWASP-CM-001) </li></ul>Nos permite disponer de un checklist de tareas para ir anotando su realización y asegurar la revisión completa de la aplicación.
  19. 19. SEGURIDAD EN APLICACIONES WEB Web Pentesting A continuación iremos listando y explicando las actividades más relevantes por las que nos guía esta metodología y alguna de las herramientas que podemos usar para facilitar su cumplimiento
  20. 20. SEGURIDAD EN APLICACIONES WEB Web Pentesting Recolección de información <ul><li>Spiders, robots, crawlers: </li></ul><ul><ul><li>A través de estas herramientas conseguiremos obtener un mapeo de las url's que forman parte de la aplicación. En ocasiones se realizará una combinación de navegación manual y automática para poder recorrer toda la aplicación
  21. 21. Herramientas: </li><ul><li>Paros Proxy
  22. 22. Owasp ZAP </li></ul></ul></ul>
  23. 23. SEGURIDAD EN APLICACIONES WEB Web Pentesting Recolección de información <ul><li>Buscar información sobre la aplicación web en internet (google hacking) </li></ul><ul><ul><li>Podemos obtener información sobre: </li><ul><li>Vulnerabilidades conocidas
  24. 24. Páginas de error
  25. 25. Estructura
  26. 26. … </li></ul><li>Herramientas: </li><ul><li>Google
  27. 27. Bing </li></ul></ul></ul>
  28. 28. SEGURIDAD EN APLICACIONES WEB Web Pentesting Recolección de información <ul><li>Identificar puntos de entrada en la aplicación </li></ul><ul><ul><li>Identificar todos los parámetros de entrada a la aplicación
  29. 29. Herramientas: </li><ul><li>WebScarab
  30. 30. Paros Proxy </li></ul></ul></ul>
  31. 31. SEGURIDAD EN APLICACIONES WEB Web Pentesting Recolección de información <ul><li>Determinar la huella de la aplicación </li></ul><ul><ul><li>Pretendemos descubrir la tecnología subyacente, servidor, sistema operativo,...
  32. 32. Herramientas </li><ul><li>HttPrint
  33. 33. NetCraft (online) </li></ul></ul></ul>
  34. 34. SEGURIDAD EN APLICACIONES WEB Web Pentesting Recolección de información <ul><li>Descubrimiento de aplicaciones </li></ul><ul><ul><li>Consiste en determinar que otros recursos están disponibles en el mismo servidor web
  35. 35. Es importante ya puede dar lugar al descubrimiento de detalles, por ejemplo, sobre posibles aplicaciones/urls destinadas a propósitos administrativos.
  36. 36. Herramientas: </li><ul><li>Buscadores (Google,...)
  37. 37. Netcraft </li></ul></ul></ul>
  38. 38. SEGURIDAD EN APLICACIONES WEB Web Pentesting Recolección de información <ul><li>Análisis de códigos de error </li></ul><ul><ul><li>Los errores que produce la aplicación en algunas ocasiones revelan información sobre las tecnologías subyacentes (Servidor, lenguaje de programación, base de datos, …)
  39. 39. Se tendrán que provocar dichos errores introduciendo valores erróneos en los campos de entrada. </li></ul></ul>
  40. 40. SEGURIDAD EN APLICACIONES WEB Web Pentesting Gestión de la configuración <ul><li>Identificar versión de SSL/TLS y algoritmos usados </li></ul><ul><ul><li>Se revisará aquellos certificados con los que se identifica el servidor en caso de hacerlo por ssl
  41. 41. Se revisarán las versiones y características de SSL/TLS aceptadas por el servidor buscando aquellas versiones obsoletas, con vulnerabilidades conocidas o que tengan cifrado debil
  42. 42. Herramientas: </li><ul><li>ssl_test
  43. 43. sslscan </li></ul></ul></ul>
  44. 44. SEGURIDAD EN APLICACIONES WEB Web Pentesting Gestión de la configuración <ul><li>Acceso a páginas de administración: </li></ul><ul><ul><li>Probar paths típicos: /admin, /administrator, …
  45. 45. Herramientas: </li><ul><li>ZAP incluye la funcionalidad para probar automáticamente con diferentes posibilidades </li></ul></ul></ul>
  46. 46. SEGURIDAD EN APLICACIONES WEB [In]Seguridad en internet. Pentesting <ul><li>Verificar </li></ul><ul><ul><li>El envío de datos sobre canal seguro.(Https)
  47. 47. La posibilidad de enumeración de usuarios
  48. 48. La posibilidad de saltarse el proceso de autenticación (sqli, acceso directo por url, sesiones no aleatorias,...)
  49. 49. La robustez de la política de contraseñas
  50. 50. La correcta gestión del logout </li></ul></ul>Autenticación
  51. 51. SEGURIDAD EN APLICACIONES WEB Web Pentesting <ul><li>Verificar: </li></ul><ul><ul><li>Chequeo de los atributos de las sesiones: </li><ul><li>Cookies con los flags activos HttpOnly y Secure </li></ul><li>Políticas para evitar XSRF </li><ul><li>Tokens únicos de sesión, ... </li></ul></ul></ul>Gestión de sesiones
  52. 52. SEGURIDAD EN APLICACIONES WEB Web Pentesting <ul><li>Verificar </li></ul><ul><ul><li>Que no se puede acceder a archivos del servidor ni cargar archivos propios. </li><ul><li>Local File Inclusion (LFI)
  53. 53. Remote File Inclusion (RFI) </li></ul><li>Bypass del esquema de autorización </li><ul><li>Verificar que un usuario no puede realizar acciones que solo pueden realizar otros roles </li></ul></ul></ul>Autorización:
  54. 54. SEGURIDAD EN APLICACIONES WEB Web Pentesting Lógica de negocio <ul><li>Análisis del funcionamiento interno de la aplicación: </li></ul><ul><ul><li>Usuarios, roles, permisos.
  55. 55. Flujos de navegación.
  56. 56. Flujos de información.
  57. 57. Esta tarea se tendrá que realizar manualmente prestando especial atención a aquellos puntos que puedan ser explotados </li></ul></ul>
  58. 58. SEGURIDAD EN APLICACIONES WEB Web Pentesting <ul><li>Verificar: </li></ul><ul><ul><li>Que se validan y filtran tanto los datos de entrada como los de salida de la aplicación. </li><ul><li>Probar ataques de: </li><ul><li>SQLi
  59. 59. XSS
  60. 60. *Injection </li><ul><li>Existe múltiples tipos de ataques donde se procuran inyectar datos en distintos puntos del sistema. </li></ul></ul></ul><li>Herramientas </li><ul><li>Paros / ZAD </li></ul></ul></ul>Validación de datos
  61. 61. SEGURIDAD EN APLICACIONES WEB Web Pentesting Lógica de negocio <ul><li>Identificación de posibles vectores de ataque e intento de explotación. Ejemplo: </li></ul><ul><ul><li>Intentar realizar un trámite que requiere pago sin haberlo realizado mediante la modificación de valores de entrada </li></ul></ul>
  62. 62. SEGURIDAD EN APLICACIONES WEB Web Pentesting Verificar: <ul><ul><li>Existencia de partes de la aplicación que tarden mucho en responder y realizar varias peticiones simultaneas para observar como reacciona el sistema.
  63. 63. Realizar/Inyectar querys pesadas.
  64. 64. Bloqueo de cuentas de usuario
  65. 65. ... </li></ul></ul>Denegación de servicio (DOS)
  66. 66. SEGURIDAD EN APLICACIONES WEB Web Pentesting <ul><li>Identificación y análisis de las funciones que ofrecen los webservices. </li></ul><ul><ul><li>Revisión de funciones o parámetros no testeados hasta el momento a través del interfaz web </li></ul></ul><ul><li>Verificar las vulnerabilidades propias de los webservices: </li></ul><ul><ul><li>Xpath Injection </li></ul><li>Herramientas </li><ul><li>Webscarab (WebServices plugin)
  67. 67. WSDigger </li></ul></ul>Web Service Testing
  68. 68. SEGURIDAD EN APLICACIONES WEB Web Pentesting <ul><li>Identificación y análisis de las funciones que ofrecen </li></ul><ul><ul><li>Revisión del código fuente javascript para detectar: </li><ul><li>Funciones o parámetros no testeados hasta el momento a través del interfaz web
  69. 69. Identificar framework AJAX
  70. 70. Búsqueda en internet de vulnerabilidades propias a dicho framework y prueba de las mismas </li></ul><li>Herramientas: </li><ul><li>Addons Firefox: Firebug </li></ul></ul></ul>AJAX Testing
  71. 71. SEGURIDAD EN APLICACIONES WEB Web Pentesting <ul><li>Referencias: </li></ul>https://www.owasp.org/index.php/Testing_Checklist https://www.owasp.org/index.php/Web_Application_Penetration_Testing http://www.owasp.org/images/5/56/OWASP_Testing_Guide_v3.pdf
  72. 72. SEGURIDAD EN APLICACIONES WEB Web Pentesting Como vemos el proceso de testing de la seguridad de una aplicación web puede proveernos de una revisión reglada de los principales puntos de vulnerabilidad de un aplicación. No obstante como todo proceso de testing nunca nos otorgara una garantía del 100% de seguridad
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×