Launch a virtual machine

Revisar mi progreso

/ 20

Set up and run the vulnerable application

Revisar mi progreso

/ 20

Scan the application

Revisar mi progreso

/ 20

Remediate the vulnerabilities

Revisar mi progreso

/ 20

Re-scan the web application

Revisar mi progreso

/ 20

Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
ícono de información importante IMPORTANTE:

ícono de computadora de escritorio/laptop Asegúrate de completar este lab práctico únicamente en una computadora de escritorio o laptop.

ícono de verificación Se permiten solo 5 intentos por lab.

ícono de diana del cuestionario A modo de recordatorio, es habitual no responder de forma correcta a todas las preguntas en el primer intento o incluso tener que volver a realizar una tarea; esto forma parte del proceso de aprendizaje.

ícono de cronómetro Una vez comenzado el lab, no se puede detener el cronómetro. Después de 1 hora y 30 minutos, el lab terminará y tendrás que volver a empezar.

ícono de sugerencia Para obtener más información, consulta la lectura Sugerencias técnicas para el lab.

Descripción general de la actividad

Identificar vulnerabilidades y, además, implementar técnicas de corrección es fundamental para garantizar la seguridad y la estabilidad de diversos sistemas y aplicaciones. Muchas aplicaciones y sistemas contienen información sensible, como información de identificación personal, registros contables o propiedad intelectual. Identificar vulnerabilidades ayuda a proteger estos datos sensibles del acceso no autorizado y posibles vulneraciones. Por lo general, abordar las vulnerabilidades de forma anticipada en el proceso de desarrollo genera menos gastos que lidiar con las violaciones de la seguridad más tarde. El costo de corregir una vulnerabilidad suele ser mayor alto que el de prevenirla en primer lugar.

Como analista de seguridad, analizar con regularidad las vulnerabilidades puede ayudar a identificar y abordar los puntos débiles antes de los ataques maliciosos, lo que mitiga las posibles amenazas de forma proactiva. Proporciona información sobre la superficie de ataque de una aplicación, lo que te permite entender las posibles vías de explotación y priorizar las áreas críticas que deben mejorarse.

En este lab, aprenderás no solo a configurar y ejecutar una aplicación vulnerable, sino también a analizarla para detectar vulnerabilidades.

Situación

Cymbal Bank desarrolló una nueva aplicación bancaria para sus clientes corporativos que está configurada para alojarse e implementarse en la nueva infraestructura de nube. Javier, el director de Seguridad de la Información, desea priorizar la seguridad de esta aplicación antes de lanzarla para los clientes. Carla, tu líder de equipo, te asignó la tarea de identificar y mitigar cualquier vulnerabilidad en esta aplicación nueva. Usarás Web Security Scanner de Google Cloud para analizar la aplicación en busca de vulnerabilidades relacionadas con una de las principales vulnerabilidades de aplicaciones web de OWASP®, conocida como secuencia de comandos entre sitios (XSS).

Sigue estos pasos para completar esta tarea: primero, crearás una dirección IP estática e iniciarás una máquina virtual. Luego, implementarás la aplicación vulnerable. A continuación, configurarás y ejecutarás la aplicación. Después, accederás a la aplicación y la analizarás. Por último, corregirás las vulnerabilidades y volverás a analizar la aplicación.

Configuración

Antes de hacer clic en Comenzar lab

Lee estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.

En este lab práctico, puedes realizar las actividades por tu cuenta en un entorno de nube real, en lugar de una simulación o un entorno de demostración. Para ello, se te proporcionan credenciales temporales nuevas que usarás para acceder a Google Cloud durante todo el lab.

Para completar este lab, necesitarás lo siguiente:

  • Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
Nota: Usa una ventana del navegador privada o de Incógnito para ejecutar este lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
  • Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
Nota: Si ya tienes un proyecto o una cuenta personal de Google Cloud, no los uses en este lab para evitar cargos adicionales en tu cuenta.

