Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/trufflesecurity/of-cors
ReconocimientoRecopilación de InformaciónPhishingSeguridad WebMala ConfiguraciónRed Teaming
GitHubtrufflesecurity/of-cors

of-CORS

Herramienta automatizada de descubrimiento de configuraciones erróneas de CORS usando dominios de typosquatting y service workers del navegador para sondear redes internas de objetivos de bug bounty.

Ver Repositorio
1541716hace 3 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

of-CORS

of-CORS es el conjunto de herramientas de Truffle Security para identificar y explotar configuraciones incorrectas de CORS en redes internas de objetivos de bug bounty mediante typosquatting.

imagen imagen

Puedes leer más aquí https://trufflesecurity.com/blog/of-CORS

¿Cómo funciona?

of-CORS es una aplicación web Python3 construida sobre Django y Django Rest Framework. Una vez configurada y puesta en marcha, of-CORS registrará automáticamente service workers del navegador en los navegadores de cualquier víctima que visite la aplicación. Estos service workers envían solicitudes HTTP a una lista de dominios internos preconfigurados con la intención de descubrir configuraciones incorrectas de CORS en redes internas. Los resultados de estas solicitudes (ya sean exitosas o no) se envían luego a través de la API de vuelta a la instancia de of-CORS.

Una vez que un service worker ha sido registrado en el navegador de una víctima, un payload de JavaScript redirige el navegador a la página que of-CORS cree que originalmente estaban intentando acceder.

Los resultados recopilados pueden verse posteriormente en un panel minimalista disponible en la aplicación of-CORS.

Empezando

Se pueden seguir los siguientes pasos para configurar of-CORS en tu propio despliegue.

Debido a la complejidad de poner en marcha of-CORS (especialmente las complicaciones relacionadas con SSL/TLS, DNS y permitir solicitudes comodín a ambos) utilizamos dos proveedores de nube (Heroku y Cloudflare) en la pila de la aplicación y Terraform para automatizar su configuración.

Compra los dominios relevantes

Comienza comprando un dominio que sea probable que un empleado interno de la empresa objetivo visite. Recomendamos comprar un typo-squat de un dominio interno. Hemos descubierto que los errores de copiar y pegar son un buen punto de partida.

Por ejemplo, si la empresa que estás probando usa uberinternal.com para dominios internos, quizás quieras comprar berinternal.com para empezar a recibir tráfico de navegador de empleados internos.

imagen

Obtén una clave de API de Cloudflare

of-CORS usa Cloudflare para recibir y enrutar solicitudes DNS comodín, así como para terminar conexiones SSL/TLS.

Necesitarás una cuenta activa de Cloudflare para que el DNS funcione correctamente con of-CORS. Una vez que tengas una cuenta de Cloudflare, querrás crear una clave de API (lo que puedes hacer en el panel aquí).

La clave de API necesitará tener suficientes privilegios para agregar, eliminar y configurar zonas, así como registros DNS. Esto se puede lograr seleccionando los siguientes permisos en la página de creación de tokens de API:

Permisos de token de API de Cloudflare

Una vez que hayas creado un token de API con los permisos correctos, puedes continuar al siguiente paso.

Obtén una clave de API de Heroku

of-CORS usa Heroku para facilitar el despliegue y alojamiento de la aplicación.

Necesitarás una cuenta activa de Heroku para poner en funcionamiento la pila de aplicaciones de of-CORS. Una vez que tengas una cuenta, querrás instalar la herramienta de línea de comandos (CLI) de Heroku. Con la CLI instalada, puedes usarla para iniciar una sesión CLI autenticada con el siguiente comando:

heroku login

Luego puedes confirmar que tu CLI está autenticada correctamente ejecutando el siguiente comando:

heroku whoami

Más documentación sobre la autorización de la CLI de Heroku para usar con Terraform se puede encontrar aquí.

Configurando of-CORS para el despliegue

Con las claves de API necesarias para nuestra infraestructura ahora configuradas y listas, podemos pasar a configurar of-CORS para el despliegue. Echa un vistazo al contenido del siguiente archivo de configuración YAML de ejemplo que se puede encontrar en el repositorio:

terraform:
  # You must change this to a unique string that is a valid Heroku app name
  heroku_app_name: best-of-cors
  # Fill this out with your Cloudflare API token
  cloudflare_api_token: this-is-my-api-token

hosts:
  # This can be an arbitrary string, but must be unique as a direct descendant of hosts
  testing:
    host_domain: 127.0.0.1:8080
    redirect_domain: google.com
    targets:
      - enable-cors.org
      - example.com

Necesitarás crear un nuevo archivo de configuración YAML con este formato para el despliegue.

En la sección terraform, deberás establecer heroku_app_name como un nombre de aplicación compatible con Heroku que sea único para tu cuenta. También deberás agregar tu clave de API de Cloudflare que generaste en la sección anterior bajo la directiva cloudflare_api_token.

La sección hosts es donde definimos los dominios en los que esperamos que of-CORS reciba tráfico y qué hacer cuando lleguen visitantes web. Supongamos que tenemos una empresa a la que estamos atacando y sabemos que tienen dos dominios internos (myinternalcorp1.com y myinternalcorp2.com). Compramos el dominio yinternalcorp1.com con la expectativa de que los empleados lo visiten accidentalmente. En este caso, querríamos configurar hosts de la siguiente manera:

hosts:
  testing_1:
    host_domain: yinternalcorp1.com
    redirect_domain: myinternalcorp1.com
    targets:
      - myinternalcorp1.com
      - myinternalcorp2.com

Aquí host_domain es el dominio donde esperas recibir tráfico (es decir, el dominio que se compró). redirect_domain define el dominio al que las víctimas deben ser redirigidas una vez que se lance un payload. targets especifica los dominios contra los que se lanzarán los payloads cuando una víctima visite of-CORS.

Supongamos que también compramos yinternalcorp2.com y queremos configurar of-CORS para lanzar ataques cuando sea visitado. La sección hosts podría actualizarse de la siguiente manera:

hosts:
  testing_1:
    host_domain: yinternalcorp1.com
    redirect_domain: myinternalcorp1.com
    targets:
      - myinternalcorp1.com
      - myinternalcorp2.com
  testing_2:
    host_domain: yinternalcorp2.com
    redirect_domain: myinternalcorp2.com
    targets:
      - myinternalcorp1.com
      - myinternalcorp2.com

Ahora, si una víctima visita accidentalmente yinternalcorp1.com o yinternalcorp2.com, se lanzarán los payloads para enumerar configuraciones incorrectas de CORS en myinternalcorp1.com y myinternalcorp2.com, y el navegador de la víctima será redirigido posteriormente al dominio correcto.

Configuración con Docker

No será necesario instalar Terraform, Heroku, Python con la opción de Docker. Simplemente ejecuta este comando con la ruta correcta para tu archivo yaml:

docker run -v $PWD/config.yml:/config.yml -it --rm trufflesecurity/of-cors

Configuración fuera de Docker

Instalando Terraform

Descargar herramienta