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
webstor — Ermittelt alle Websites eines Unternehmensnetzwerks mittels DNS-Zonentransfers und Masscan, speichert Antworten und ermöglicht Abfragen nach bekannten anfälligen Webtechnologien sowie benutzerdefinierten Regex-Mustern. | Kitploit
Tools/GitHubGitHub/rossgeerlings/webstor
AufklärungSchwachstellenscannerInformationsbeschaffungWebsicherheitDNS-Analyse
GitHubrossgeerlings/webstor

webstor

Ermittelt alle Websites eines Unternehmensnetzwerks mittels DNS-Zonentransfers und Masscan, speichert Antworten und ermöglicht Abfragen nach bekannten anfälligen Webtechnologien sowie benutzerdefinierten Regex-Mustern.

Repository anzeigen
158201vor 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

 

WebStor

Schnelle Identifizierung verwundbarer Webtechnologien in Ihrer Organisation

WebStor ist ein unter der MIT-Lizenz in Python implementiertes Werkzeug, das darauf abzielt, schnell alle Websites in allen Netzwerken Ihrer Organisation zu erfassen, ihre Antworten zu speichern und nach bekannten Webtechnologien und -versionen zu durchsuchen, wie z. B. solchen mit Zero-Day-Schwachstellen. Es soll insbesondere das einzigartige Problem lösen, das in mittelgroßen bis großen Organisationen mit dezentraler Verwaltung auftritt, in denen es nahezu unmöglich sein kann, alle von verschiedenen Administratoren in verschiedenen Einheiten und Netzwerken eingesetzten Webtechnologien nachzuverfolgen.

WebStor erreicht sein Ziel durch die folgenden Aktionen:

  1. Führt DNS-Zonentransfers durch, um A- und CNAME-Einträge einer Organisation zu sammeln.
  2. Verwendet Masscan, um offene HTTP/HTTPS-Ports in den Netzbereichen der Organisation sowie auf allen IP-Adressen außerhalb dieser Bereiche zu scannen, die in den A- und CNAME-Einträgen der Organisation vorkommen.
  3. Verwendet die Python-Requests-Bibliothek, um alle Antworten zu sammeln und in einer MariaDB-Datenbank zu speichern. Alle DNS-Namen, die einer IP mit offenen HTTP/HTTPS-Ports entsprechen, werden zusätzlich zur IP-Adresse in die Anfragen einbezogen, sodass Websites, die unterschiedliche Header verwenden, nicht übersehen werden.
  4. Lädt die Wappalyzer-Datenbank der Webtechnologien herunter und speichert sie in der MariaDB-Datenbank, sodass Benutzer den/die Standort(e) einer gängigen Webtechnologie nach Namen abfragen können.
  5. Ermöglicht es Benutzern, den/die Standort(e) zu suchen, in denen benutzerdefinierte reguläre Ausdrücke in gespeicherten Antworten enthalten sind.

Unterstützte Plattformen

WebStor läuft derzeit auf Linux-Systemen. Da es in Python geschrieben ist, wäre eine Anpassung zur Unterstützung von Windows trivial und wird wahrscheinlich in Zukunft erfolgen.

Voraussetzungen

Anwendungen

  • Masscan
    • Wenn Sie einen Cron-Job verwenden, um die Datenbank zu aktualisieren (üblich), ist es entscheidend, dass Sie sudo nopasswd für jeden Benutzer konfigurieren, der Masscan-Scans über WebStor ausführt.
  • MariaDB 10.0.5 oder später
    • Die von WebStor standardmäßig verwendeten Anmeldedaten sind root und ein leeres Passwort. Im Abschnitt „Sichere Optionen“ erfahren Sie, wie Sie WebStor für die Verwendung anderer Benutzernamen und Passwörter zum Verbinden mit der Datenbank konfigurieren.

Python-Bibliotheken

  • pip3 install dnspython
  • pip3 install beautifulsoup4
  • pip3 install mysql-connector-python
  • pip3 install js-regex
  • pip3 install gevent
  • pip3 install requests

Verfügbarkeit über PyPI

  • Wenn Sie WebStor lediglich ausführen und nicht bearbeiten möchten, installieren Sie die erforderlichen Anwendungen und verwenden Sie dann 'sudo pip3 install webstor'.
  • Nach der Installation von WebStor über PyPI ist webstor im Pfad und kann unabhängig vom Arbeitsverzeichnis mit 'webstor' anstelle von 'webstor.py' von der Befehlszeile aus ausgeführt werden, z. B. 'webstor -g'.