Cómo iniciar tu lab y acceder a la consola de Google Cloud

  1. Haz clic en el botón Comenzar lab. A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:

    • Tiempo restante
    • El botón Abrir la consola de Google
    • Las credenciales temporales que debes usar para el lab
    • Otra información para completar el lab, si es necesaria
    Nota: Si debes pagar por el lab, se abrirá una ventana emergente para que selecciones tu forma de pago.
  2. Haz clic en Abrir la consola de Google (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito) si ejecutas el navegador Chrome. La página Acceder se abre en una pestaña del navegador nueva.

    Sugerencia: Puedes organizar las pestañas de manera independiente (una ventana al lado de la otra) para alternar fácilmente entre ellas.

    Nota: Si aparece el diálogo Elige una cuenta, haz clic en Usar otra cuenta.
  3. Si es necesario, copia el nombre de usuario de Google Cloud a continuación, y pégalo en el diálogo Ingresar. Haz clic en Siguiente.

{{{user_0.username | "nombre de usuario de Google Cloud"}}}

También puedes encontrar el nombre de usuario de Google Cloud en el panel Detalles del lab.

  1. Copia la contraseña de Google Cloud a continuación y pégala en el diálogo te damos la bienvenida. Haz clic en Siguiente.
{{{user_0.password | "contraseña de Google Cloud"}}}

También puedes encontrar la contraseña de Google Cloud en el panel Detalles del lab.

Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud. Nota: Usar tu propia cuenta de Google Cloud podría generar cargos adicionales.
  1. Haz clic para avanzar por las páginas siguientes:
    • Acepta los Términos y Condiciones.
    • No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No te registres para las pruebas gratuitas.

Después de un momento, se abrirá la consola de Cloud en esta pestaña.

Nota: Para ver el menú con una lista de los productos y servicios de Google Cloud, haz clic en el menú de navegación que se encuentra en la parte superior izquierda de la pantalla. Menú de la consola de Google Cloud con el ícono de menú de navegación destacado

Tarea 1: Inicia una máquina virtual

En esta tarea, crearás una dirección IP estática e iniciarás la máquina virtual para ejecutar la aplicación vulnerable.

  1. En la barra de título de la consola de Google Cloud, haz clic en el ícono Activar Cloud Shell (Ícono de Activar Cloud Shell). Si se te solicita, haz clic en Continuar.
  2. Copia el siguiente comando en la terminal de Cloud Shell:
gcloud compute addresses create xss-test-ip-address --region={{{project_0.default_region | "REGION"}}}

Este comando crea una dirección IP estática denominada xss-test-ip-address en la región . Esta IP estática se usará para analizar la aplicación web vulnerable.

  1. Presiona INTRO.

Si se te solicita, haz clic en Autorizar.

  1. Copia el siguiente comando en la terminal de Cloud Shell:
gcloud compute addresses describe xss-test-ip-address \ --region={{{project_0.default_region | "REGION"}}} --format="value(address)"

Este comando devuelve la dirección IP estática que generaste.

  1. Presiona INTRO.
  2. Copia la dirección IP del resultado y guárdala en un bloc de notas. Deberás usarla en una tarea posterior.
  3. Copia el siguiente comando en la terminal de Cloud Shell:
gcloud compute instances create xss-test-vm-instance --address=xss-test-ip-address --no-service-account \ --no-scopes --machine-type=e2-micro --zone={{{project_0.default_zone | "ZONE"}}} \ --metadata=startup-script='apt-get update; apt-get install -y python3-flask'

Este comando crea una instancia de VM para ejecutar la aplicación vulnerable.

  1. Presiona INTRO.
Nota: La secuencia de comandos de inicio instalará python-flask, un framework de aplicaciones web, que se usa para ejecutar una aplicación simple de Python. Esta aplicación muestra la vulnerabilidad de secuencia de comandos entre sitios (XSS), que es una vulnerabilidad de seguridad para aplicaciones web común.

Haz clic en Revisar mi progreso para verificar que completaste esta tarea correctamente.

Iniciar una máquina virtual

Tarea 2: Configura y ejecuta la aplicación vulnerable

