
Escáner rápido y preciso de toma de subdominios con cero falsos positivos. Detecta subdominios vulnerables, recopila metadatos (IP, CNAME, título, código de estado) y proporciona análisis asistido por IA para reconocimiento.
Subdosec
Escáner de apropiación de subdominios y herramienta de reconocimiento.

Instalación • Uso • Basado en Web • Contribución • Escaneo en línea • Agradecimientos
Subdosec es un escáner de apropiación de subdominios rápido y preciso sin falsos positivos, que cuenta con una base de datos pública de subdominios vulnerables y metadatos detallados no vulnerables (IP, CNAME, título y código de estado) para reconocimiento.
Instalar o actualizar subdosec
pipx install git+https://github.com/xcapri/subdosec.git
pipx upgrade subdosec
Luego ejecuta esto cada vez que inicies una nueva sesión de terminal (hasta que aparezca “server started successfully”).
$ subdosec -ins
Starting Node.js server...
Node.js server started successfully.
[ADVERTENCIA] No te apropies de todos los subdominios en test.txt, deja que todos lo usen para demostraciones.
[INFO] Revisa también la sección Release. Puedes encontrar información interesante.
$ subdosec -h
_____ __ __
/ ___/__ __/ /_ ____/ /___ ________ _____
\__ \/ / / / __ \/ __ / __ \/ ___/ _ \/ ___/
___/ / /_/ / /_/ / /_/ / /_/ (__ ) __/ /__
/____/\__,_/_.___/\__,_/\____/____/\___/\___/
uso: subdosec [-h] [-mode {private,public}] [-initkey INITKEY] [-vo] [-pe] [-ins] [-pf PF] [-subfng SUBFNG] [-lf LF] [-sfid] [-ks] [-o O] [-su] [-lu LU] [-lm] [-uf] [-unai UNAI] [-v] [-t THREADS]
Escáner de apropiación de subdominios.
opciones:
-h, --help muestra este mensaje de ayuda y sale
-mode {private,public}
Modo de operación (privado/público)
-initkey INITKEY Inicializa la clave API
-vo Solo VULN: Oculta mensajes NO DETECTADO
-pe Mostrar error: Cuando hay problemas al detectar tu objetivo
-ins Prepara node e inicia el servidor
-pf PF Huella digital privada: usa tu huella local. Ejemplo: -pf /ruta/a/tko.json
-subfng SUBFNG Enviar huella digital: envía la huella local al administrador. Ejemplo: -subfng localfinger.json
-lf LF Bloqueo de huella digital: para enfocarse en una o varias huellas. (-lf github.io,surge.sh) y deja este argumento para escanear todas las huellas
-sfid Para ver todos los IDs de huellas disponibles.
-ks Para apagar el servidor node si no vas a usar subdosec por un tiempo prolongado.
-o O Guardar resultado localmente en la ruta especificada. Ejemplo: -o /ruta/a/dir
-su Omitir no detectado no se almacenará en el servidor (https://subdosec.vulnshot.com/result/undetected)
-lu LU No detectado almacenado localmente en la ruta especificada. Ejemplo: -lu /ruta/a/dir
-lm Modo Local: Guarda vuln y no detectado en el directorio predeterminado dentro de la herramienta (auto -su)
-uf Actualizar huella digital
-unai UNAI Analizar subdominios no detectados usando IA. Ejemplo: -unai /ruta/a/undetect.json
-v, --verbose Mostrar contador de progreso (ej. [1/10])
-t THREADS, --threads THREADS
Número de hilos a usar para el escaneo (predeterminado: 10)
Preparar lista
Soporta sin protocolo
cat list
https://careers.rotacloud.com
http://creators.thinkorion.com
https://docs.polygon-nightfall.technology
a.anchorsawaytpt.com
help.oceges.com
CMD 1
Omitir almacenamiento de no detectado en el servidor y guardar localmente
cat test.txt | subdosec -lm
https://subdosec.vulnshot.com [NO DETECTADO]
http://feedback.bazoom.com [sleekplan.com] [VULNERABLE] [GUARDADO]
http://demodev.destinojet.co [meteor.com] [VULNERABLE] [GUARDADO]
http://creators.thinkorion.com [NO DETECTADO]
https://www.www.savillerow.status.lnt.cl [ohdear.app] [VULNERABLE] [GUARDADO]
https://careers.rotacloud.com [gohire.io] [VULNERABLE] [GUARDADO]
https://careers.rotacloud.com [gohire.io] [VULNERABLE] [GUARDADO]
https://ai.yooture.com [NO DETECTADO]
https://help.oceges.com [NO DETECTADO]
http://ftp.thiagolima.com [surge.sh] [VULNERABLE] [GUARDADO]
DIRECTORIO VULNERABLES : /home/alice/.subdosec/vulns
ARCHIVO NO DETECTADOS : /home/alice/.subdosec/undetect/undetect.json
Leer salida
~$ ls /home/alice/.subdosec/vulns
gohire.io_tko.txt meteor.com_tko.txt ohdear.app_tko.txt sleekplan.com_tko.txt surge.sh_tko.txt
~$ cat /home/alice/.subdosec/vulns/gohire.io_tko.txt
careers.rotacloud.com
Leer no detectados y analizar automáticamente nuevas posibles vulnerabilidades con -unai
cat /home/alice/.subdosec/undetect/undetect.json
[
{
"title": "No title found",
"status_code": 404,
"redirect_url": "No redirects",
"cname_records": [
"cname.redacted.com"
],
"a_records": [
"76.76.21.98",
"76.76.21.241"
],
"subdomain": "try.redacted.com",
"rootdomain": "redacted.com"
},
{
"title": "No title found",
"status_code": 200,
"redirect_url": "No redirects",
"cname_records": [
"cname.fermat.shop"
],
"a_records": [
"216.150.16.129",
"216.150.1.129"
],
"subdomain": "get.redacted.com",
"rootdomain": "redacted.com"
}
]
subdosec -unai /home/pd/.subdosec/undetect/undetect.json
[INFO] NO DETECTADOS PUROS 0 | Subdominios no detectados como vulnerables a pesar de haber pasado el escaneo de subdosec..
[INFO] Analizando 8 elementos en 2 lotes.
[INFO] Progreso: 5/8 datos analizados.
NUEVO POTENCIAL :
Dominio : try.redacted.com
CNAME : cname.redacted-service.com
Registro A : 76.76.21.98, 76.76.21.241
Takeover : NO
Razón : La guía de configuración de dominio personalizado del servicio redacted-service indica explícitamente la necesidad de agregar un registro TXT (ej., 'redacted-service-verification=<your_site_id>') para la verificación de propiedad del dominio. La presencia de un paso de verificación con registro TXT lo hace no vulnerable.
Referencia: https://www.redacted-service.com/blog/how-to-setup-custom-domain/
================================================================================
Dominio : get.redacted.com
CNAME : cname.fermat.shop
Registro A : 216.150.16.129, 216.150.1.129
Takeover : POSIBLE
Razón : El servicio usa un CNAME estático (cname.fermat.shop) para la configuración de dominio personalizado. La documentación pública disponible para la configuración de dominio personalizado de Fermat no especifica claramente un requisito de registro TXT o ningún método de verificación dinámico para la propiedad del dominio. Sin dicha verificación, un CNAME estático podría hacer que el subdominio sea potencialmente vulnerable si la cuenta correspondiente de Fermat se elimina o se desvincula.
Referencia: https://fermat.shop/
================================================================================
CMD 2
Usando dominio raíz y herramienta de búsqueda de subdominios en pipeline como (subfinder, assetfinder, amass, etc.)
cat list
example.com
cat list | subfinder -silent | subdosec -lm
https://subdosec.vulnshot.com [NO DETECTADO]
http://feedback.bazoom.com [sleekplan.com] [VULNERABLE] [GUARDADO]
http://demodev.destinojet.co [meteor.com] [VULNERABLE] [GUARDADO]
http://creators.thinkorion.com [NO DETECTADO]
https://www.www.savillerow.status.lnt.cl [ohdear.app] [VULNERABLE] [GUARDADO]
https://careers.rotacloud.com [gohire.io] [VULNERABLE] [GUARDADO]
https://careers.rotacloud.com [gohire.io] [VULNERABLE] [GUARDADO]
https://ai.yooture.com [NO DETECTADO]
https://help.oceges.com [NO DETECTADO]
http://ftp.thiagolima.com [surge.sh] [VULNERABLE] [GUARDADO]
DIRECTORIO VULNERABLES : /home/alice/.subdosec/vulns
ARCHIVO NO DETECTADOS : /home/alice/.subdosec/undetect/undetect.json
CMD 3
(Reenviar resultado a notify)
cat list | subdosec -lm -vo | notify -silent
https://careers.rotacloud.com [100.00%] [gohire.io] [VULNERABLE] [GUARDADO]
CMD 4
Usar huella digital privada, esta bandera fusionará automáticamente la huella pública + privada
cat priv8.json
{
"fingerprints": [
{
"fid": 0,
"name": "Subdomain takeover - Pagedeck",
"rules": {
"cname": "cname.pagedeck.com",
"status_code": "404",
"in_body":"This page could not be found."
},
"status_fingerprint": 0,
"reference": "https://docs.pagedeck.com/getting-started/connecting-a-subdomain",
"service": "pagedeck.com",
"logo_service": "https://i.ytimg.com/vi/DY76Tjf1m-8/maxresdefault.jpg"
},
add more
]}
echo try.hugsleep.com | subdosec -pf privfinger.json -o testpriv -lu okgaslu
_____ __ __
/ ___/__ __/ /_ ____/ /___ ________ _____
\__ \/ / / / __ \/ __ / __ \/ ___/ _ \/ ___/
___/ / /_/ / /_/ / /_/ / /_/ (__ ) __/ /__
/____/\__,_/_.___/\__,_/\____/____/\___/\___/
https://try.hugsleep.com [pagedeck.com] [VULNERABLE] [GUARDADO]
DIRECTORIO VULNERABLES : /home/pd/tko/testpriv
ARCHIVO NO DETECTADOS : /home/pd/tko/okgaslu/undetect.json
Conociendo la función de la web de subdosec, aquí puedes usar la función https://subdosec.vulnshot.com/result/undetected como reconocimiento, para conocer IP, CNAME, TÍTULO, CÓDIGO DE ESTADO, etc. como información adicional o incluso para encontrar nuevos subdominios vulnerables a takeover.
Tiene la misma función que undetect.json, la diferencia es que tú y otras personas lo comparten entre sí.
Por ejemplo, buscas un sitio que no sea detectado como vulnerable por subdosec con la palabra clave 404, y hay información sobre cname.gohire.io y el título GoHire, que si buscas en Google, no hay información de artículos sobre takeover de subdominios en el servicio gohire.

Después de encontrar un nuevo takeover de subdominio, ya sea manualmente o automáticamente (usando -unai), puedes enviarnos los datos usando el comando subdosec -subfng.
Dinámicamente puedes usar estos elementos para las reglas:
title, cname, status_code, in_body, a_record, redirect
cat newvuln.json
{
"name": "Subdomain takeover - GoHire",
"rules": {
"cname": "custom.gohire.io",
"in_body": "Page not found",
"status_code": "404"
},
"status_fingerprint": 0,
"reference": "https://help.gohire.io/en/articles/3385288-setting-up-a-custom-domain",
"service": "gohire.io",
"logo_service": "https://gohire-website.s3.amazonaws.com/img/logos/gh-logo-main.gif"
}
subdosec -subfng newvuln.json
[Info] Enviando huella digital ...
Datos de huella importados exitosamente
Si no eres una persona con experiencia en seguridad, quizás un desarrollador web/programador y no estás familiarizado con herramientas de línea de comandos, puedes usar la versión web para escanear todos tus subdominios con un máximo de 10 subdominios por escaneo.

Las herramientas predecesoras que inspiraron la creación de las herramientas subdosec.
subdosec está distribuido bajo Licencia MIT