Grundlegende Verwendung

root@kitploit:~
       webstor.py [-h] [--ADD-HTTP-PORT HTTPPORTTOADD] [--CLEAR-HTTP]
                  [--ADD-HTTPS-PORT HTTPSPORTTOADD] [--CLEAR-HTTPS]
                  [--ADD-CUSTOM-FINGERPRINT FINGERPRINT]
                  [--DELETE-CUSTOM-FINGERPRINT FINGERPRINTNAMETODELETE]
                  [--IMPORT-CUSTOM-FINGERPRINT IMPORTFINGERPRINTFILE]
                  [--CLEAR-CUSTOM-FINGERPRINTS] [--SHOW-CONFIG]
                  [--SHOW-CONFIG-FULL] [--RUN-MASSCAN]
                  [--SET-MASSCAN-RANGES SETSCANRANGES]
                  [--ADD-RANGE RANGETOADD] [--DELETE-RANGE RANGETODELETE]
                  [--IMPORT-MASSCAN-RANGES IMPORTSCANRANGES]
                  [--ADD-PATH PATHTOADD] [--DELETE-PATH PATHTODELETE]
                  [--CLEAR-PATHS] [--REFRESH-RESPONSES]
                  [--RESPONSES-ADD-FOR-PATH RESPONSESADDFORPATH]
                  [--SEARCH-PATTERN SEARCHPATTERN]
                  [--SEARCH-CUSTOM-FINGERPRINT SEARCHFINGERPRINT]
                  [--SEARCH-WAPPALYZER SEARCHWAPPALYZER] [--NO-TSIG-KEY]
                  [--TSIG-KEY-IMPORT IMPORTTSIGFILE]
                  [--TSIG-KEY-REPLACE REPLACEMENTTSIGFILE]
                  [--DELETE-TSIG TSIGTODELETE]
                  [--USE-TSIG-FILE-ONLY USETSIGFILEONLY]
                  [--DOWNLOAD-NEW-WAPPALYZER] [--LIST-WAPPALYZER-TECH-NAMES]
                  [--ZONE-XFER] [--ADD-DOMAIN DOMAINDETAILS]
                  [--DELETE-DOMAIN DOMAINTODELETE]
                  [--IMPORT-ZONE-FILE IMPORTZONEFILE] [--CLEAR-DOMAINS]
                  [--LIST-DOMAINS] [--LIST-OUTSIDE] [--SQL-CREDS SQLCREDSFILE]