En esta tarea, descargarás y extraerás los archivos de la aplicación web vulnerable y, luego, implementarás la aplicación en SSH en el navegador.

Primero, crearás una regla de firewall que permitirá a Web Security Scanner acceder a la aplicación vulnerable.

  1. Copia el siguiente comando en la terminal de Cloud Shell:
gcloud compute firewall-rules create enable-wss-scan \ --direction=INGRESS --priority=1000 \ --network=default --action=ALLOW \ --rules=tcp:8080 --source-ranges=0.0.0.0/0

Este comando crea una regla de firewall que permite acceder a la aplicación web desde cualquier dirección IP de origen, de modo que Web Security Scanner ingrese a la aplicación vulnerable y la analice.

  1. Presiona INTRO.

A continuación, usa una conexión SSH para conectarte a la instancia de VM.

  1. Haz clic en el menú de navegación (Menú de navegación) de la consola de Google Cloud.
  2. Selecciona Compute Engine > Instancias de VM.
  3. En la página Instancias de VM, en la columna Conectar, haz clic en el botón SSH junto a la instancia de prueba.

Se establecerá una conexión SSH con tu instancia de VM en una nueva ventana del navegador.

  1. Puede aparecer una ventana emergente en la que se te pida permitir que SSH en el navegador se conecte a las VMs. Haz clic en Autorizar.

Ahora, extrae los archivos de la aplicación web.

  1. Copia el siguiente comando en la página SSH en el navegador (no en Cloud Shell):
gsutil cp gs://cloud-training/GCPSEC-ScannerAppEngine/flask_code.tar . && tar xvf flask_code.tar

Este comando descarga y extrae los archivos de la aplicación web vulnerable.

  1. Presiona Intro.

  2. Por último, copia el siguiente comando en la página SSH en el navegador:

python3 app.py

Este comando inicia la aplicación.

  1. Presiona INTRO.

Un mensaje debería indicar que la aplicación está funcionando.

Nota: Dado que se trata de una aplicación web que se instaló para usarse en entornos de desarrollo, es posible que existan vulnerabilidades asociadas con el archivo de configuración. Es importante probar cualquier aplicación antes de usarla en una red pública. Nota: No cierres la página SSH en el navegador cuando realices la siguiente tarea, ya que la aplicación debe seguir ejecutándose.

Haz clic en Revisar mi progreso para verificar que completaste esta tarea correctamente.

Configurar y ejecutar la aplicación vulnerable

Tarea 3: Accede a la aplicación vulnerable

En esta tarea, probarás la aplicación en busca de una vulnerabilidad conocida como secuencia de comandos entre sitios (XSS). Las secuencias de comandos maliciosas, como el código HTML, pueden aprovechar las vulnerabilidades de XSS en el contenido que luego se entrega a los navegadores web.

  1. Mientras se ejecuta la aplicación, abre una nueva ventana del navegador.
  2. Copia la siguiente URL en la pestaña del navegador y reemplaza <YOUR_EXTERNAL_IP> por la dirección IP estática de la VM que guardaste en un bloc de notas en la tarea 1:
http://<YOUR_EXTERNAL_IP>:8080

Debería aparecer un portal de banca corporativa de Cymbal Bank con un formulario web.

Nota: Si aparece una ventana emergente en la que se indica que la IP externa no admite una conexión segura, haz clic en Continuar al sitio.
  1. Copia el siguiente código HTML, incluidas las etiquetas de la secuencia de comandos, en el formulario web:
<script>alert('This is an XSS Injection to demonstrate one of OWASP vulnerabilities')</script>

Este código inserta una vulnerabilidad de OWASP®.

En una página web para la aplicación de demostración del Cymbal Bank, se muestra un formulario web que contiene una secuencia de comandos entre sitios.

  1. Haz clic en PUBLICAR.

El código insertado mostraba un mensaje al navegador. Esta acción por sí misma no es maliciosa; sin embargo, los atacantes pueden introducir código malicioso en una aplicación que se puede aprovechar para robar datos de esta o implantar malware en el dispositivo del usuario.

