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
dirmap — Ein fortschrittliches Webverzeichnis- und Dateiscanner-Tool, das leistungsfähiger sein wird als DirBuster, Dirsearch, cansina und Yu Jian.一个高级web目录、文件扫描工具,功能将会强于DirBuster、Dirsearch、cansina、御剑。 | Kitploit
Tools/GitHubGitHub/h4ckforjob/dirmap
AufklärungSchwachstellenscannerInformationsbeschaffungWebsicherheitPenetrationstests
GitHubh4ckforjob/dirmap

dirmap

Ein fortschrittliches Webverzeichnis- und Dateiscanner-Tool, das leistungsfähiger sein wird als DirBuster, Dirsearch, cansina und Yu Jian.一个高级web目录、文件扫描工具,功能将会强于DirBuster、Dirsearch、cansina、御剑。

Repository anzeigen
3.4k5551vor 1 JahrVon 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

Dirmap

English

Ein fortschrittliches Webverzeichnis-Scan-Tool, leistungsfähiger als DirBuster, Dirsearch, cansina, Yujian

dirmap

Anforderungsanalyse

Nach umfangreicher Recherche sollte ein hervorragendes Webverzeichnis-Scan-Tool mindestens die folgenden Funktionen bieten:

  • Parallel-Engine
  • Wörterbuchnutzung
  • Reines Brute-Force
  • Crawlen von Seiten zur dynamischen Wörterbucherstellung
  • Fuzz-Scanning
  • Benutzerdefinierte Anfragen
  • Benutzerdefinierte Antwortverarbeitung ...

Schauen wir uns nun die Besonderheiten von Dirmap an.

Funktionen

  1. Unterstützt n Targets * n Payloads parallel
  2. Unterstützt rekursives Scannen
  3. Unterstützt benutzerdefinierte Statuscodes für rekursives Scannen
  4. Unterstützt (Einzel-/Mehrfach-)Wörterbuch-Scan
  5. Unterstützt benutzerdefinierten Zeichensatz-Brute-Force
  6. Unterstützt Crawler-Dynamik-Wörterbuch-Scan
  7. Unterstützt benutzerdefinierte Tags für Fuzz-Ziel-URLs
  8. Benutzerdefinierter User-Agent für Anfragen
  9. Benutzerdefinierte zufällige Verzögerung zwischen Anfragen
  10. Benutzerdefiniertes Timeout für Anfragen
  11. Benutzerdefinierter Proxy für Anfragen
  12. Benutzerdefinierter regulärer Ausdruck zur Erkennung von falsch-positiven 404-Seiten
  13. Benutzerdefinierte Antwortstatuscodes zur Verarbeitung
  14. Benutzerdefinierte Überspringung von Seiten mit einer bestimmten Größe
  15. Benutzerdefinierte Anzeige von Content-Type
  16. Benutzerdefinierte Anzeige der Seitengröße
  17. Deduplizierte Ergebnisausgabe pro Domain

Verwendung

Vorbereitung

root@kitploit:~
git clone https://github.com/H4ckForJob/dirmap.git && cd dirmap && python3 -m pip install -r requirement.txt

Schnellstart

Ziel eingeben

Einzelziel, Standard HTTP

root@kitploit:~
python3 dirmap.py -i https://target.com -lcf
root@kitploit:~
python3 dirmap.py -i 192.168.1.1 -lcf

Subnetz (CIDR-Format)

root@kitploit:~
python3 dirmap.py -i 192.168.1.0/24 -lcf

Netzwerkbereich

root@kitploit:~
python3 dirmap.py -i 192.168.1.1-192.168.1.100 -lcf

Dateieinlesen

root@kitploit:~
python3 dirmap.py -iF targets.txt -lcf

targets.txt unterstützt die oben genannten Formate.

Ergebnis speichern

  1. Ergebnisse werden automatisch im Ordner output im Projektstammverzeichnis gespeichert
  2. Für jedes Ziel wird eine txt-Datei mit dem Namen Zieldomain.txt erstellt
  3. Ergebnisse werden automatisch dedupliziert

Erweiterte Nutzung