optional arguments:
  -h, --help            show this help message and exit
  --ADD-HTTP-PORT HTTPPORTTOADD, -a HTTPPORTTOADD
                        Add a custom HTTP port.
  --CLEAR-HTTP, -aC     Clear any custom HTTP ports and revert to default of
                        80.
  --ADD-HTTPS-PORT HTTPSPORTTOADD, -b HTTPSPORTTOADD
                        Add a custom HTTPS port.
  --CLEAR-HTTPS, -bC    Clear any custom HTTPS ports and revert to default of
                        443.
  --ADD-CUSTOM-FINGERPRINT FINGERPRINT, -c FINGERPRINT
                        Add a custom fingerprint in the form <Name>,<RegEx>.
  --DELETE-CUSTOM-FINGERPRINT FINGERPRINTNAMETODELETE, -cD FINGERPRINTNAMETODELETE
                        Delete a custom fingerprint by name.
  --IMPORT-CUSTOM-FINGERPRINT IMPORTFINGERPRINTFILE, -cI IMPORTFINGERPRINTFILE
                        Import a custom fingerprint file with the path
                        specified.
  --CLEAR-CUSTOM-FINGERPRINTS, -cC
                        Clears all custom fingerprints stored in DB.
  --SHOW-CONFIG, -g     Show current WebStor configuration (brief).
  --SHOW-CONFIG-FULL, -gF
                        Show current WebStor configuration (full).
  --RUN-MASSCAN, -m     Runs a new port scan with Masscan on all configured
                        TCP ports for HTTP and HTTPS, against all configured
                        ranges and any IP addresses from DNS records that are
                        outside those ranges.
  --SET-MASSCAN-RANGES SETSCANRANGES, -mR SETSCANRANGES
                        Scan range or ranges, replaces existing ranges in DB,
                        comma separated, such as: -s
                        10.10.0.0/16,10.13.0.0/16,192.168.1.0/24
  --IMPORT-MASSCAN-RANGES IMPORTSCANRANGES, -mI IMPORTSCANRANGES
                        Import scan ranges (CIDR blocks) from a specified
                        file.
  --DELETE-RANGE RANGETODELETE, -mD RANGETODELETE
                        Delete scan range.
  --ADD-PATH PATHTOADD, -p PATHTOADD
                        Add paths for which to request and store responses
                        besides '/'.
  --DELETE-PATH PATHTODELETE, -pD PATHTODELETE
                        Delete paths for which to request and store responses
                        besides '/'.
  --CLEAR-PATHS, -pC    Clear any custom URL request paths and revert to
                        default of '/'.
  --REFRESH-RESPONSES, -r
                        Refresh URL responses in DB.
  --RESPONSES-ADD-FOR-PATH RESPONSESADDFORPATH, -rP RESPONSESADDFORPATH
                        Add URL responses for a one-time path in with the
                        current responses in the DB.
  --SEARCH-PATTERN SEARCHPATTERN, -sP SEARCHPATTERN
                        Search for string or regular expression in WebStor
                        database.
  --SEARCH-CUSTOM-FINGERPRINT SEARCHFINGERPRINT, -sC SEARCHFINGERPRINT
                        Search for technology by name of user-provided custom
                        fingerprint.
  --SEARCH-WAPPALYZER SEARCHWAPPALYZER, -sW SEARCHWAPPALYZER
                        Search for technology by name (from Wappalyzer Tech
                        DB) in WebStor DB.
  --NO-TSIG-KEY, -tN    Do not use DNSSec TSIG key stored in database or a
                        file, even if present.
  --TSIG-KEY-IMPORT IMPORTTSIGFILE, -tI IMPORTTSIGFILE
                        Import a specified TSIG key file into the database
  --TSIG-KEY-REPLACE REPLACEMENTTSIGFILE, -tR REPLACEMENTTSIGFILE
                        Replace a TSIG key in the database with a specified
                        file
  --DELETE-TSIG TSIGTODELETE, -dT TSIGTODELETE
                        Delete a TSIG key from the database by name.
  --USE-TSIG-FILE-ONLY USETSIGFILEONLY, -tF USETSIGFILEONLY
                        Only use tsig file specified (full path), do not use
                        TSIGs stored in the DB. Applies to all domains,
                        limiting WebStor to one TSIG for zone transfers in the
                        current execution.
  --DOWNLOAD-NEW-WAPPALYZER, -w
                        Download a new Wappalyzer fingerprints file directly
                        from GitHub. Overwrites existing Wappalyzer
                        fingerprint data.
  --LIST-WAPPALYZER-TECH-NAMES, -wL
                        List the names of all Wappalyzer technologies in the
                        database.
  --ZONE-XFER, -z       Forces a new zone transfer using all domains, servers,
                        and associated TSIG keys in DB
  --ADD-DOMAIN DOMAINDETAILS, -zA DOMAINDETAILS
                        Add a domain in the form <Domain name>,<Server>,<TSIG
                        Key Name>.
  --DELETE-DOMAIN DOMAINTODELETE, -zD DOMAINTODELETE
                        Delete a DNS domain from the database by name.
  --IMPORT-ZONE-FILE IMPORTZONEFILE, -zI IMPORTZONEFILE
                        Add domains for zone transfers from a file.
  --CLEAR-DOMAINS, -zC  Clears all DNS domains stored in DB.
  --LIST-DOMAINS, -zL   Lists all DNS domains stored in DB.
  --LIST-OUTSIDE, -e    Prints a list of all names and IPs from our zone
                        transfers that are outside defined net ranges.
  --SQL-CREDS SQLCREDSFILE, -q SQLCREDSFILE
                        Use SQL credentials in file at specified path.

Schritte zur initialen Konfiguration von WebStor und Befüllen der Datenbank:

HINWEIS: Diese Schritte gehen davon aus, dass Ihre Organisation nur einen TSIG-Schlüssel für Zonentransfers verwendet und dass alle Einträge von einem DNS-Server abgefragt werden können. Falls dies nicht der Fall ist, siehe den Abschnitt „Sichere/spezielle Anwendungsfälle“ weiter unten.

  1. Besorgen Sie sich eine TSIG-Schlüsseldatei, mit der Sie Zonentransfers durchführen können, und legen Sie sie in Ihrem Arbeitsverzeichnis ab.
  2. Besorgen Sie sich eine zeilengetrennte Liste aller Netzbereiche Ihrer Organisation (CIDR-Notation). Wenn Sie umfangreichen privaten RFC1918-Adressraum nutzen, insbesondere 10.X-Raum, fügen Sie nicht einfach 10.0.0.0/8 hinzu, da dies dazu führen würde, dass Masscan später sehr lange braucht. Verwenden Sie stattdessen mehrere kleinere Blöcke, die tatsächlich zugewiesen sind (z. B. 10.10.3.0/24). Bei einem typischen Unternehmens- oder Universitätsnetzwerk (Stand heute) können Sie damit rechnen, dass jede Million gescannter IP-Adressen bei Masscan mit den aktuellen Drosselungseinstellungen von WebStor etwa 15 Minuten dauert.
  3. Erstellen Sie eine Textdatei mit den Domänennamen, für die Sie Zonentransfers durchführen möchten. Fügen Sie oben in der Datei zwei Zeilen ein: die erste mit dem Namen Ihres TSIG-Schlüssels (falls Sie ihn nicht kennen, finden Sie ihn in der ersten Zeile Ihrer TSIG-Datei direkt nach "key"), und die zweite Zeile muss der Name oder die IP-Adresse Ihres DNS-Servers sein. Der Rest der Datei muss alle DNS-Domänennamen Ihrer Organisation enthalten, einer pro Zeile. Bei einer typischen großen Universität wären dies Namen wie engineering.stateu.edu.
  4. Führen Sie ./webstor.py -g aus, um die Konfiguration anzuzeigen und die Datenbankfunktionalität zu bestätigen.
  5. Führen Sie ./webstor.py -tI <tsig file> -mI <net ranges file> -zI <domains file> aus. HINWEIS: Während des TSIG-Importteils dieses Prozesses werden Sie nach einer Domäne gefragt, die dem TSIG zugeordnet werden soll, sowie nach einem DNS-Server, der für diesen TSIG anvisiert werden soll. Dies liegt daran, dass die TSIG-Datei selbst diese Informationen nicht enthält. Geben Sie einfach eine Ihrer Domänen an, z. B. stateu.edu, und die IP-Adresse Ihres DNS-Servers. Die Informationen in der Domänenimportdatei, die später verarbeitet werden, überschreiben die Domänenzuordnung.
  6. WebStor ist nun bereit, Daten zu sammeln. Führen Sie ./webstor.py -z -m -r -w aus. Dies sammelt DNS-Einträge per Zonentransfer, scannt mit Masscan nach offenen Web-Ports, führt HTTP/HTTPS-Anfragen gegen alle Hosts mit offenen Web-Ports durch (die Obermenge der Hosts in Ihren Netzbereichen und der Hosts mit DNS-Einträgen außerhalb dieser Bereiche) und speichert die Antworten in der Datenbank. Die Option -w lädt auch die aktuellste Kopie der Wappalyzer-Webtechnologien-Datenbank von GitHub herunter.

Beispielverwendung

root@kitploit:~
# Suche nach einem String/Regex, der mit einer Webtechnologie verbunden ist:
./webstor.py -sP "content=\"wordpress 4.[7-9]"
# Eine Liste von Websites mit diesem Regex, erwartete Antworten von WordPress v4.7-9-Seiten,
# wird zurückgegeben.

# Um den Regex aus dem obigen Beispiel als benutzerdefinierten Fingerabdruck zu speichern, den Sie nach
# Namen abfragen können (und sich den Regex nicht jedes Mal merken müssen):
./webstor.py -c "wordpress4.7-9,content=\"wordpress 4.[7-9]"

# Nachdem der obige Befehl ausgeführt wurde, kann die Abfrage einfach mit folgendem Befehl durchgeführt werden:
./webstor.py -sC wordpress4.7-9

# Verwendung von WebStor zur Suche nach WordPress-Seiten über Wappalyzer-Definitionen:
./webstor.py -sW wordpress
# Eine Liste erreichbarer WordPress-Seiten in den Netzwerken Ihrer Organisation wird
# zurückgegeben. HINWEIS: Wappalyzer-Suchen können aufgrund der Anzahl der zu überprüfenden Eigenschaften
# langsamer sein als Muster-/Regex-Suchen.