Se abrirá la ventana de alerta con el siguiente mensaje: “This is an XSS Injection to demonstrate one of OWASP vulnerabilities”.

Tarea 4: Analiza la aplicación

En esta tarea, analizarás la aplicación en busca de vulnerabilidades con Web Security Scanner.

Primero, habilita la API de Web Security Scanner.

  1. Haz clic en el menú de navegación (Menú de navegación) de la consola de Google Cloud.
  2. Selecciona APIs y servicios > APIs y servicios habilitados. Se muestra la página APIs y servicios.
  3. Haz clic en + Habilitar APIs y servicios.
  4. En el campo de búsqueda, escribe Web Security Scanner y presiona INTRO.
  5. Selecciona Web Security Scanner API.
  6. Si aún no está habilitada, haz clic en Habilitar.

Ahora, analiza la aplicación en busca de vulnerabilidades.

  1. Haz clic en el **menú de navegación (Menú de navegación) de la consola de Google Cloud.
  2. Selecciona Seguridad > Web Security Scanner.

Si habilitaste la API de Web Security Scanner, en la página Cloud Web Security Scanner verás los detalles de Configuraciones de análisis.

  1. En la barra de herramientas Cloud Web Security Scanner, haz clic en + Análisis nuevo.

  2. En la sección Nombre, asígnale al análisis el nombre Cross-Site Scripting scan.

En la sección URLs de inicio, el campo URL de inicio 1 debe completarse previamente con la dirección IP estática.

  1. Agrega dos puntos y el número de puerto 8080 al final de la dirección IP. El campo URL de inicio 1 debería ser similar al siguiente:
http://<YOUR_EXTERNAL_IP>:8080
  1. En caso de que esté presente, borra URL de inicio 2.
  2. En la sección URLs excluidas, verifica que Autenticación esté configurada en Ninguna y Programa en Nunca. Deja todos los demás campos sin modificar.
  3. Haz clic en Guardar para crear el análisis.
  4. Haz clic en Ejecutar análisis para iniciarlo.
  5. Vuelve a la ventana SSH en el navegador.

En la ventana SSH en el navegador, deberías ver los registros que se generan a medida que Web Security Scanner prueba todas las URLs en busca de posibles vulnerabilidades.

  1. Cuando se complete el análisis, regresa a la consola de Google Cloud.
Nota: El análisis podría tardar entre 5 y 10 minutos en completarse.

En la pestaña Resultados, se deberían indicar las vulnerabilidades entre sitios, lo que demuestra cómo Web Security Scanner puede detectar una vulnerabilidad de XSS.

Las vulnerabilidades también pueden encontrarse en la pestaña Vulnerabilidades en Security Command Center.

Haz clic en Revisar mi progreso para verificar que completaste esta tarea correctamente.

Analizar la aplicación

Tarea 5: Corrige las vulnerabilidades

En esta tarea, corregirás la vulnerabilidad de XSS de la aplicación y volverás a ejecutarla con la nueva corrección.

La recomendación para corregir las vulnerabilidades actuales es validar y omitir los datos que no son de confianza proporcionados por los usuarios, lo que también apunta a las reglas de OWASP® correspondientes.

Para ello, editarás el código de la aplicación vulnerable para incluir líneas de código que validen y omitan los datos proporcionados por los usuarios.

  1. Vuelve a la página SSH en el navegador que está conectada a tu instancia de VM.
  2. Presiona CTRL + C para detener la aplicación en ejecución. De manera alternativa, puedes hacer clic en el ícono Enviar combinación de teclas en la esquina superior derecha de la ventana de SSH en el navegador para ingresar la combinación de teclas CTRL + C.

Ahora, edita el archivo app.py con el editor nano.

  1. Copia el siguiente comando en la página SSH en el navegador:
nano app.py

Este comando abre el editor de código nano.

  1. Presiona INTRO.

  2. Para corregir la vulnerabilidad de XSS, valida la variable de la cadena de resultado, que corresponde al resultado procesado de la entrada del formulario web proporcionada por el usuario.

