Curso basicoseguridadweb slideshare4

Embed Size (px)

DESCRIPTION

Curso básico seguridad web 4: WebPentesting

Citation preview

  • 1. SEGURIDAD Y APLICACIONES WEB Licencia Creative Commons Esta obra esta distribuida bajo una licencia de:
    • Reconocimiento (Attribution): En cualquier explotacin de la obra autorizada por la licencia har falta reconocer la autora.
  • 2. No Comercial (Non commercial): La explotacin de la obra queda limitada a usos no comerciales.

3. Compartir Igual (Share alike): La explotacin autorizada incluye la creacin de obras derivadas siempre que mantengan la misma licencia al ser divulgadas. 4. SEGURIDAD EN APLICACIONES WEB Web Pentesting WEB PENTESTING Test de penetracin web 5. SEGURIDAD EN APLICACIONES WEB Web Pentesting Pruebas de penetracin (Penetration test/Pentesting) Es un mtodo para evaluar la seguridad de un sistema simulando un ataque al mismo. Se puede realizar sobre diferentes puntos del sistema a estudiar (aplicacin web, sistemas, ...) 6. SEGURIDAD EN APLICACIONES WEB Web Pentesting Como se realiza un Pentesting?

  • En este apartado nos centraremos en realizar un Web Pentesting, es decir en analizar la seguridad de una aplicacin web.

7. Revsaremos la metodologa de testing OWASP 8. SEGURIDAD EN APLICACIONES WEB Web Pentesting Esta metodologa implica la catalogacin de cualquier vulnerabilidad encontrada junto con la asignacin de un nivel de impacto a la misma y las recomendaciones pertinentes para solucionarla. 9. SEGURIDAD EN APLICACIONES WEB Web Pentesting Consta de una serie de puntos a testear que organiza en dos fases.

  • Fase pasiva
    • Recoleccin de informacin.

10. SEGURIDAD EN APLICACIONES WEB Web Pentesting

  • Gestin de la configuracin

11. Autenticacin 12. Gestin de la sesin 13. Autorizacin 14. Lgica de negocio

  • Validacin de datos

15. Denegacin de servicio 16. Web Services 17. Ajax Fase activa. En las que se realizarn pruebas sobre: 18. SEGURIDAD EN APLICACIONES WEB Web Pentesting La utilizacin de esta metodologa nos permitir realizar y documentar las pruebas de una manera ordenada y coherente.Cada subcategoria le corresponder un identificador. Por ejemplo:

  • Testeo SSL/TLS ->(OWASP-CM-001)

Nos permite disponer de un checklist de tareas para ir anotando su realizacin y asegurar la revisin completa de la aplicacin. 19. SEGURIDAD EN APLICACIONES WEB Web Pentesting A continuacin iremos listando y explicando las actividades ms relevantes por las que nos gua esta metodologa y alguna de las herramientas que podemos usar para facilitar su cumplimiento 20. SEGURIDAD EN APLICACIONES WEB Web Pentesting Recoleccin de informacin

  • Spiders, robots, crawlers:
    • A travs de estas herramientas conseguiremos obtener un mapeo de las url's que forman parte de la aplicacin. En ocasiones se realizar una combinacin de navegacin manual y automtica para poder recorrer toda la aplicacin
  • 21. Herramientas:
  • Paros Proxy

22. Owasp ZAP 23. SEGURIDAD EN APLICACIONES WEB Web Pentesting Recoleccin de informacin

  • Buscar informacin sobre la aplicacin web en internet (google hacking)
    • Podemos obtener informacin sobre:
    • Vulnerabilidades conocidas
  • 24. Pginas de error

25. Estructura 26. Herramientas:

  • Google

27. Bing 28. SEGURIDAD EN APLICACIONES WEB Web Pentesting Recoleccin de informacin

  • Identificar puntos de entrada en la aplicacin
    • Identificar todos los parmetros de entrada a la aplicacin
  • 29. Herramientas:
  • WebScarab

30. Paros Proxy 31. SEGURIDAD EN APLICACIONES WEB Web Pentesting Recoleccin de informacin

  • Determinar la huella de la aplicacin
    • Pretendemos descubrir la tecnologa subyacente, servidor, sistema operativo,...
  • 32. Herramientas
  • HttPrint

33. NetCraft (online) 34. SEGURIDAD EN APLICACIONES WEB Web Pentesting Recoleccin de informacin

  • Descubrimiento de aplicaciones
    • Consiste en determinar que otros recursos estn disponibles en el mismo servidor web
  • 35. Es importante ya puede dar lugar al descubrimiento de detalles, por ejemplo, sobre posibles aplicaciones/urls destinadas a propsitos administrativos.

36. Herramientas:

  • Buscadores (Google,...)

37. Netcraft 38. SEGURIDAD EN APLICACIONES WEB Web Pentesting Recoleccin de informacin

  • Anlisis de cdigos de error
    • Los errores que produce la aplicacin en algunas ocasiones revelan informacin sobre las tecnologas subyacentes (Servidor, lenguaje de programacin, base de datos, )
  • 39. Se tendrn que provocar dichos errores introduciendo valores errneos en los campos de entrada.

