Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
domainim — Un outil rapide et complet pour le scan de réseaux organisationnels. | Kitploit
Outils/GitHubGitHub/pptx704/domainim
OSINT (Renseignement de Sources Ouvertes)ReconnaissanceCartographie RéseauScan de PortsÉnumération DNS et Sous-domaineCollecte d'InformationsTests d'IntrusionAnalyse DNS
GitHubpptx704/domainim

domainim

Un outil rapide et complet pour le scan de réseaux organisationnels.

Voir le dépôt
138133il y a 2 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

DOMAINIM

Fonctionnalités • Utilisation • Installation • Utilisation • Contribuer • Notes supplémentaires

Domainim est un outil de reconnaissance rapide de domaines pour le scan réseau d'une organisation. L'outil vise à fournir un aperçu rapide de la structure d'une organisation en utilisant des techniques comme l'OSINT, le bruteforcing, la résolution DNS, etc.

Fonctionnalités

Fonctionnalités actuelles (v1.0.1)-

  • Énumération de sous-domaines (2 moteurs + bruteforcing)
  • Sortie conviviale
  • Résolution des enregistrements A (IPv4)

  • Énumération de noms d'hôtes virtuels

  • Recherche DNS inverse

  • Détection des sous-domaines wildcard (pour le bruteforcing)

  • Scan de ports TCP de base

  • Les sous-domaines sont acceptés comme entrée

  • Exportation des résultats vers un fichier JSON

Quelques fonctionnalités sont en cours de développement. Voir Fonctionnalités prévues pour plus de détails.

Le projet est inspiré par Sublist3r. Le module de scan de ports est largement basé sur NimScan.

Installation

Vous pouvez compiler ce dépôt à partir des sources-

  • Clonez le dépôt
root@kitploit:~
git clone [email protected]:pptx704/domainim
  • Compilez le binaire
root@kitploit:~
nimble build
  • Exécutez le binaire
root@kitploit:~
./domainim <domain> [--ports=<ports>]

Ou, vous pouvez simplement télécharger le binaire depuis la page des versions. Gardez à l'esprit que le binaire est testé uniquement sur les systèmes basés sur Debian.

Utilisation

root@kitploit:~
./domainim <domain> [--ports=<ports> | -p:<ports>] [--wordlist=<filename> | l:<filename> [--rps=<int> | -r:<int>]] [--dns=<dns> | -d:<dns>] [--out=<filename> | -o:<filename>]
  • <domain> est le domaine à énumérer. Il peut aussi être un sous-domaine.
  • --ports | -p est une spécification textuelle des ports à scanner. Il peut être l'un des suivants-
    • all - Scanner tous les ports (1-65535)
    • none - Ignorer le scan de ports (par défaut)
    • t<n> - Scanner les n premiers ports (comme nmap). Par exemple t100 scanne les 100 premiers ports. Valeur max 5000. Si n est supérieur à 5000, il sera fixé à 5000.
    • valeur unique - Scanner un seul port. Ex: 80 scanne le port 80
    • plage de valeurs - Scanner une plage de ports. Ex: 80-100 scanne les ports de 80 à 100
    • valeurs séparées par des virgules - Scanner plusieurs ports. Ex: 80,443,8080 scanne les ports 80, 443 et 8080
    • combinaison - Scanner une combinaison des précédents. Ex: 80,443,8080-8090,t500 scanne les ports 80, 443, 8080 à 8090 et les 500 premiers ports
  • est l'adresse du serveur DNS. Doit être une adresse IPv4 valide et peut éventuellement contenir le numéro de port-

Exemples

  • ./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

Le menu d'aide peut être consulté avec ./domainim --help ou ./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              Afficher cet écran.
    -p, --ports             Ports à scanner. [default: `none`]
                            Peut être `all`, `none`, `t<n>`, une valeur unique, une plage, une combinaison
    -l, --wordlist          Liste de mots pour le bruteforcing de sous-domaines. Ignoré si le fichier est invalide.
    -d, --dns               IP et port du résolveur DNS. Doit être une IPv4 valide avec un port optionnel [default: système par défaut]
    -r, --rps               Requêtes DNS par seconde [default: 1024 req/s]
    -o, --out               Fichier JSON où la sortie sera sauvegardée. Le nom doit se terminer par `.json`

Exemples:
    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

Le schéma JSON pour les résultats est le suivant-

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

Un exemple de JSON pour nmap.org peut être trouvé ici.

Contribuer

Les contributions sont les bienvenues. N'hésitez pas à ouvrir une pull request ou un issue.

Fonctionnalités prévues

  • Scan de ports TCP
  • Prise en charge du scan de ports UDP
  • Résolution des enregistrements AAAA (IPv6)
  • Serveur DNS personnalisé
  • Ajout du bruteforcing de sous-domaines avec une liste de mots
  • Forcer le bruteforcing (même si un sous-domaine wildcard est trouvé)
  • Ajouter plus de moteurs pour l'énumération de sous-domaines
  • Sortie fichier (JSON)
  • Énumération de plusieurs domaines
  • Busting de répertoires et fichiers

