Giro de la Suerte: Programación Divina - Capítulo 109
- Inicio
- Giro de la Suerte: Programación Divina
- Capítulo 109 - 109 Capítulo 109 Pentesting 2
Tamaño de Fuente
Tipo de Fuente
Color de Fondo
109: Capítulo 109: Pentesting 2 109: Capítulo 109: Pentesting 2 Así que lo siguiente que hizo fue desplegar las herramientas de anonimato, y eso significaba usar EIDOLUX, que ya estaba activado.
Sin embargo, solo funcionaba para los rastros locales.
Si se conectaba a internet ahora, su dirección IP, su ruta de enrutamiento y los metadatos de su tráfico aún podrían ser monitoreados.
Eso significaba que necesitaba un enmascaramiento a nivel de red para permanecer completamente oculto.
Para lograr una invisibilidad total, desplegó una serie de herramientas de anonimato.
Primero, inició un túnel VPN de múltiples saltos, seguido de Tor y, finalmente, una cadena de proxy aleatoria diseñada para dispersar su tráfico por varios continentes.
Así, mejorando su cobertura, después de eso falsificó su dirección MAC, añadiendo ruido a su huella digital del canvas, y luego alteró la cadena de agente de sistema para parecerse a una máquina de pruebas en Turquía que ejecutaba una versión obsoleta de Ubuntu.
Echó un vistazo a su trabajo actual en la pantalla del ordenador, leyendo la descripción de la tarea y el rango de recompensas que se ofrecían.
…
Trabajo: Detección de Redirecciones no Validadas
Gravedad: Baja
Categoría: Validación de Entradas Web
Estado: Abierto
Rango de Recompensa: 100 $ – 500 $
Descripción:
Identificar e informar cualquier endpoint que realice una redirección de URL sin validar correctamente el destino.
…
Ahora su tarea era identificar e informar de cualquier endpoint en SocialHub que realizara una redirección de URL sin validar correctamente el destino.
Las redirecciones no validadas suponían un grave riesgo, ya que podían ser aprovechadas en ataques de phishing para engañar a los usuarios y hacerles confiar en enlaces que parecían provenir de SocialHub.
Este problema no compromete directamente las cuentas, pero crea un riesgo para la confianza en la marca y la seguridad del usuario, especialmente cuando se utiliza en enlaces engañosos o en ciertas campañas sociales.
En términos sencillos, va a buscar una URL en SocialHub que permita a cualquiera redirigir a los usuarios a un sitio externo sin verificar si es seguro.
Así que, en lugar de usar Python, aunque es su lenguaje favorito, debe entender la necesidad de dejarlo ir.
Pero no del todo.
Lo que tiene en mente ahora es Golang, también conocido como Go.
Es un lenguaje de programación de código abierto desarrollado por Google y lanzado oficialmente en 2009.
Fue diseñado centrándose en la simplicidad, la velocidad, la eficiencia y la facilidad de despliegue.
Gracias a estas fortalezas, Go se utiliza ampliamente en el desarrollo de herramientas de línea de comandos, servicios de red, servidores web e incluso utilidades de ciberseguridad.
Esto se debe a que los desarrolladores de Google, Robert Griesemer, Rob Pike y Ken Thompson, encontraron que los lenguajes de programación existentes como C++ y Java carecían de ciertas áreas, así que crearon Go.
Su objetivo era alcanzar el rendimiento de C manteniendo la legibilidad de Python.
Go también se centró en tiempos de compilación más rápidos y un despliegue sencillo a través de binarios estáticos.
Sobre todo, lo diseñaron para gestionar infraestructuras masivas, ofrecer API rápidas y soportar concurrencia simple para entornos multitarea.
Jeff abrió una nueva ventana de terminal dentro de EIDOLUX.
En lugar de programar un script en Python como solía hacer, eligió escribir este en Go.
Luego creó un nuevo archivo llamado redirect_scan_go y empezó a teclear a mano.
El programa comenzó con la estructura básica de una aplicación de Go, importando los paquetes necesarios como fmt para la salida, net/http para realizar peticiones HTTP, y os por si necesitaba operaciones a nivel de archivo más adelante.
En el núcleo de la herramienta había una función llamada checkRedirect.
Esta función tomaba dos argumentos: una URL base y una URL de prueba.
Combinaba ambas en una solicitud completa y luego enviaba una petición GET usando un cliente HTTP personalizado.
Desactivó deliberadamente el seguimiento automático de redirecciones al sobreescribir el manejador CheckRedirect, forzando al cliente a devolver la respuesta en bruto en lugar de seguir la redirección.
La función analizaría entonces la respuesta HTTP.
El foco estaba en si la respuesta devolvía un código de estado 301 o 302, que son ambos códigos de redirección estándar.
Comprobaría si la cabecera Location coincidía con la URL de prueba que él había inyectado.
Si lo hacía, significaba que la redirección no estaba validada, aceptando y transmitiendo un destino externo sin restricciones.
La función devolverá entonces un «true» para vulnerable y un «false» para seguro.
En la función principal, definió una lista de endpoints de redirección conocidos utilizados por SocialHub, como /redirect?next=, /go?url= y /out?to=.
También definió un destino de prueba falso, https://razi.fake, que era un marcador de posición controlado utilizado para simular un enlace controlado por un atacante.
…
Tras terminar el script de Go, Jeff lo guardó con el nombre redirect_scan.go.
Lo siguiente que hizo fue compilarlo en un binario usando el compilador integrado de Go.
Este proceso convirtió su código legible para humanos en un archivo ejecutable y ligero que su sistema podía ejecutar directamente.
Una vez completada la compilación, el archivo binario resultante se llamó redirect_scan.
Para mantener las cosas ordenadas y en línea con su estilo de nomenclatura habitual, renombró el archivo a comprobaciónfantasma.
Con la herramienta ya lista, Jeff ejecutó el binario sin necesidad de argumentos.
Todo dentro del programa ya estaba codificado de forma fija: las URL de destino, el destino de prueba y la lógica de comportamiento.
Una vez iniciado, la herramienta comenzó a escanear inmediatamente los endpoints de redirección que había elegido de la infraestructura web de SocialHub.
Estos incluían parámetros de redirección conocidos comúnmente utilizados por la plataforma, como los que se encuentran en /redirect?next=, /go?url= y /out?to=.
Cada uno de estos endpoints se probó automáticamente usando una URL de destino falsa que Jeff había designado: https://razi.fake.
El propósito de esto era ver si SocialHub aceptaría y redirigiría ciegamente a un dominio externo y no confiable.
Si lo hacía, indicaría una redirección no validada, que es una vulnerabilidad conocida y, aunque no es realmente crítica, podría ser explotada en ataques de phishing.
Dentro del programa, la función principal que se ejecutaba estaba diseñada para enviar una petición HTTP a cada endpoint objetivo y observar la respuesta.
Si la respuesta devolvía un código de estado como 301 o 302 e incluía una redirección al destino falso, la herramienta registraría esa URL como vulnerable.
Si no, el endpoint se consideraba seguro.
Una vez completado el escaneo, el resultado confirmó lo que sospechaba.
Solo una de las URL probadas, /redirect?next=, respondió con una redirección externa, confirmando que no estaba validada.
Los otros dos endpoints bloquearon o filtraron correctamente el intento de redirección.
Eso significaba que había encontrado un problema legítimo: una única vulnerabilidad de redirección no validada.
Este tipo de fallo no da a los atacantes acceso a sistemas o datos, pero sí les permite crear enlaces engañosos.
Un usuario que haga clic en un enlace que comience con «socialhub.com» podría no ser consciente de que al final conduce a un sitio de phishing.
Conocía los riesgos, por eso sabía que incluso pequeños agujeros como este podían convertirse en armas en las manos equivocadas.
Y ahora, necesita reunir todas las pruebas para poder informarlo.
Ya que un escaneo de un problema significa que se puede reclamar una recompensa.
Así que escaneó uno por uno.
A medida que pasaba el tiempo, continuó encontrando más problemas.
Resolvió cada uno rápidamente, con la ayuda de RAZi; no solo eso, sus habilidades de programación divinas también hicieron el trabajo, haciendo que la tarea de reparación fuera muy fácil.
Al cabo de una hora, se quedó mirando los números que se mostraban en la terminal.
El resumen del registro contaba la historia mejor que las palabras.
Tras escanear 1.726 endpoints, se confirmaron 64 vulnerabilidades y se prepararon 64 informes para su envío.
Se podía ver cómo RAZi había llenado cada informe con detalles claros.
El endpoint exacto, los pasos para activar la redirección, la respuesta HTTP que mostraba la vulnerabilidad, un enlace de prueba de concepto limpio y una solución sugerida.
Cada uno de ellos era legible tanto para revisores humanos como para sistemas automatizados.
Lo que a la mayoría de los equipos de seguridad les habría llevado días o incluso semanas, él solo lo había completado en menos de sesenta minutos.
Ni siquiera se apresuró.
Si hubiera querido, los resultados habrían sido aún más asombrosos.
Mientras ComprobaciónFantasma barría los objetivos, él simplemente observaba, introduciendo algunos datos de vez en cuando para intervenir ocasionalmente y verificar un caso límite o reclasificar uno complicado.
El resto estaba automatizado y, cuando llegó el momento de enviarlo, no tuvo que escribir nada a mano.
Porque al principio, cuando lanzó ComprobaciónFantasma, el escáner compilado en Go que había construido a medida, arrasó con los endpoints como un bisturí a través de la seda.
Probó cada uno de ellos con precisión.
RAZi ya había extraído más de 1.726 URL de redirección de toda la huella digital de SocialHub, desde API móviles y entornos beta olvidados, hasta subdominios de terceros enterrados en mapas de sitio obsoletos.
RAZi luego los analizaba sintácticamente, filtraba los duplicados y se los entregaba a ComprobaciónFantasma en lotes ordenados.
El script se ejecutó a toda máquina, enviando peticiones silenciosas a cada endpoint con https://razi.fake incrustado como la carga útil de prueba.
Al cabo de otros veinte minutos, ComprobaciónFantasma había escaneado más de mil endpoints.
Pero no los envió todavía.
En su lugar, tecleó un comando rápido en la interfaz de RAZi.
En cuestión de segundos, la IA reunió todos los datos brutos del escaneo —los endpoints, los códigos de respuesta, las marcas de tiempo, las cabeceras— y comenzó a ensamblarlos en un informe completo.
Este documento incluía un resumen ejecutivo en la parte superior, seguido de una tabla de contenidos para facilitar la navegación.
Cada vulnerabilidad se detalla en una entrada dedicada, proporcionando la URL afectada, un enlace de prueba de concepto (PoC), registros HTTP y soluciones recomendadas.
Además, se integraban en todo el documento marcas de tiempo, comprobaciones de hash y un sistema interno de ID de referencia diseñado por él para el seguimiento y la verificación.
…
1.º: ¡Agradecimiento especial a Essos👑, la CABRA del mes, por los generosos regalos y los boletos dorados!
¡Mucho amor, hermano!
2.º: ¡Muchas gracias a Pat_funding👑 por el apoyo incondicional desde el mismísimo comienzo de mi viaje y por los boletos dorados y regalos!
3.º: ¡Mención especial para Devon1234👑, la misma CABRA de este mes, por todos los regalos increíbles!
¡Eres absolutamente GENIAL!
Fuente: Webnovel.com, actualizado en Leernovelas.com