40. SEGURIDAD EN APLICACIONES WEB Web Pentesting Gestin de la configuracin

  • Identificar versin de SSL/TLS y algoritmos usados
    • Se revisar aquellos certificados con los que se identifica el servidor en caso de hacerlo por ssl
  • 41. Se revisarn las versiones y caractersticas de SSL/TLS aceptadas por el servidor buscando aquellas versiones obsoletas, con vulnerabilidades conocidas o que tengan cifrado debil

42. Herramientas:

  • ssl_test

43. sslscan 44. SEGURIDAD EN APLICACIONES WEB Web Pentesting Gestin de la configuracin

  • Acceso a pginas de administracin:
    • Probar paths tpicos: /admin, /administrator,
  • 45. Herramientas:
  • ZAP incluye la funcionalidad para probar automticamente con diferentes posibilidades

46. SEGURIDAD EN APLICACIONES WEB [In]Seguridad en internet. Pentesting

  • Verificar
    • El envo de datos sobre canal seguro.(Https)
  • 47. La posibilidad de enumeracin de usuarios

48. La posibilidad de saltarse el proceso de autenticacin (sqli, acceso directo por url, sesiones no aleatorias,...) 49. La robustez de la poltica de contraseas 50. La correcta gestin del logout Autenticacin 51. SEGURIDAD EN APLICACIONES WEB Web Pentesting

  • Verificar:
    • Chequeo de los atributos de las sesiones:
    • Cookies con los flags activos HttpOnly y Secure

Polticas para evitar XSRF

  • Tokens nicos de sesin, ...

Gestin de sesiones 52. SEGURIDAD EN APLICACIONES WEB Web Pentesting

  • Verificar
    • Que no se puede acceder a archivos del servidor ni cargar archivos propios.
    • Local File Inclusion (LFI)
  • 53. Remote File Inclusion (RFI)

Bypass del esquema de autorizacin

  • Verificar que un usuario no puede realizar acciones que solo pueden realizar otros roles

Autorizacin: 54. SEGURIDAD EN APLICACIONES WEB Web Pentesting Lgica de negocio

  • Anlisis del funcionamiento interno de la aplicacin:
    • Usuarios, roles, permisos.
  • 55. Flujos de navegacin.

56. Flujos de informacin. 57. Esta tarea se tendr que realizar manualmente prestando especial atencin a aquellos puntos que puedan ser explotados 58. SEGURIDAD EN APLICACIONES WEB Web Pentesting

  • Verificar:
    • Que se validan y filtran tanto los datos de entrada como los de salida de la aplicacin.
    • Probar ataques de:
    • SQLi
  • 59. XSS

60. *Injection

  • Existe mltiples tipos de ataques donde se procuran inyectar datos en distintos puntos del sistema.

Herramientas

  • Paros / ZAD

Validacin de datos 61. SEGURIDAD EN APLICACIONES WEB Web Pentesting Lgica de negocio

  • Identificacin de posibles vectores de ataque e intento de explotacin. Ejemplo:
    • Intentar realizar un trmite que requiere pago sin haberlo realizado mediante la modificacin de valores de entrada

62. SEGURIDAD EN APLICACIONES WEB Web Pentesting Verificar:

    • Existencia de partes de la aplicacin que tarden mucho en responder y realizar varias peticiones simultaneas para observar como reacciona el sistema.
  • 63. Realizar/Inyectar querys pesadas.

64. Bloqueo de cuentas de usuario 65. ... Denegacin de servicio (DOS) 66. SEGURIDAD EN APLICACIONES WEB Web Pentesting

  • Identificacin y anlisis de las funciones que ofrecen los webservices.
    • Revisin de funciones o parmetros no testeados hasta el momento a travs del interfaz web
  • Verificar las vulnerabilidades propias de los webservices:
    • Xpath Injection

Herramientas

  • Webscarab (WebServices plugin)

67. WSDigger Web Service Testing 68. SEGURIDAD EN APLICACIONES WEB Web Pentesting

  • Identificacin y anlisis de las funciones que ofrecen
    • Revisin del cdigo fuente javascript para detectar:
    • Funciones o parmetros no testeados hasta el momento a travs del interfaz web
  • 69. Identificar framework AJAX

70. Bsqueda en internet de vulnerabilidades propias a dicho framework y prueba de las mismas Herramientas:

  • Addons Firefox: Firebug

AJAX Testing 71. SEGURIDAD EN APLICACIONES WEB Web Pentesting

  • Referencias:

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. SEGURIDAD EN APLICACIONES WEB Web Pentesting Como vemos el proceso de testing de la seguridad de una aplicacin web puede proveernos de una revisin reglada de los principales puntos de vulnerabilidad de un aplicacin. No obstante como todo proceso de testing nunca nos otorgara una garanta del 100% de seguridad