Herramientas de usuario

Herramientas del sitio


informatica:seguridad:cursos:hacking_etico_descubriendo_vulnerabilidades_en_aplicaciones_web

Hacking ético: descubriendo vulnerabilidades en aplicaciones web

Notas del curso Hacking ético: descubriendo vulnerabilidades en aplicaciones web del Clúster TIC de Galicia.

  • Horas: 40
  • Fecha Inicio: 11/03/2024
  • Fecha Fin: 21/04/2024

Objetivo

  • Conceptos básicos necesarios para entender el proceso que se lleva a cabo en las auditorías web.
  • Comenzaremos con una introducción al mundo de las auditorías web, qué son y qué no son, y veremos las principales vulnerabilidades para luego ir profundizando en las más importantes.
  • Aprenderemos a utilizar y sacar el mayor rendimiento de diferentes herramientas que se convertirán en nuestros mejores aliados para detectar vulnerabilidades o fallos de seguridad.
  • Cada apartado irá acompañado de prácticas para aprender las diferentes técnicas y casuísticas que nos podemos encontrar en un entorno real.
  • El objetivo final, es ser capaces de realizar evaluaciones de seguridad de aplicaciones web en entornos reales detectando el mayor número de vulnerabilidades posibles, consiguiendo así aplicaciones web más seguras para los usuarios

Temario

Tests

Introducción

¿Cuál de los métodos HTTP nos permite conocer qué métodos son aceptados por el servidor?

  • GET
  • POST
  • OPTIONS (correcto)
  • TRACE

¿Cómo podemos saber si se ha recibido un error de servidor tras una petición HTTP?

  • Se mostrará con un código 4xx
  • Se mostrará con un código 5xx (correcto)
  • Se mostrará con un código 3xx
  • Se mostrará con un código 2xx

Si se quiere simular un ataque interno sobre una aplicación web, ¿qué tipo de auditoría se debería elegir?

  • Caja Negra
  • Caja Blanca (correcto)
  • Caja Gris
  • Cualquier tipo sería válido (Negra, Blanca o gris)

¿Qué características son propias de una auditoría de caja negra?

  • Este tipo de auditoría se usa para simular ataques externos, de atacantes que únicamente parten de la URL y partir de ahí se trata de detectar el mayor número de vulnerabilidades posible. (correcto)
  • Este tipo de auditoría se usa para simular ataques internos, de atacantes que únicamente parten de la URL y partir de ahí se trata de detectar el mayor número de vulnerabilidades posible.
  • Este tipo de auditoría se usa para simular ataques internos, de atacantes que tienen toda la información de la aplicación incluido el código fuente y partir de ahí se trata de detectar el mayor número de vulnerabilidades posible.
  • Este tipo de auditoría se realiza por personas externas a la organización a quienes se les notifica cómo se ha desarrollado la aplicación y se les facilitan usuarios para realizar las pruebas.

¿Cuál es la primera fase de una auditoría web?

  • Explotación de vulnerabilidades
  • Elaboración del informe
  • Recolección de información (correcto)
  • No hay un orden estipulado, se va haciendo todo a la vez

¿Qué es el Top10 de OWASP?

  • La lista con las 10 vulnerabilidades más comunes en aplicaciones web (correcto)
  • La lista con las 10 vulnerabilidades más graves que existen en aplicaciones web
  • La lista con las 10 buenas prácticas que se deben seguir para desarrollar aplicaciones web

De qué son las siglas URL:

  • Uniform Resource Locator (correcto)
  • Unique Resource Locator
  • Unique Resource Location
  • Uniform Resource Location

¿En qué capa de las aplicaciones web se encuentra la lógica de negocio?

  • En la capa de presentación
  • En la segunda capa (correcto)
  • En la tercera capa
  • Todas las capas se encargan de la lógica de negocio

¿Qué métodos HTTP son especialmente sensibles y salvo necesidad deberían estar deshabilitados?

  • GET, POST y HEAD
  • DELETE y TRACE
  • PUT, DELETE y TRACE (correcto)
  • OPTIONS, PUT, DELETE y TRACE

¿En qué tipo de auditoría no es necesaria la fase de recolección de información?

  • Caja Negra
  • Caja Gris
  • Caja Blanca (correcto)
  • Siempre es necesaria

