Skip to content
KitploitKITPLOIT
HerramientasBlog
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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
domainim — Una herramienta rápida y completa para el escaneo de redes organizacionales | Kitploit
Herramientas/GitHubGitHub/pptx704/domainim
OSINT (Inteligencia de Fuentes Abiertas)ReconocimientoMapeo de RedesEscaneo de PuertosEnumeración de DNS y SubdominiosRecopilación de InformaciónPruebas de PenetraciónAnálisis de DNS
GitHubpptx704/domainim

domainim

Una herramienta rápida y completa para el escaneo de redes organizacionales

Ver Repositorio
138133hace 2 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

DOMAINIM

Características • Uso • Instalación • Uso • Contribuir • Notas adicionales

Domainim es una herramienta rápida de reconocimiento de dominios para el escaneo de redes organizativas. La herramienta tiene como objetivo proporcionar una visión general breve de la estructura de una organización mediante técnicas como OSINT, fuerza bruta, resolución DNS, etc.

Características

Características actuales (v1.0.1)

  • Enumeración de subdominios (2 motores + fuerza bruta)
  • Salida amigable para el usuario
  • Resolución de registros A (IPv4)

  • Enumeración de nombres de host virtuales

  • Búsqueda DNS inversa

  • Detecta subdominios comodín (para fuerza bruta)

  • Escaneo básico de puertos TCP

  • Acepta subdominios como entrada

  • Exportar resultados a archivo JSON

Algunas características están en desarrollo. Consulte Funcionalidades planificadas para más detalles.

El proyecto está inspirado en Sublist3r. El módulo de escáner de puertos se basa en gran medida en NimScan.

Instalación

Puede compilar este repositorio desde el código fuente:

  • Clone el repositorio
root@kitploit:~
git clone [email protected]:pptx704/domainim
  • Compile el binario
root@kitploit:~
nimble build
  • Ejecute el binario
root@kitploit:~
./domainim <dominio> [--ports=<puertos>]

O bien, puede descargar el binario desde la página de lanzamientos. Tenga en cuenta que el binario solo se ha probado en sistemas basados en Debian.

Uso

root@kitploit:~
./domainim <dominio> [--ports=<puertos> | -p:<puertos>] [--wordlist=<archivo> | l:<archivo> [--rps=<int> | -r:<int>]] [--dns=<dns> | -d:<dns>] [--out=<archivo> | -o:<archivo>]
  • <dominio> es el dominio a enumerar. Puede ser también un subdominio.
  • --ports | -p es una cadena que especifica los puertos a escanear. Puede ser uno de los siguientes:
    • all - Escanear todos los puertos (1-65535)
    • none - Omitir escaneo de puertos (predeterminado)
    • t<n> - Escanear los n puertos principales (igual que nmap). Ej: t100 escanea los 100 puertos principales. Valor máximo 5000. Si n es mayor que 5000, se ajusta a 5000.
    • valor único - Escanear un solo puerto. Ej: 80 escanea el puerto 80
    • rango - Escanear un rango de puertos. Ej: 80-100 escanea puertos del 80 al 100
    • valores separados por comas - Escanear múltiples puertos. Ej: 80,443,8080 escanea los puertos 80, 443 y 8080
    • combinación - Combinación de lo anterior. Ej: 80,443,8080-8090,t500 escanea puertos 80, 443, 8080 a 8090 y los 500 principales
  • --dns | -d es la dirección del servidor DNS. Debe ser una dirección IPv4 válida y puede incluir opcionalmente el número de puerto:

Ejemplos

  • ./domainim nmap.org --ports=all
  • ./domainim google.com --ports=none --dns=8.8.8.8#53
  • ./domainim pptx704.com --ports=t100 --wordlist=wordlist.txt --rps=1500
  • ./domainim pptx704.com --ports=t100 --wordlist=wordlist.txt --outfile=results.json
  • ./domainim mysite.com --ports=t50,5432,7000-9000 --dns=1.1.1.1

El menú de ayuda se puede consultar con ./domainim --help o ./domainim -h.

root@kitploit:~
Usage:
    domainim <domain> [--ports=<ports> | -p:<ports>] [--wordlist=<filename> | l:<filename> [--rps=<int> | -r:<int>]] [--dns=<dns> | -d:<dns>] [--out=<filename> | -o:<filename>]
    domainim (-h | --help)

Options:
    -h, --help              Show this screen.
    -p, --ports             Ports to scan. [default: `none`]
                            Can be `all`, `none`, `t<n>`, single value, range value, combination
    -l, --wordlist          Wordlist for subdomain bruteforcing. Bruteforcing is skipped for invalid file.
    -d, --dns               IP and Port for DNS Resolver. Should be a valid IPv4 with an optional port [default: system default]
    -r, --rps               DNS queries to be made per second [default: 1024 req/s]
    -o, --out               JSON file where the output will be saved. Filename must end with `.json`

Examples:
    domainim domainim.com -p:t500 -l:wordlist.txt --dns:1.1.1.1#53 --out=results.json
    domainim sub.domainim.com --ports=all --dns:8.8.8.8 -t:1500 -o:results.json

El esquema JSON para los resultados es el siguiente:

root@kitploit:~
[
  {
    "subdomain": string,
    "data": [
      "ipv4": string,
      "vhosts": [string],
      "reverse_dns": string,
      "ports": [int]
    ]
  }
]

Ejemplo JSON para nmap.org se puede encontrar aquí.

