
Erfasst Server-Fingerabdrücke, findet Exploits, scannt WebDAV. Macht vielleicht auch Kaffee, vielleicht auch nicht.
DAVScan ist ein schneller und leichter WebDAV-Scanner, der entwickelt wurde, um versteckte Dateien und Ordner auf DAV-fähigen Webservern zu entdecken. Der Scanner nutzt überprivilegierte/falsch konfigurierte WebDAV-Server oder Server, die anfällig für verschiedene Offenlegungs- oder Authentifizierungsumgehungs-Sicherheitslücken sind. Der Scanner versucht, den Zielserver zu identifizieren und dann den Server basierend auf den Ergebnissen einer PROPFIND-Anfrage an der Wurzel zu durchsuchen.
Wenn Sie sich tatsächlich die Zeit nehmen, meinen schrecklichen Code zu lesen, werden Sie feststellen, dass ich beschlossen habe, einen Teil des Kerns von davscan zu ändern, um Beautiful Soup zu verwenden, was libxml erfordert. Ich habe mich dazu entschieden, weil ich auf eine WIRKLICH schlechte DAV-Konfiguration gestoßen bin, die fast 500 MB XML-Daten zurückgegeben und die xmltree-Bibliothek zum Absturz gebracht hat. BS kann.. nun ja... mit dieser Menge an BS umgehen. Es wird etwas länger dauern, alles zu sammeln und zu analysieren, aber jetzt sollte DAVScan in der Lage sein, so viel Mist zu verarbeiten, wie Sie hineinschaufeln können (vorausgesetzt, Ihnen geht nicht der Speicher aus).
Server-Header-Fingerprinting - Wenn der Webserver einen Server-Header zurückgibt, kann davscan basierend auf der Antwort nach öffentlichen Exploits suchen.
Grundlegendes DAV-Scannen mit PROPFIND - Schnellsuche, um alles zu finden, was über DAV sichtbar sein könnte.
IIS/6.0 Unicode-Auth-Bypass - Funktioniert mit GET für Dateien und PROPFIND für Ordner. Nicht vollständig getestet, daher die Arbeit überprüfen.
Ausschluss von DoS-Exploit-Ergebnissen - Sie können Denial-of-Service-Exploits von den searchsploit-Ergebnissen ausschließen.
Ausschluss von MSF-Modulen aus Exploit-Ergebnissen - Ein benutzerdefiniertes searchsploit ist dafür im Repository enthalten. Überschreiben Sie entweder das vorhandene searchsploit oder sichern und ersetzen Sie es. Diese Funktion wird möglicherweise im echten searchsploit-Skript landen oder auch nicht.
Proxy-fähig - Sie können einen http(s)-Proxy angeben. Dies übergibt einen Proxy an die Requests-Session. Ich habe dies hinzugefügt, wegen der Notwendigkeit der NTLM-Authentifizierung, die Requests zu diesem Zeitpunkt nicht leisten kann.
Authentifizierung - Derzeit funktioniert nur die Basisauthentifizierung. Wenn Sie etwas wie Tokenisierung oder etwas Verrücktes benötigen, lassen Sie es mich wissen und ich werde daran arbeiten. Es ist jedoch keine hohe Priorität, weitere Funktionalität hinzuzufügen. Die meisten einmaligen Authentifizierungsanforderungen können mit Burp und dem Proxy-Flag erledigt werden.
X-Header-Fingerprinting - Ist vorhanden, funktioniert aber nicht richtig. Vielleicht funktioniert es jetzt, aber noch nicht vollständig getestet.
Meine Fähigkeit, Dinge ordentlich zu dokumentieren - Als ich das native XML gegen Beautiful Soup ausgetauscht habe, kamen einige Anforderungen, von denen ich nicht wusste, dass ich sie Ihnen mitteilen sollte. Sie sollten das sowie die C-Bibliothek libxml installieren, weil es die Dinge schneller macht. Es macht auch nicht ins Bett, wenn man ihm ein halbes Gigabyte WebDAV-XML füttert. Fragen Sie mich ruhig, wie ich das herausgefunden habe.
Wahrscheinlich noch viel mehr, das ich nicht getestet habe, und was auch immer die Probleme auf Github sein mögen, vorausgesetzt, die Leute kümmern sich darum, mir zu sagen, was doof ist..
Eine SQLite-Datenbank anstelle einer flachen Datei erstellen - Derzeit geht die Ausgabe in eine Datei mit ein paar Hinweisen auf dem Bildschirm, nur um zu zeigen, dass es funktioniert.
Kampfpilot werden! - Ich habe einmal Top Gun gesehen und jetzt bin ich total begeistert davon, zur Air Force zu gehen und den Traum zu leben. „Ich spüre das Bedürfnis nach Geschwindigkeit!“
Wussten Sie, dass Sie mir helfen können, meinen schlechten Code zu reparieren? Es könnte wie Ihr Tagesjob sein, aber ohne Bezahlung und mit ein bisschen mehr Anerkennung, da ich fast nichts von Ihrer harten Arbeit hier profitiere. Positiv ist, dass ich nicht verlange, dass Sie am Wochenende hereinkommen, um aufzuholen. Ich werde mich nicht einmal beschweren, wenn Sie Code einreichen, den Sie betrunken geschrieben haben. Falls Sie es nicht bemerkt haben, das ist der Zeitpunkt, an dem ich einige meiner besten Arbeiten mache. Reichen Sie nur keinen dummen Mist wie das Korrigieren eines Tippfehlers ein. Die sind absichtlich da.
Usage: davscan.py [-h] [-D DEPTH] [-a AUTH] [-u USER] [-p PASSWORD]
[-o OUTFILE] [-P PROXY] [-d] [-m] url
positional arguments:
url url of the server to scan; https://foo.com:8443/
optional arguments:
-h, --help show this help message and exit
-D DEPTH, --depth DEPTH How many folders deep should davscan go (default is infinity); -d 1 -a AUTH, --auth AUTH Basic authentication required; -a basic -u USER, --user USER user; -u derpina -p PASSWORD, --password PASSWORD password; -P 'P@$$W0rd' -o OUTFILE, --out OUTFILE output file. defaults to; -o /tmp/davout -P PROXY, --proxy PROXY proxy server if needed.; -P http://user:[email protected]:8080/ -d, --no-dos exclude DoS modules -m, --no-msf exclude MSF modules from results