Reconocimiento web

¿Qué diferencia una fuerza bruta de directorios de un crawling?

  • En la fuerza bruta se parte de un diccionario mientras que el crawling usa el código fuente de la aplicación (correcto)
  • En el crawling bruta se parte de un diccionario mientras que en la fuerza bruta se usa el código fuente de la aplicación
  • Son lo mismo
  • En la fuerza bruta se encuentran más resultados que en el crawling

¿Qué son los metadatos?

  • Los metadatos es la información que aparece al capturar peticiones http a través de un proxy
  • Los metadatos es otra forma de llamar a la información que contienen los archivos
  • Los metadatos son datos de los datos que ofrecen información adicional que no es visible a simple vista (correcto)
  • Los metadatos son datos que contienen el histórico de modificaciones de un archivo

Si se quiere conocer qué servidor, versión, extensiones o complementos utiliza una aplicación web, ¿cuál de las siguientes se puede utilizar?

  • nmap
  • dirsearch
  • testssl.sh
  • whatweb (correcto)

¿Qué herramienta nos permite conoces si el canal de comunicaciones que se está usando es seguro y está correctamente configurado?

  • nmap
  • dirsearch
  • testssl.sh (correcto)
  • whatweb

¿Qué diferencia hay entre la autenticación y la autorización?

  • La autenticación sirve para verificar que eres quien dices ser y la autorización sirve para verificar si un usuario tiene permiso para acceder a los recursos que solicita. (correcto)
  • La autorización sirve para verificar que eres quien dices ser y la autenticación sirve para verificar si un usuario tiene permiso para acceder a los recursos que solicita.
  • Son dos formas de llamar a lo mismo, saber si un usuario puede acceder a una aplicación o no.
  • La autenticación sólo existe en aplicaciones con parte privada (usuario/contraseña), mientras que la autorización solo se tiene en cuenta en aplicaciones sin parte privada.

De las siguientes características. Cuál no se debe implementar a la hora de configurar las cookies de sesión:

  • No deben ser predecibles
  • Atributo secure a True
  • Atributo HttpOnly a True
  • Sin tiempo de expiración (correcto)

¿Qué archivo se ha utilizado de manera equivocada para “ocultar” partes de la aplicación cuando en realidad evita indexación por parte de buscadores?

  • Robots.txt (correcto)
  • Sitemap.xml
  • Humans.txt
  • Security.txt

¿Qué respuesta del servidor nos indica que una URL no existe en el servidor?

  • 200
  • 302
  • 403
  • 404 (correcto)

¿Cuál de las siguientes herramientas se puede usar para hacer fuerza bruta de directorios?

  • Dirbuster
  • Dirsearch
  • Gobuster
  • Todas las respuestas son correctas (correcto)

¿Cuál de las siguientes herramientas se usa para el análisis de metadatos?

  • Dirsearch
  • FOCA (correcto)
  • BurpSuite
  • WhatWeb

Explotando vulnerabilidades

¿En qué consiste un IDOR (Insecure Direct Object Reference)?

  • Es una vulnerabilidad de autenticación, que permite acceder a contenido de otros objetos dentro de la misma aplicación
  • Es una vulnerabilidad de autorización, que permite acceder a contenido de otros objetos dentro de la misma aplicación (correcto)
  • Es una vulnerabilidad que permite realizar peticiones a terceros usando el servidor de la aplicación, actuando de proxy
  • Es una vulnerabilidad de código fuente que hace referencia al uso de programación orientada a objetos

¿Cuál de los siguientes escáneres se considera un escáner de servidor web más que de aplicaciones web?

  • Nessus
  • Arachni
  • OWASP ZAP
  • Nikto (correcto)

¿Con qué buena práctica a nivel de programación se solucionarían gran cantidad de vulnerabilidades?

  • Validación de las entradas de datos (correcto)
  • Mantener actualizados todos los componentes de la aplicación
  • No permitir un número alto de peticiones del mismo origen en poco tiempo
  • Que las aplicaciones web sean estáticas