Benutzerdefinierte Dirmap-Konfiguration, um die erweiterten Funktionen zu erkunden.

Die detaillierte Konfiguration erfolgt vorerst durch Laden einer Konfigurationsdatei. Befehlszeilenparameter für die detaillierte Konfiguration werden nicht unterstützt!

Bearbeiten Sie die Datei dirmap.conf im Projektstammverzeichnis zur Konfiguration.

Erläuterung der dirmap.conf-Konfiguration:

root@kitploit:~
# Rekursiver Scan-Konfiguration
[RecursiveScan]
# Rekursiven Scan aktivieren: 0=deaktiviert, 1=aktiviert
conf.recursive_scan = 0
# Bei diesen Statuscodes wird rekursiver Scan gestartet. Standard: [301,403]
conf.recursive_status_code = [301,403]
# Scan abbrechen, wenn URL diese Länge überschreitet
conf.recursive_scan_max_url_length = 60
# Diese Dateierweiterungen werden nicht rekursiv gescannt
conf.recursive_blacklist_exts = ["html",'htm','shtml','png','jpg','webp','bmp','js','css','pdf','ini','mp3','mp4']
# Auszuschließende Verzeichnisse. Standard: leer. Andere Konfig: z.B. ['/test1','/test2']
#conf.exclude_subdirs = ['/test1','/test2']
conf.exclude_subdirs = ""

# Scanmodus-Konfiguration (4 Modi, nur 1 gleichzeitig)
[ScanModeHandler]
# Wörterbuchmodus: 0=deaktiviert, 1=einzelnes Wörterbuch, 2=mehrere Wörterbücher
conf.dict_mode = 1
# Pfad zum einzelnen Wörterbuch
conf.dict_mode_load_single_dict = "dict_mode_dict.txt"
# Pfad zu mehreren Wörterbüchern, Standard: dictmult
conf.dict_mode_load_mult_dict = "dictmult"
# Brute-Force-Modus: 0=deaktiviert, 1=aktiviert
conf.blast_mode = 0
# Minimale Länge des generierten Wörterbuchs. Standard: 3
conf.blast_mode_min = 3
# Maximale Länge des generierten Wörterbuchs. Standard: 3
conf.blast_mode_max = 3
# Standardzeichensatz: a-z. Noch nicht verwendet.
conf.blast_mode_az = "abcdefghijklmnopqrstuvwxyz"
# Standardzeichensatz: 0-9. Noch nicht verwendet.
conf.blast_mode_num = "0123456789"
# Benutzerdefinierter Zeichensatz. Standard: "abc". Mit abc Wörterbuch erstellen
conf.blast_mode_custom_charset = "abc"
# Benutzerdefinierter Fortsetzungszeichensatz. Standard: leer.
conf.blast_mode_resume_charset = ""
# Crawler-Modus: 0=deaktiviert, 1=aktiviert
conf.crawl_mode = 0
# Suffix-Wörterbuch für dynamische Payload-Generierung
conf.crawl_mode_dynamic_fuzz_suffix = "crawl_mode_suffix.txt"
# robots.txt analysieren. Noch nicht implementiert.
conf.crawl_mode_parse_robots = 0
# XPath-Ausdruck zum Parsen von HTML-Seiten
conf.crawl_mode_parse_html = "//*/@href | //*/@src | //form/@action"
# Dynamische Wörterbucherstellung durch Crawler aktivieren. Standard: 1. Andere: 0=deaktiviert, 1=aktiviert
conf.crawl_mode_dynamic_fuzz = 1
# Fuzz-Modus: 0=deaktiviert, 1=einzelnes Wörterbuch, 2=mehrere Wörterbücher
conf.fuzz_mode = 0
# Pfad zum einzelnen Fuzz-Wörterbuch
conf.fuzz_mode_load_single_dict = "fuzz_mode_dir.txt"
# Pfad zu mehreren Fuzz-Wörterbüchern, Standard: fuzzmult
conf.fuzz_mode_load_mult_dict = "fuzzmult"
# Fuzz-Tag festlegen. Standard: {dir}. Tag als Einfügepunkt für Wörterbuch: http://target.com/{dir}.php -> http://target.com/jede Zeile des Wörterbuchs.php. Andere Konfig: z.B. {dir}, {ext}
#conf.fuzz_mode_label = "{ext}"
conf.fuzz_mode_label = "{dir}"

