Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
domainim — Ein schnelles und umfassendes Werkzeug zur Netzwerkscanning in Organisationen | Kitploit
Tools/GitHubGitHub/pptx704/domainim
OSINT (Open-Source-Intelligence)AufklärungNetzwerkkartierungPort-ScanningDNS- und Subdomain-EnumerationInformationsbeschaffungPenetrationstestsDNS-Analyse
GitHubpptx704/domainim

domainim

Ein schnelles und umfassendes Werkzeug zur Netzwerkscanning in Organisationen

Repository anzeigen
138133vor 2 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

DOMAINIM

Funktionen • Verwendung • Installation • Verwendung • Mitwirken • Zusätzliche Anmerkungen

Domainim ist ein schnelles Domain-Erkennungstool für das Netzwerkscanning von Organisationen. Das Tool soll einen kurzen Überblick über die Struktur einer Organisation bieten, indem Techniken wie OSINT, Brute-Force, DNS-Auflösung usw. eingesetzt werden.

Funktionen

Aktuelle Funktionen (v1.0.1)-

  • Subdomain-Enumeration (2 Engines + Brute-Force)
  • Benutzerfreundliche Ausgabe
  • Auflösung von A-Einträgen (IPv4)

  • Virtuelle Hostname-Enumeration

  • Reverse-DNS-Abfrage

  • Erkennt Wildcard-Subdomains (für Brute-Force)

  • Einfaches TCP-Port-Scanning

  • Subdomains werden als Eingabe akzeptiert

  • Ergebnisse in JSON-Datei exportieren

Einige Funktionen sind in Arbeit. Siehe Geplante Funktionen für weitere Details.

Das Projekt ist von Sublist3r inspiriert. Das Port-Scanner-Modul basiert stark auf NimScan.

Installation

Sie können dieses Repository aus dem Quellcode erstellen:

  • Klonen Sie das Repository
root@kitploit:~
git clone [email protected]:pptx704/domainim
  • Erstellen Sie die Binärdatei
root@kitploit:~
nimble build
  • Führen Sie die Binärdatei aus
root@kitploit:~
./domainim <domain> [--ports=<ports>]

Oder Sie können die Binärdatei einfach von der Release-Seite herunterladen. Beachten Sie, dass die Binärdatei nur auf Debian-basierten Systemen getestet wurde.

Verwendung

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> ist die zu enumerierende Domain. Es kann auch eine Subdomain sein.
  • --ports | -p ist eine Zeichenfolgenspezifikation der zu scannenden Ports. Es kann eines der folgenden sein-
    • all - Alle Ports scannen (1-65535)
    • none - Port-Scanning überspringen (Standard)
    • t<n> - Scannt die Top-n-Ports (wie nmap). z.B. t100 scannt die Top-100-Ports. Maximalwert ist 5000. Wenn n größer als 5000 ist, wird es auf 5000 gesetzt.
    • einzelner Wert - Scannt einen einzelnen Port. z.B. 80 scannt Port 80
    • Bereichswert - Scannt einen Portbereich. z.B. 80-100 scannt Ports 80 bis 100
    • Komma-getrennte Werte - Scannt mehrere Ports. z.B. 80,443,8080 scannt Ports 80, 443 und 8080
    • Kombination - Scannt eine Kombination der obigen. z.B. 80,443,8080-8090,t500 scannt Ports 80, 443, 8080 bis 8090 und die Top-500-Ports
  • --dns | -d ist die Adresse des DNS-Servers. Dies sollte eine gültige IPv4-Adresse sein und kann optional die Portnummer enthalten-

Beispiele

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

Das Hilfemenü kann mit ./domainim --help oder ./domainim -h aufgerufen werden.

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

Das JSON-Schema für die Ergebnisse lautet wie folgt-

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

Ein Beispiel-JSON für nmap.org finden Sie hier.

Mitwirken

Beiträge sind willkommen. Sie können gerne einen Pull-Request oder ein Issue eröffnen.

Geplante Funktionen

  • TCP-Port-Scanning
  • UDP-Port-Scanning-Unterstützung
  • Auflösung von AAAA-Einträgen (IPv6)
  • Benutzerdefinierter DNS-Server
  • Brute-Force von Subdomains mit einer Wortliste hinzufügen
  • Brute-Force erzwingen (auch wenn Wildcard-Subdomain gefunden wird)
  • Weitere Engines für Subdomain-Enumeration hinzufügen
  • Dateiausgabe (JSON)
  • Mehrfach-Domain-Enumeration
  • Verzeichnis- und Datei-Busting

Sonstiges

  • Ausführliche Ausgabe bei Fehlern aktualisiert (v0.2.0)
  • Fortschrittsbalken für längere Vorgänge anzeigen
  • Individuellen Fortschrittsbalken für Port-Scans hinzufügen
  • Tests hinzufügen
  • Kommentare und Docstrings hinzufügen

Zusätzliche Anmerkungen

Dieses Projekt befindet sich noch in der Anfangsphase. Es gibt mehrere Einschränkungen, die mir bewusst sind.