Contribuir

Las contribuciones son bienvenidas. Siéntase libre de abrir un pull request o un issue.

Funcionalidades planificadas

  • Escaneo de puertos TCP
  • Soporte para escaneo de puertos UDP
  • Resolver registros AAAA (IPv6)
  • Servidor DNS personalizado
  • Añadir fuerza bruta de subdominios usando una lista de palabras
  • Forzar fuerza bruta (incluso si se encuentra un subdominio comodín)
  • Añadir más motores para enumeración de subdominios
  • Salida a archivo (JSON)
  • Enumeración de múltiples dominios
  • Búsqueda de directorios y archivos

Otros

  • Actualizar salida verbose al encontrar errores (v0.2.0)
  • Mostrar barra de progreso para operaciones largas
  • Añadir barra de progreso individual para escaneo de puertos
  • Añadir pruebas
  • Añadir comentarios y docstrings

Notas adicionales

Este proyecto aún se encuentra en etapas tempranas. Soy consciente de varias limitaciones.

Los dos motores que utilizo (los llamo motores porque Sublist3r lo hace así) actualmente tienen algún tipo de límite de respuesta. dnsdumpster puede obtener hasta 100 subdominios. crt.sh también aleatoriza los resultados en caso de demasiados resultados. Otro problema con crt.sh es que a veces devuelve algún error SQL. Por lo tanto, para algunos dominios los resultados pueden variar entre ejecuciones. Planeo añadir más motores en el futuro (al menos un motor de fuerza bruta).

El escáner de puertos tiene un tiempo de espera de solo tiempo de respuesta ping + 750 ms. Esto podría llevar a falsos negativos. Dado que domainim no está diseñado para escanear puertos sino para proporcionar una visión rápida, estos casos son aceptables. Sin embargo, planeo añadir una bandera para aumentar el tiempo de espera. Por la misma razón, no se muestran los puertos filtrados. Para un escaneo de puertos más completo, recomiendo usar Nmap. Domainim tampoco evita la limitación de velocidad (si la hay).

Puede parecer que la forma en que se imprimen los vhostnames solo repite información.

Imprimir de la siguiente manera podría haber sido mejor:

root@kitploit:~
ack.nmap.org, issues.nmap.org, nmap.org, research.nmap.org, scannme.nmap.org, svn.nmap.org, www.nmap.org
  ↳ 45.33.49.119
    ↳ Reverse DNS: ack.nmap.org. 

Pero anteriormente durante las pruebas, encontré casos en los que no todas las IPs son compartidas por el mismo conjunto de vhostnames. Por eso decidí mantenerlo así.

El servidor DNS puede tener algún tipo de limitación de velocidad. Por eso añadí retardos aleatorios (entre 0-300ms) para la resolución de IPv4 por consulta. Esto es para no enviar todas las consultas de una vez al servidor DNS, sino de una manera más natural. Para el método de fuerza bruta, el valor por defecto está entre 0-1000ms, pero se puede cambiar con la bandera --rps | -t.

Una limitación particular que me molesta es que el resolvedor DNS no devuelve todas las IPs para un dominio. Por lo tanto, es necesario realizar múltiples consultas para obtener todas (o la mayoría) de las IPs. Pero, de nuevo, no es posible saber cuántas IPs tiene un dominio. Todavía tengo que encontrar una solución para esto. Además, nim-ndns no soporta registros CNAME. Por lo tanto, si un dominio tiene un registro CNAME, no se resolverá. Estoy esperando una respuesta del autor para esto.

Por ahora, la fuerza bruta se omite si se encuentra un posible subdominio comodín. Esto se debe a que, si un dominio tiene un subdominio comodín, la fuerza bruta resolverá IPv4 para todos los subdominios posibles. Sin embargo, también omitirá subdominios válidos (por ejemplo, scanme.nmap.org se omitirá aunque no sea un valor comodín). Más adelante añadiré una bandera --force-brute | -fb para forzar la fuerza bruta.

Algo similar ocurre con la enumeración de VHost para entradas de subdominios. Dado que se devuelven URLs que terminan con los subdominios dados, no se consideran subdominios de dominios similares. Por ejemplo, scannme.nmap.org no se imprimirá para ack.nmap.org, pero something.ack.nmap.org podría hacerlo. Podría buscar todos los subdominios de nmap.org, pero eso anula el propósito de tener subdominios como entrada.

Licencia

Licencia MIT. Consulte LICENSE para el texto completo.

Descargar herramienta
  • a.b.c.d - Usar servidor DNS en a.b.c.d puerto 53
  • a.b.c.d#n - Usar servidor DNS en a.b.c.d puerto e
  • --wordlist | -l - Ruta al archivo de lista de palabras. Se usa para fuerza bruta de subdominios. Si el archivo no es válido, se omite la fuerza bruta. Puede obtener una lista de palabras de SecLists. También se proporciona una lista de palabras en la página de lanzamientos.
  • --rps | -r - Número de solicitudes por segundo durante la fuerza bruta. El valor predeterminado es 1024 req/s. Tenga en cuenta que las consultas DNS se realizan en lotes y el siguiente lote solo se ejecuta después de completar el anterior. Dado que las consultas pueden tener límite de velocidad, aumentar el valor no siempre garantiza resultados más rápidos.
  • --out | -o - Ruta al archivo de salida. La salida se guardará en formato JSON. El nombre de archivo debe terminar en .json.