# Payload-Konfiguration. Noch nicht implementiert.
[PayloadHandler]

# Anfragekonfiguration
[RequestHandler]
# Benutzerdefinierte Anfrage-Header. Standard: leer. Andere Konfig: z.B. test1=test1,test2=test2
#conf.request_headers = "test1=test1,test2=test2"
conf.request_headers = ""
# Benutzerdefinierter User-Agent. Standard: Chrome-UA.
conf.request_header_ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"
# Benutzerdefiniertes Cookie. Standard: leer. Andere Konfig: z.B. cookie1=cookie1; cookie2=cookie2;
#conf.request_header_cookie = "cookie1=cookie1; cookie2=cookie2"
conf.request_header_cookie = ""
# Benutzerdefinierte 401-Authentifizierung. Noch nicht implementiert, da benutzerdefinierte Header dies abdecken (faul XD)
conf.request_header_401_auth = ""
# Benutzerdefinierte Anfragemethode. Standard: get. Andere Konfig: z.B. get; head
#conf.request_method = "head"
conf.request_method = "get"
# Timeout pro Anfrage. Standard: 3 Sekunden.
conf.request_timeout = 3
# Zufällige Verzögerung (0-x) Sekunden zwischen Anfragen. Parameter muss Integer sein. Standard: 0.
conf.request_delay = 0
# Anzahl gleichzeitiger Coroutinen pro Ziel. Standard: 30
conf.request_limit = 30
# Maximale Wiederholungsversuche. Noch nicht implementiert.
conf.request_max_retries = 1
# Persistente Verbindung. Verwendung von session(). Noch nicht implementiert.
conf.request_persistent_connect = 0
# 302-Weiterleitung. Standard: False, keine Weiterleitung. Andere: True; False
conf.redirection_302 = False
# Suffix nach Payload hinzufügen. Standard: leer. Andere: txt; php; asp; jsp
#conf.file_extension = "txt"
conf.file_extension = ""

# Antwortkonfiguration
[ResponseHandler]
# Zu protokollierende Antwort-Statuscodes. Standard: [200]. Andere: z.B. [200,403,301]
#conf.response_status_code = [200,403,301]
conf.response_status_code = [200]
# Content-Type-Antwort-Header protokollieren. Standard: 1 (ja)
#conf.response_header_content_type = 0
conf.response_header_content_type = 1
# Seitengröße protokollieren. Standard: 1 (ja)
#conf.response_size = 0
conf.response_size = 1
# Automatische 404-Seitenerkennung. Standard: True. Andere: True; False
#conf.auto_check_404_page = False
conf.auto_check_404_page = True
# Benutzerdefinierter regulärer Ausdruck für 503-Seite. Noch nicht implementiert.
#conf.custom_503_page = "page 503"
conf.custom_503_page = ""
# Benutzerdefinierter regulärer Ausdruck für Seiteninhalt
#conf.custom_response_page = "([0-9]){3}([a-z]){3}test"
conf.custom_response_page = ""
# Seiten mit einer bestimmten Größe überspringen. Bei keiner Angabe: "None". Standard: "None". Andere: None; 0b; 1k; 1m
#conf.skip_size = "0b"
conf.skip_size = "None"

# Proxy-Optionen
[ProxyHandler]
# Proxy-Konfiguration. Standard: "None", kein Proxy. Andere: z.B. {"http":"http://127.0.0.1:8080","https":"https://127.0.0.1:8080"}
#conf.proxy_server = {"http":"http://127.0.0.1:8080","https":"https://127.0.0.1:8080"}
conf.proxy_server = None

# Debug-Optionen
[DebugMode]
# Payloads ausgeben und beenden
conf.debug = 0

# Update-Optionen
[CheckUpdate]
# GitHub-Update abrufen. Noch nicht implementiert.
conf.update = 0