Ergebnisse werden nach Name und IP angezeigt

Seiten werden basierend auf Antworten sowohl auf Namen als auch auf IP-Adressen abgefragt. Dies ist wichtig, da einige Webserver mehrere Websites unter mehreren Namen hosten. Andere Server liefern möglicherweise nur eine Standardseite oder eine Standardantwort des Hosting-Anbieters, wenn sie per IP aufgerufen werden (z. B. https://68.66.216.42), und eine tatsächliche geschäftskritische Website, wenn sie per Name aufgerufen wird (z. B. https://www.seekerdlp.com). Aus diesem Grund sehen Sie Abfrageergebnisse für beide, wenn Sie eine benannte Website haben, die auch ausgeliefert wird, wenn die IP des Webservers angefordert wird.

Ergebnisse aktuell halten

Es wird empfohlen, einen Cron-Job einzurichten, der WebStor täglich ausführt, sodass Ihre Abfrageergebnisse stets den aktuellen Zustand Ihres Netzwerks widerspiegeln.

Sichere Optionen

Wenn Sie nicht die standardmäßigen MariaDB-Anmeldedaten (root, leeres Passwort) verwenden möchten, können Sie die Option -q verwenden, um den Pfad zu einer Datei mit Anmeldedaten anzugeben. Die erste Zeile der Datei muss der Server sein, z. B. localhost. Die zweite Zeile muss der SQL-Benutzername sein. Die dritte Zeile muss das Passwort sein.

Wenn Sie Ihren TSIG-Schlüssel nicht in der Datenbank speichern möchten, können Sie die Option -tF verwenden, um den Pfad zu einer ACL-geschützten TSIG-Schlüsseldatei anzugeben.

Wenn Ihre Organisation mehrere TSIG-Schlüssel verwendet, müssen Sie diese in der Datenbank speichern. Sie können jeweils mit der Option -tI hinzugefügt werden, und Domänen können über die normalen Optionen hinzugefügt werden, wobei der entsprechende Schlüssel und Server angegeben werden.

Namensnennung

WebStor verwendet die Wappalyzer-Technologiedatenbank für vorab ausgefüllte, nach Namen indizierte Technologiesuchen in den gespeicherten Antworten von WebStor. Wappalyzer ist unter den Bedingungen der MIT-Lizenz lizenziert.

Besonderer Dank

  • Brandon Bailey <Twitter: @ge0stigm4> (Mitentwickler des ursprünglichen Konzepts)
  • Bob Harold (Beratung zu DNS)
  • Neamen Negash <nnegash@umich.edu> (Installationsprogramm)
  • afreudenreich (Mehrere Fehlerbehebungen und Verbesserungen)

Lizenz und Autor

WebStor wurde geschrieben von Ross Geerlings <rjgeer@umich.edu>, <ross@seekerdlp.com>.

WebStor ist unter den Bedingungen der MIT-Lizenz lizenziert, die unten wiedergegeben ist.

Die MIT-Lizenz

Copyright (c) 2020-2024 The University of Michigan Board of Regents.

Hiermit wird jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die "Software") erhält, kostenlos die Erlaubnis erteilt, die Software ohne Einschränkung zu nutzen, einschließlich und ohne Beschränkung der Rechte zur Verwendung, Vervielfältigung, Änderung, Zusammenführung, Veröffentlichung, Verteilung, Unterlizenzierung und/oder zum Verkauf von Kopien der Software, und Personen, denen die Software zur Verfügung gestellt wird, dies unter den folgenden Bedingungen zu gestatten:

Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.

DIE SOFTWARE WIRD OHNE MÄNGELGEWÄHR BEREITGESTELLT, AUSSCHLIESSLICH ODER STILLSCHWEIGEND, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND DER NICHTVERLETZUNG VON RECHTEN. IN KEINEM FALL SIND DIE AUTOREN ODER URHEBERRECHTSINHABER HAFTBAR FÜR JEGLICHE ANSPRÜCHE, SCHÄDEN ODER ANDERE VERPFLICHTUNGEN, SEI ES AUS VERTRAG, UNERLAUBTER HANDLUNG ODER ANDERWEITIG, DIE AUS ODER IM ZUSAMMENHANG MIT DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN GESCHÄFTEN MIT DER SOFTWARE ENTSTEHEN.

Tool herunterladen