Resolución de Retos de Seguridad en San Holidays Challenge

Clase 32 de 35Curso de Hacking Ético

Resumen

¿Cómo resolver el reto número seis del San Holidays Challenge?

Los retos de seguridad son una excelente manera de poner a prueba y expandir tus habilidades en ciberseguridad. Hoy, te guiaré a través del proceso para resolver el reto número seis del San Holidays Challenge proporcionado por SANS, una de las instituciones más prestigiosas en seguridad. Prepárate para mejorar tus habilidades y convertirte en un experto en seguridad, todo gracias a la formación de Platzi.

¿Cuál es el desafío y cómo se inicia?

Para comenzar con este reto, primero debes acceder a la página del San Holidays Chal en: cljholidaychallenge.com. Una vez ahí, dirígete al apartado de historia para ver el reto número seis. En este desafío, nos encontramos con un panel de autenticación para el que Santa Claus requiere pruebas de seguridad para detectar potenciales vulnerabilidades.

Vagando por las instalaciones, te encuentras con una credencial de un duende que contiene un código QR. Observas que el sistema de autenticación incluye detección de huellas dactilares y un puerto USB. Nuestra misión es verificar el sistema y encontrar cualquier debilidad.

¿Cómo generar e interpretar el código QR?

El primer paso es crear un código QR modificado para probar si el sistema es vulnerable a inyecciones SQL. Utiliza una herramienta en línea para generarlo, ingresando una combinación de caracteres y terminando con una comilla simple (') para desencadenar posibles errores.

Generación del código QR:

  1. Ingresa cualquier texto, por ejemplo: Juan'.
  2. Añade la comilla simple al final.
  3. Genera y guarda el código como archivo PNG.

Uso de herramientas y técnicas para identificar vulnerabilidades

Existen varias herramientas y técnicas que serán de utilidad para este reto:

Postman:

  • Postman es esencial para capturar las peticiones que realiza el sistema y analizar su comunicación.
  • Configura Postman incluyendo el proxy: utiliza el localhost 127.0.0.1 y el puerto 5555.
  • Recarga la página del reto y captura las peticiones POST que se realicen.

Python y librerías:

Python junto con las librerías qr_code, requests y json serán herramientas cruciales para ejecutar scripts personalizados.

Configuración de Python:

  1. Instala las librerías necesarias utilizando pip install para cada una.
  2. Asegúrate de que las variables de entorno están configuradas correctamente para correr scripts.

Desarrollo y envío de solicitudes con Python

Con los datos recopilados y preparados desde Postman, procede a crear un script Python para llevar a cabo las peticiones necesarias:

import json
import requests
import qrcode

# Generación del QR
qr_data = "Juan'"  # SQL injection string
qr = qrcode.make(qr_data)
qr.save("qr.png")  # Save as PNG

# Envío de la solicitud POST
url = "http://targetsite.com/upload"
files = {'file': ('qr.png', open('qr.png', 'rb'), 'image/png')}
response = requests.post(url, files=files)

print(response.text)  # Verifique la respuesta

Análisis de respuesta y superación de retos

Tras enviar las solicitudes, analiza la respuesta dada por el sistema. Un error indica una vulnerabilidad, lo que confirma que el sistema está expuesto a inyecciones SQL. Ajusta y reutiliza esa información para simular una sentencia lógica que podría resultar útil en la explotación de esta vulnerabilidad.

Valida los códigos recibidos asegurándote de que el acceso sea otorgado, confirmando el éxito del reto. Copia el número de control proporcionado por el sistema como resultado del hackeo y prueba su efectividad completando el reto en la plataforma del San Holidays Challenge.

Conclusión

Este tipo de retos no solo fortalecen tus capacidades técnicas, sino que también te preparan para enfrentar los desafíos de seguridad en entornos reales. ¡Sigue aprendiendo y desarrollando tus habilidades! Te animo a que continúes con tu suscripción en Platzi, donde cada clase te acerca más a tu meta de convertirte en un experto en seguridad.