Asegúrate de que la aplicación no acepte la entrada del usuario como código HTML; en su lugar, escapará los caracteres especiales que se proporcionen en ella. Para ello, ubica las dos líneas que establecen la cadena de resultado:

# output_string = "".join([html_escape_table.get(c, c) for c in input_string]) output_string = input_string
  1. Quita el símbolo # de la primera línea y agrégalo al comienzo de la siguiente (asegúrate de que la sangría del código sea correcta). Las líneas finales deben ser similares a esto:
@app.route('/output') def output(): output_string = "".join([html_escape_table.get(c, c) for c in input_string]) # output_string = input_string return flask.render_template("output.html", output=output_string)
  1. Presiona CTRL + X para salir de nano, Y para guardar los cambios y, a continuación, INTRO para confirmar.
  2. Copia el siguiente comando en la termina de SSH en el navegador:
python3 app.py

Este comando vuelve a ejecutar la aplicación.

  1. Presiona INTRO.

Haz clic en Revisar mi progreso para verificar que completaste esta tarea correctamente.

Corregir las vulnerabilidades

Tarea 6: Vuelve a analizar la aplicación web

En esta tarea, volverás a analizar la aplicación para asegurarte de que no existan vulnerabilidades.

  1. Vuelve a la página Cloud Web Security Scanner en la consola de Google Cloud.
  2. Haz clic en Ejecutar para volver a ejecutar el análisis.
Nota: El análisis podría tardar entre 5 y 10 minutos en completarse.

En la pestaña Resultados, ahora se debería indicar que no se encontraron vulnerabilidades.

Haz clic en Revisar mi progreso para verificar que completaste esta tarea correctamente. Asegúrate de esperar hasta que se complete el análisis para recibir crédito por completar esta tarea.

Volver a analizar la aplicación web

Conclusión

¡Muy bien!

En este lab, obtuviste experiencia práctica en el análisis para detectar vulnerabilidades de aplicaciones. Aprendiste la importancia de la capacidad de los analistas de seguridad de analizar las vulnerabilidades de aplicaciones, lo que es fundamental para ayudar a identificar y abordar posibles puntos débiles, administrar riesgos, satisfacer requisitos de cumplimiento y, en última instancia, mantener una postura de seguridad sólida para proteger los recursos y la reputación de una organización.

Cerrar las brechas de seguridad y abordar los puntos débiles permite evitar posibles explotaciones, minimizar el impacto de los incidentes de seguridad y cumplir con las reglamentaciones de la industria.

En este lab, completaste uno de los aspectos fundamentales de las estrategias proactivas de ciberseguridad.

Finaliza el lab

Antes de que finalices el lab, asegúrate de estar conforme con la forma en que completaste todas las tareas. Cuando estés conforme, haz clic en Finalizar Lab y luego haz clic en Enviar.

Finalizar el lab te quitará el acceso al entorno del lab y no podrás volver a acceder al trabajo que completaste.

Copyright 2026 Google LLC. Todos los derechos reservados. Google y el logotipo de Google son marcas de Google LLC. El resto de los nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que están asociados.

Antes de comenzar

  1. Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
  2. .
  3. Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
  4. En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar

Usa la navegación privada

  1. Copia el nombre de usuario y la contraseña proporcionados para el lab
  2. Haz clic en Abrir la consola en modo privado

Accede a la consola

  1. Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
  2. Acepta las condiciones y omite la página de recursos de recuperación
  3. No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto

Este contenido no está disponible en este momento

Te enviaremos una notificación por correo electrónico cuando esté disponible

¡Genial!

Nos comunicaremos contigo por correo electrónico si está disponible

Un lab a la vez

Confirma para finalizar todos los labs existentes y comenzar este

Usa la navegación privada para ejecutar el lab

Usar una ventana de incógnito o de navegación privada es la mejor forma de ejecutar este lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.

Completa este sencillo paso para comenzar tu lab.