Die beiden Engines, die ich verwende (ich nenne sie Engines, weil Sublist3r das auch tut), haben derzeit eine Art Antwortlimit. dnsdumpster kann bis zu 100 Subdomains abrufen. crt.sh randomisiert die Ergebnisse ebenfalls bei zu vielen Ergebnissen. Ein weiteres Problem mit crt.sh ist, dass es manchmal einen SQL-Fehler zurückgibt. Daher können die Ergebnisse für manche Domains je nach Durchlauf unterschiedlich sein. Ich plane, in Zukunft weitere Engines hinzuzufügen (mindestens eine Brute-Force-Engine).

Der Port-Scanner hat nur ein Timeout von Ping-Antwortzeit + 750ms. Dies kann zu falschen Negativen führen. Da domainim nicht für das Port-Scannen gedacht ist, sondern einen schnellen Überblick bieten soll, sind solche Fälle akzeptabel. Ich plane jedoch, ein Flag hinzuzufügen, um das Timeout zu erhöhen. Aus demselben Grund werden gefilterte Ports nicht angezeigt. Für umfassenderes Port-Scannen empfehle ich Nmap. Domainim umgeht auch keine Ratenbegrenzung (falls vorhanden).

Es mag scheinen, dass die Art, wie VHost-Namen gedruckt werden, nur Wiederholungen mit sich bringt.

root@kitploit:~
Printing as the following might've been better-
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. 

Aber bei früheren Tests habe ich Fälle gefunden, in denen nicht alle IPs von denselben VHost-Namen geteilt werden. Deshalb habe ich beschlossen, es so zu belassen.

Der DNS-Server könnte eine Ratenbegrenzung haben. Deshalb habe ich zufällige Verzögerungen (zwischen 0-300ms) für die IPv4-Auflösung pro Abfrage hinzugefügt. Dadurch erhält der DNS-Server nicht alle Abfragen auf einmal, sondern auf eine natürlichere Weise. Für die Brute-Force-Methode liegt der Wert standardmäßig zwischen 0-1000ms, kann aber mit dem Flag --rps | -t geändert werden.

Eine besondere Einschränkung, die mich stört, ist, dass der DNS-Auflöser nicht alle IPs einer Domain zurückgibt. Daher ist es notwendig, mehrere Abfragen durchzuführen, um alle (oder die meisten) IPs zu erhalten. Aber es ist nicht möglich zu wissen, wie viele IPs eine Domain hat. Ich muss mir noch eine Lösung dafür einfallen lassen. Außerdem unterstützt nim-ndns keine CNAME-Einträge. Wenn also eine Domain einen CNAME-Eintrag hat, wird er nicht aufgelöst. Ich warte auf eine Antwort des Autors dazu.

Derzeit wird Brute-Force übersprungen, wenn eine mögliche Wildcard-Subdomain gefunden wird. Der Grund dafür ist, dass bei einer Domain mit einer Wildcard-Subdomain durch Brute-Force IPv4 für alle möglichen Subdomains aufgelöst würde. Dies überspringt jedoch auch gültige Subdomains (z.B. wird scanme.nmap.org übersprungen, obwohl es kein Wildcard-Wert ist). Ich werde später ein --force-brute | -fb Flag hinzufügen, um Brute-Force zu erzwingen.

Ähnliches gilt für die VHost-Enumeration bei Subdomain-Eingaben. Da URLs, die mit den angegebenen Subdomains enden, zurückgegeben werden, werden Subdomains ähnlicher Domains nicht berücksichtigt. Beispielsweise wird scannme.nmap.org nicht für ack.nmap.org ausgegeben, wohl aber something.ack.nmap.org. Ich könnte nach allen Subdomains von nmap.org suchen, aber das würde den Zweck einer Subdomain als Eingabe zunichte machen.

Lizenz

MIT-Lizenz. Siehe LICENSE für den vollständigen Text.

Tool herunterladen
  • a.b.c.d - DNS-Server unter a.b.c.d auf Port 53 verwenden
  • a.b.c.d#n - DNS-Server unter a.b.c.d auf Port e verwenden
  • --wordlist | -l - Pfad zur Wortlistendatei. Diese wird für Brute-Force von Subdomains verwendet. Wenn die Datei ungültig ist, wird Brute-Force übersprungen. Sie können eine Wortliste von SecLists erhalten. Eine Wortliste wird auch auf der Release-Seite bereitgestellt.
  • --rps | -r - Anzahl der Anfragen pro Sekunde während des Brute-Force. Der Standardwert ist 1024 req/s. Es ist zu beachten, dass DNS-Abfragen in Batches durchgeführt werden und der nächste Batch erst nach Abschluss des vorherigen gestartet wird. Da Abfragen ratenbegrenzt sein können, führt eine Erhöhung des Werts nicht immer zu schnelleren Ergebnissen.
  • --out | -o - Pfad zur Ausgabedatei. Die Ausgabe wird im JSON-Format gespeichert. Der Dateiname muss auf .json enden.