¿Qué diferencia hay entre un SQLi típico de un Blind SQL?

  • En el Blind SQLi, vamos a ver cambios en la respuesta de la aplicación, pudiendo llegar a mostrar información en pantalla mientras que en el SQLi típico el procesamiento de las consultas inyectadas no se muestra de forma visual en la respuesta del servidor.
  • En el SQLi típico, vamos a ver cambios en la respuesta de la aplicación, pudiendo llegar a mostrar información en pantalla mientras que en el blind SQLi el procesamiento de las consultas inyectadas no se muestra de forma visual en la respuesta del servidor. (correcto)
  • El SQLi típico sólo se puede explotar a mano, mientras que el Blind sólo será posible detectarlo con herramientas automatizadas como sqlmap
  • El SQLi típico se basa en inyecciones a través de tautología (verdadero/falso) y el Blind SQLi, sólo se basa en inyecciones basadas en tiempo

¿En qué consiste el Command Injection?

  • Ejecución de consultas en la base de datos que nos devuelve información de esta
  • Ejecución de código JavaScript en la aplicación que nos permite robar información como las cookies de sesión
  • Permite incluir ficheros en la aplicación, ya sean internos del servidor o externos, alterando el funcionamiento de la aplicación
  • Vulnerabilidad presente en aplicaciones que aceptan referencias a entidades XML externas que son procesadas sin validar si son las esperadas
  • Ejecución de comandos de sistema operativo a través de la aplicación (correcto)

De qué vulnerabilidad son típicas las siguientes inyecciones: “<script type="text/javascript">document.write(document.cookie); </script><script>alert(1)</script>"

  • SQLi
  • XSS (correcto)
  • Command injection
  • XXE

¿Qué diferencia un XSS reflejado de uno almacenado?

  • El XSS reflejado sólo se ejecuta una vez, mientras que el XSS almacenado se ejecuta cada vez que se cargue la página de la aplicación web donde se encuentra la inyección (correcto)
  • El XSS almacenado sólo se ejecuta una vez, mientras que el XSS reflejado se ejecuta cada vez que se cargue la página de la aplicación web donde se encuentra la inyección
  • El XSS reflejado se ejecuta a nivel de navegador y el XSS almacenado a nivel de servidor
  • El XSS almacenado se ejecuta a nivel de navegador y el XSS reflejado a nivel de servidor

¿En qué consiste la vulnerabilidad de file inclusion?

  • Ejecución de consultas en la base de datos que nos devuelve información de esta
  • Ejecución de código JavaScript en la aplicación que nos permite robar información como las cookies de sesión
  • Permite incluir ficheros en la aplicación, ya sean internos del servidor o externos, alterando el funcionamiento de la aplicación (correcto)
  • Vulnerabilidad presente en aplicaciones que aceptan referencias a entidades XML externas que son procesadas sin validar si son las esperadas

¿Qué es un RCE?

  • RCE son las siglas de Remote Code Execution, un ataque que permite la ejecución remota de comandos en una máquina víctima (correcto)
  • RCE son las siglas de Remote Command Explotation, un ataque que permite la ejecución remota de comandos en una máquina víctima
  • RCE son las siglas de Remote Commnd Execution, un ataque que permite la ejecución remota de comandos en una máquina víctima
  • RCE son las siglas de Remote Code Explotation, un ataque que permite la ejecución remota de comandos en una máquina víctima

¿Qué vulnerabilidad es complicada encontrar con escáneres automáticos?

  • SQLi
  • XSS
  • Vulnerabilidades de lógica de negocio (correcto)
  • CSRF

¿Qué solución hay que aplicar para protegerse de la vulnerabilidad CSRF?

  • Token antiCSRF (correcto)
  • Formulario de registro
  • Captchas
  • Validación de datos

¿En qué consiste el ataque de clickjacking?

  • Es un ataque que afecta directamente al usuario, tratándole de engañar para que haga click en una página que internamente provocará una acción no legítima, ya que el usuario no será consciente de ella. (correcto)
  • Es un ataque que hace que al usuario aparezcan ventanas emergentes por toda la pantalla
  • Es un ataque que instala malware en el equipo de la víctima.
  • Es un ataque que ejecuta comandos sobre el servidor de aplicaciones
informatica/seguridad/cursos/hacking_etico_descubriendo_vulnerabilidades_en_aplicaciones_web.txt · Última modificación: por tempwin