
Apre 1K+ indirizzi IP o risultati di ricerca Shodan e tenta di effettuare l'accesso.
Apri simultaneamente i risultati di ricerca di Shodan, un IP specificato, un intervallo di IP, un dominio o un elenco di IP da un file di testo e stampa lo stato e il titolo della pagina, se applicabile. Aggiungi le opzioni -u e -p per tentare l'accesso alla pagina: cerca prima un modulo di login e, in mancanza di questo, tenta l'HTTP Basic Auth.
Usa -f SEARCHSTRING per cercare una determinata stringa nella risposta HTML al fine di verificare se l'autenticazione è riuscita. Registra tutti i dispositivi che rispondono usando il termine di ricerca di Shodan o gli IP/dominio target + _results.txt. Un'avvertenza sulla ricerca nell'HTML della pagina di risposta: alcune pagine di login tramite modulo restituiscono una risposta JSON dopo una richiesta di autenticazione, piuttosto che il sorgente HTML della pagina post-login. Spesso puoi determinare se hai avuto successo semplicemente usando -f "success" in scenari come questo.
Il timeout predefinito per le richieste è di 15 secondi. Invia lotti di 1000 richieste in simultanea, che possono essere regolati usando l'opzione -c. Da notare che Shodan consente solo la prima pagina di risultati (100 host) se stai usando la loro chiave API gratuita. Se disponi della loro chiave API professionale, puoi specificare il numero di pagine di risultati di ricerca da testare con l'argomento -n NUMBER_OF_PAGES. Di default controllerà solo la pagina 1.
Python 2.7
Linux moderno
Chiave API Shodan (solo se fornisci l'argomento -s SEARCHTERM)
Utilizzo più semplice:
python device-pharmer.py -s 'dir-300' -a Wutc4c3T78gRIKeuLZesI8Mx2ddOiP4
Cerca "dir-300" su Shodan usando la chiave API Wutc4c3T78gRIKeuLZesI8Mx2ddOiP4. Stampa l'IP e il titolo della pagina di risposta, se questa esiste.
python device-pharmer.py -s 'dd-wrt' -a Wutc4c3T78gRIKeuLZesI8Mx2ddOiP4 -u admin -p password -n 5 -f ">Advanced Routing<" --proxy 123.12.12.123:8080 --timeout 30
Cerca "dd-wrt" su Shodan usando la chiave API fornita e tenta di accedere ai risultati con il nome utente "admin" e la password "password". Raccogli solo le prime 5 pagine (500 host) dei risultati di Shodan e controlla se l'HTML della pagina di destinazione contiene la stringa ">Advanced Routing<". Stampa "* MATCH *" insieme all'IP e al titolo della pagina nell'output e registra se la stringa viene trovata. Infine, usa un proxy HTTP su 123.12.12.123:8080 per tutte le richieste e imposta il timeout a 30s.
python device-pharmer.py -t 192.168.0-2.1-100 -c 100
Indicare come target 192.168.0-2.1-100 dice allo script di aprire simultaneamente 192.168.0.1-101, 192.168.1.1-101 e 192.168.2.1-101 e di raccogliere lo stato e il titolo delle pagine di risposta. -c 100 limiterà la concorrenza a 100 pagine alla volta, quindi lo script attraverserà 3 gruppi di 100 IP ciascuno. Poiché il timeout predefinito all'interno dello script è di 15 secondi, serviranno circa ~45 secondi per completare.
python device-pharmer.py -t www.reddit.com/login -ssl -u sirsmit418 -p whoopwhoop -f 'tattoos'
Prova ad accedere a www.reddit.com/login usando specificamente HTTPS con il nome utente sirsmit418 e la password whoopwhoop. Cerca il testo "tattoos", correlato a un subreddit a cui sei iscritto, nell'HTML della risposta per verificare il successo dell'autenticazione.
python device-pharmer.py --ipfile list_of_ips.txt
Testa ogni IP da un file di testo contenente IP separati da newline.
-a APIKEY: usa questa chiave API quando cerchi su Shodan (necessaria solo in combinazione con -s)
-c CONCURRENT: invia un numero specificato di richieste in simultanea; default=1000
-f FINDTERMS: cerca la stringa dell'argomento nell'HTML di ogni risposta; in caso di corrispondenza stampala e registrala
--ipfile IPTEXTFILE: testa ogni IP in un elenco di IP separati da newline contenuto nel file di testo specificato
-n NUMPAGES: esamina il numero specificato di pagine di risultati di ricerca di Shodan raccogliendo gli IP; 100 risultati per pagina
-p PASSWORD: tenta di accedere usando questa password
--proxy PROXY: usa questo proxy per effettuare le richieste; per accedere al proxy con HTTP Basic fai qualcosa come user:[email protected]:8080
-s SEARCHTERMS: cerca i termini su Shodan e stampa ogni indirizzo IP, se la pagina ha restituito una risposta e, in tal caso, stampa il titolo della pagina restituita (segue i redirect)
-ssl: invia specificamente richieste HTTPS a tutti i target
-t IPADDRESS/DOMAIN/IPRANGE: prova a contattare questo dominio, IP o intervallo di IP invece di usare Shodan per popolare l'elenco dei target e restituisci le informazioni sulla risposta
--timeout TIMEOUT: imposta il timeout per ogni URI in secondi; il default è 15
-u USERNAME: tenta di accedere usando questo nome utente
Copyright (c) 2014, Dan McInerney Tutti i diritti riservati.
La ridistribuzione e l'uso in forma sorgente e binaria, con o senza modifica, sono consentiti a condizione che vengano soddisfatte le seguenti condizioni:
QUESTO SOFTWARE È FORNITO DAI TITOLARI DEL COPYRIGHT E DAI CONTRIBUTORI "COSÌ COM'È" E QUALSIASI GARANZIA ESPRESSA O IMPLICITA, INCLUSI, MA NON LIMITATI A, LE GARANZIE IMPLICITE DI COMMERCIABILITÀ E IDONEITÀ PER UN PARTICOLARE SCOPO, VIENE DECLINATA. IN NESSUN CASO SARÀ RESPONSABILE PER QUALSIASI DANNO DIRETTO, INDIRETTO, INCIDENTALE, SPECIALE, ESEMPLARE O CONSEQUENZIALE (INCLUSI, MA NON LIMITATI A, L'APPROVVIGIONAMENTO DI BENI O SERVIZI SOSTITUTIVI; LA PERDITA DI USO, DATI O PROFITTI; O L'INTERRUZIONE DELL'ATTIVITÀ) COMUNQUE CAUSATO E SU QUALSIASI TEORIA DI RESPONSABILITÀ, SIA IN CONTRATTO, RESPONSABILITÀ OGGETTIVA O ILLECITO (INCLUSA LA NEGLIGENZA O ALTRO) DERIVANTE IN QUALSIASI MODO DALL'USO DI QUESTO SOFTWARE, ANCHE SE AVVISATI DELLA POSSIBILITÀ DI TALI DANNI.