TODO

  • Befehlszeilenparameter-Parsing für globale Initialisierung
  • Engine-Initialisierung
    • Anzahl der Threads festlegen
  • Target-Initialisierung
    • Automatische Erkennung und Verarbeitung von Eingabeformaten (-i, inputTarget)
      • IP
      • Domain
      • URL
      • IP/MASK
      • IP Start-Ende
    • Dateieinlesen (-iF, inputLocalFile)
  • Bruter-Initialisierung
    • Konfigurationsmethode laden
      • Befehlszeilenparameter auslesen
      • Konfigurationsdatei laden (-lcf, loadConfigFile)

Standard-Wörterbuchdateien

Die Wörterbuchdateien befinden sich im Ordner data im Projektstammverzeichnis.

  1. dict_mode_dict.txt Wörterbuch für "Wörterbuchmodus", Standard-Wörterbuch von dirsearch
  2. crawl_mode_suffix.txt Wörterbuch für "Crawlermodus", Standard-Wörterbuch von FileSensor
  3. fuzz_mode_dir.txt Wörterbuch für "Fuzzmodus", Standard-Wörterbuch von DirBuster
  4. fuzz_mode_ext.txt Wörterbuch für "Fuzzmodus", Wörterbuch mit gängigen Erweiterungen
  5. dictmult Ordner für Standard-Mehrfachwörterbücher im "Wörterbuchmodus", enthält: BAK.min.txt (kleines Backup-Datei-Wörterbuch), BAK.txt (großes Backup-Datei-Wörterbuch), LEAKS.txt (Wörterbuch für Informationslecks)
  6. fuzzmult Ordner für Standard-Mehrfachwörterbücher im "Fuzzmodus", enthält: fuzz_mode_dir.txt (Standard-Verzeichniswörterbuch), fuzz_mode_ext.txt (Standard-Erweiterungswörterbuch)

Bekannte Mängel

  1. Im "Crawlermodus" wird nur die aktuelle Seite des Ziels gecrawlt, um das dynamische Wörterbuch zu generieren. In Zukunft wird das "Crawlermodul" von der "dynamischen Wörterbucherstellung" getrennt.
  2. Fehler in bruter.py Zeile 517: bar.log.start(). Lösung: Installieren Sie progressbar2. Deinstallieren Sie progressbar, um Namenskonflikte zu vermeiden. Danke an einen unbekannten Benutzer für den Hinweis.
root@kitploit:~
Befehle ausführen:
python3 -m pip uninstall progressbar
python3 -m pip install progressbar2

Wartung

  1. Bei Problemen während der Nutzung bitte ein Issue eröffnen
  2. Dieses Projekt wird gewartet; zukünftige Funktionen werden hinzugefügt, wie in der TODO-Liste (nicht angehakt) beschrieben

Danksagung

Dirmap hat bei der Entwicklung auf die Vorgehensweise und Gedanken vieler exzellenter Open-Source-Projekte zurückgegriffen. Hiermit möchten wir uns bedanken.

  • Sqlmap
  • POC-T
  • Saucerframe
  • gwhatweb
  • dirsearch
  • cansina
  • weakfilescan
  • FileSensor
  • BBscan
  • werdy

Autor kontaktieren

E-Mail: [email protected]

donate

