
Identifica i server, trova exploit, scansiona WebDAV. Potrebbe anche preparare il caffè, o forse no.
DAVScan è uno scanner webdav veloce e leggero progettato per scoprire file e cartelle nascoste su server web con DAV abilitato. Lo scanner funziona sfruttando server WebDAV con privilegi eccessivi/malconfigurati o server vulnerabili a varie vulnerabilità di divulgazione o bypass dell'autenticazione. Lo scanner tenta di identificare il server di destinazione e poi esegue una scansione a ragno basata sui risultati di una richiesta PROPFIND radice.
Se effettivamente ti prendi il tempo di leggere il mio codice schifoso, noterai che ho deciso di cambiare parte del core di davscan per usare Beautiful Soup che richiederà libxml. Ho deciso di farlo a causa di una configurazione DAV veramente pessima che restituiva quasi 500 MB di dati XML e ha ucciso la libreria xmltree. BS può... beh... gestire tutte quelle schifezze. Ci vorrà un po' più di tempo per raccogliere e analizzare tutto, ma ora DAVScan dovrebbe essere in grado di gestire tutta la merda che puoi gettargli (supponendo che non finisca la memoria).
Server header fingerprinting - Se il server web restituisce un header server, davscan può cercare exploit pubblici basati sulla risposta.
Basic DAV scanning with PROPFIND - Scansione rapida per trovare qualsiasi cosa visibile da DAV.
IIS/6.0 Unicode Auth Bypass - Funziona usando GET per i file e PROPFIND per le cartelle. Non completamente testato, quindi ricontrolla il lavoro.
Exclusion of DoS exploit results - Puoi escludere gli exploit denial of service dai risultati di searchsploit.
Exclusion of MSF modules from exploit results - È incluso un searchsploit personalizzato nel repository per questo. Sovrascrivi il searchsploit esistente o fai un backup e sostituisci. Questa funzionalità potrebbe o meno finire nel vero script searchsploit.
Proxy Capable - Puoi specificare un proxy http(s) da usare. Questo passerà un proxy alla sessione delle richieste. L'ho aggiunto a causa della necessità di autenticazione NTLM che requests non può gestire al momento.
Authentication - Solo autenticazione di base funziona per ora. Se hai bisogno di qualcosa come tokenizzazione o cose strane, fammi sapere e ci lavorerò. Non è una priorità alta aggiungere ulteriori funzionalità a questo. La maggior parte delle esigenze di autenticazione una tantum possono essere gestite usando burp e il flag proxy.
X header fingerprinting - È presente, ma non funziona correttamente. Potrei averlo fatto funzionare ora, ma non ancora completamente testato.
La mia capacità di documentare le cose correttamente - Quando ho sostituito il xml nativo con Beautiful Soup, che è arrivato con alcuni requisiti che non sapevo di doverti dire. Dovrai installarlo insieme alla libreria C libxml perché rende le cose più veloci. Inoltre non fa cilecca se gli dai mezzo gigabyte di WebDAV XML. Avanti, chiedimi come l'ho scoperto.
Probabilmente molto altro che non ho testato e qualsiasi problema ci sia su github, assumendo che le persone si preoccupino di dirmi cosa è stupido..
Costruire un database sqlite invece di file flat - Attualmente l'output va su file con un paio di messaggi a schermo solo per mostrare che funziona.
Diventare un pilota da caccia! - Ho visto Top Gun una volta e ora sono davvero entusiasta di andare nell'Aeronautica e vivere il sogno. "I feel the need for speed!"
Lo sapevi che puoi aiutare a sistemare il mio codice schifoso al posto mio? Potrebbe essere come il tuo lavoro quotidiano ma senza paga e con un po' più di riconoscimento dato che io guadagno quasi nulla dal tuo duro lavoro qui. Lato positivo, non ti chiederò di venire nel weekend per recuperare. Diavolo, non mi lamenterò nemmeno se invii codice scritto da ubriaco. Nel caso non l'avessi notato, è quando faccio del mio meglio. Basta non inviare stupidaggini come correggere un errore di battitura. Quelli sono lì di proposito.
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