Autres

  • Mise à jour de la sortie verbose lors d'erreurs (v0.2.0)
  • Affichage d'une barre de progression pour les longues opérations
  • Ajout d'une barre de progression individuelle pour le scan de ports
  • Ajout de tests
  • Ajout de commentaires et docstrings

Notes supplémentaires

Ce projet en est encore à ses débuts. Plusieurs limitations sont connues.

Les deux moteurs que j'utilise (je les appelle moteurs car Sublist3r fait de même) ont actuellement une sorte de limite de réponse. dnsdumpster peut récupérer jusqu'à 100 sous-domaines. crt.sh randomise également les résultats en cas de trop grand nombre. Un autre problème avec crt.sh est qu'il renvoie parfois une erreur SQL. Donc pour certains domaines, les résultats peuvent être différents entre deux exécutions. Je prévois d'ajouter plus de moteurs à l'avenir (au moins un moteur de brute force).

Le scanner de ports a un délai d'attente de temps de réponse ping + 750 ms seulement. Cela peut entraîner des faux négatifs. Comme domainim n'est pas conçu pour le scan de ports mais pour fournir un aperçu rapide, de tels cas sont acceptables. Cependant, je prévois d'ajouter un indicateur pour augmenter le délai d'attente. Pour la même raison, les ports filtrés ne sont pas affichés. Pour un scan de ports plus complet, je recommande d'utiliser Nmap. Domainim ne contourne pas non plus la limitation de débit (si elle existe).

Il peut sembler que la manière d'afficher les noms d'hôtes virtuels entraîne des répétitions.

Afficher comme suit aurait peut-être été mieux-

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. 

Mais lors de tests précédents, j'ai rencontré des cas où tous les IPs n'étaient pas partagés par le même ensemble de noms d'hôtes virtuels. C'est pourquoi j'ai décidé de conserver cette présentation.

Le serveur DNS peut avoir une forme de limitation de débit. C'est pourquoi j'ai ajouté des délais aléatoires (entre 0 et 300 ms) pour la résolution IPv4 par requête. Cela évite que le serveur DNS reçoive toutes les requêtes en même temps, mais plutôt de manière plus naturelle. Pour la méthode de bruteforcing, la valeur est entre 0 et 1000 ms par défaut, mais cela peut être modifié avec l'indicateur --rps | -t.

Une limitation particulière qui me gêne est que le résolveur DNS ne renvoie pas toutes les IPs d'un domaine. Il est donc nécessaire d'effectuer plusieurs requêtes pour obtenir toutes (ou la plupart) des IPs. Mais encore une fois, il n'est pas possible de savoir combien d'IPs existent pour un domaine. Je dois encore trouver une solution à ce problème. De plus, nim-ndns ne prend pas en charge les enregistrements CNAME. Donc, si un domaine a un enregistrement CNAME, il ne sera pas résolu. J'attends une réponse de l'auteur à ce sujet.

Pour l'instant, le bruteforcing est ignoré si un sous-domaine wildcard possible est trouvé. En effet, si un domaine a un sous-domaine wildcard, le bruteforcing résoudra l'IPv4 pour tous les sous-domaines possibles. Cependant, cela ignorera également les sous-domaines valides (par exemple, scanme.nmap.org sera ignoré même s'il ne s'agit pas d'une valeur wildcard). J'ajouterai plus tard un indicateur --force-brute | -fb pour forcer le bruteforcing.

Un problème similaire existe pour l'énumération des hôtes virtuels pour les entrées de sous-domaines. Comme les URLs se terminant par les sous-domaines donnés sont renvoyées, les sous-domaines de domaines similaires ne sont pas pris en compte. Par exemple, scannme.nmap.org ne sera pas affiché pour ack.nmap.org mais something.ack.nmap.org pourrait l'être. Je pourrais rechercher tous les sous-domaines de nmap.org, mais cela irait à l'encontre de l'objectif d'avoir un sous-domaine comme entrée.

License

Licence MIT. Voir LICENSE pour le texte complet.

Télécharger l’outil
--dns | -d
  • a.b.c.d - Utiliser le serveur DNS à a.b.c.d sur le port 53
  • a.b.c.d#n - Utiliser le serveur DNS à a.b.c.d sur le port e
  • --wordlist | -l - Chemin vers le fichier de liste de mots. Utilisé pour le bruteforcing des sous-domaines. Si le fichier est invalide, le bruteforcing sera ignoré. Vous pouvez obtenir une liste de mots depuis SecLists. Une liste de mots est également fournie dans la page des versions.
  • --rps | -r - Nombre de requêtes par seconde pendant le bruteforcing. La valeur par défaut est 1024 req/s. Il est à noter que les requêtes DNS sont effectuées par lots et que le lot suivant n'est effectué qu'une fois le précédent terminé. Étant donné que les requêtes peuvent être limitées en débit, augmenter la valeur ne garantit pas des résultats plus rapides.
  • --out | -o - Chemin vers le fichier de sortie. La sortie sera sauvegardée au format JSON. Le nom du fichier doit se terminer par .json.