Tool herunterladen
  • Rekursive Scan-Optionen (RecursiveScan)
    • Rekursiven Scan (-rs, recursive_scan)
    • Statuscodes für rekursiven Scan (-rd, recursive_status_code)
    • Bestimmte Verzeichnisse ausschließen (-es, exclude_subdirs)
  • Scanmodus-Optionen (ScanModeHandler)
    • Wörterbuchmodus (-dm, dict_mode)
      • Einzelnes Wörterbuch laden (-dmlsd, dict_mode_load_single_dict)
      • Mehrere Wörterbücher laden (-dmlmd, dict_mode_load_mult_dict)
    • Brute-Force-Modus (-bm, blast_mode)
      • Längenbereich der Brute-Force-Verzeichnisse (erforderlich)
        • Minimale Länge (-bmmin, blast_mode_min)
        • Maximale Länge (-bmmax, blast_mode_max)
      • Standardzeichensatz basierend
        • a-z
        • 0-9
      • Benutzerdefinierter Zeichensatz (-bmcc, blast_mode_custom_charset)
      • Resume-Payload-Generierung (-bmrc, blast_mode_resume_charset)
    • Crawler-Modus (-cm, crawl_mode)
      • Benutzerdefinierte Parse-Tags (-cmph, crawl_mode_parse_html) (a:href, img:src, form:action, script:src, iframe:src, div:src, frame:src, embed:src)
      • robots.txt parsen (-cmpr, crawl_mode_parse_robots)
      • Crawler-Dynamik-Fuzz-Scan (-cmdf, crawl_mode_dynamic_fuzz)
    • Fuzz-Modus (-fm, fuzz_mode)
      • Einzelnes Fuzz-Wörterbuch (-fmlsd, fuzz_mode_load_single_dict)
      • Mehrere Fuzz-Wörterbücher (-fmlmd, fuzz_mode_load_mult_dict)
      • Fuzz-Tag (-fml, fuzz_mode_label)
  • Anfrageoptimierungsoptionen (RequestHandler)
    • Benutzerdefiniertes Timeout (-rt, request_timeout)
    • Benutzerdefinierte Verzögerung (-rd, request_delay)
    • Anzahl Coroutinen pro Ziel (-rl, request_limit)
    • Maximale Wiederholungen (-rmr, request_max_retries)
    • HTTP-Persistente Verbindung (-rpc, request_persistent_connect)
    • Benutzerdefinierte Methode (-rm, request_method) (get, head)
    • 302-Behandlung (-r3, redirection_302) (Weiterleitung oder nicht)
    • Benutzerdefinierte Header
      • Andere Header (-rh, request_headers) (für 401-Authentifizierung)
      • User-Agent (-rhua, request_header_ua)
      • Cookie (-rhc, request_header_cookie)
  • Payload-Verarbeitungsoptionen (PayloadHandler)
    • Payload-Verarbeitung (Payload ändern - Schrägstrich entfernen)
    • Payload-Verarbeitung (Payload ändern - erstes Zeichen mit Schrägstrich)
    • Payload-Verarbeitung (Payload ändern - erstes Wort großschreiben)
    • Payload-Verarbeitung (Payload ändern - Erweiterung entfernen)
    • Payload-Verarbeitung (Payload ändern - nicht alphanumerische Zeichen entfernen)
  • Antwortverarbeitungsmodul (ResponseHandler)
    • Dateien einer bestimmten Größe überspringen (-ss, skip_size)
    • Automatische 404-Erkennung (-ac4p, auto_check_404_page)
    • Benutzerdefinierte 503-Seite (-c5p, custom_503_page)
    • Benutzerdefinierter Regex für Antwortinhalte und Aktion
      • Benutzerdefinierter Regex für Antwort (-crp, custom_response_page)
      • Aktion (noch nicht definiert)
    • Ausgabe auf benutzerdefinierte Statuscodes (-rsc, response_status_code)
    • Payload als vollständigen Pfad ausgeben (Standard: vollständige URL)
    • Content-Type in Ausgabe anzeigen
    • Ergebnisse automatisch deduplizieren
  • Statusverarbeitungsmodul (StatusHandler)
    • Statusanzeige (wartend, laufend, pausiert, Fehler, abgeschlossen)
    • Fortschrittsanzeige
    • Statussteuerung (starten, pausieren, fortsetzen, stoppen)
    • Fortsetzungsmodul (noch nicht konfiguriert)
    • Scan an Unterbrechungspunkten fortsetzen
    • Scan ab bestimmter Zeile fortsetzen
  • Logging-Modul (ScanLogHandler)
    • Scan-Log
    • Fehler-Log
  • Proxy-Modul (ProxyHandler)
    • Einzelner Proxy (-ps, proxy_server)
    • Proxy-Pool
  • Debug-Modus-Optionen (DebugMode)
    • debug (--debug)
  • Update-Prüfoptionen (CheckUpdate)
    • update (--update)