Test dell'autenticazione http via netcat

2

Attualmente sto cercando di rintracciare quello che penso sia un falso positivo da Nessus, i miei tentativi di netcat nel dispositivo stanno fallendo, ma credo che il servizio sia comunque chiuso e Nessus è Nessus.

Questo ha sollevato una domanda che ho avuto per un po 'e ogni volta che cerco su Google, ottengo 9001 risposte a cose diverse ... Come fanno gli scanner vuln ad autenticare i servizi web usando bash o cmd. So che può essere fatto con netcat o ncat, ma non riesco a trovare risultati adeguati. Come è fatto?

modifica: ho dimenticato di dire che questo è http.

    
posta g3k 24.09.2012 - 18:03
fonte

3 risposte

5

Se vuoi testare un protocollo con netcat, devi manualmente mandare tutto ciò che un normale client invierà. Per HTTP, sarebbe simile a questo:

GET / HTTP/1.1
Host: example.com
Authorization: Basic QWxhZGluOnNlc2FtIG9wZW4=
User-Agent: Some call me... Tim

Ovviamente, dovresti cambiare tutti i campi per riflettere ciò che vorresti inviare. Stai meglio usando uno strumento che sa come parlare HTTP.

Sono parziale al pacchetto lwp-request di perl, che molte persone conoscono semplicemente come GET e POST comandi. Sarebbe simile a questo:

GET -USse -C someuser:somepass http://example.com/

Vedi la pagina man per le opzioni, ma -U = Intestazioni richiesta, -S = Catena stato, -s = Codice stato, -e = intestazioni risposta, -C = credenziali

È semplice, capace e flessibile.

curl è anche un pacchetto molto popolare per fare questo genere di cose e può abbinare la funzionalità lwp-request praticamente point-for-point e poi alcuni, ma è più complesso. Lo stesso vale per wget , un'altra opzione popolare.

    
risposta data 24.09.2012 - 19:09
fonte
0

MODIFICA: se si sta testando l'autenticazione HTTP, utilizzare un browser o curl sulla riga di comando.

Affinché lo scanner di vulnerabilità di rete sia utile, deve essere in grado di interagire con un'ampia varietà di protocolli. Non hai fatto cenno su quale protocollo hai a che fare, quindi nessuno può aiutarti con le specifiche.

In generale, puoi attivare wireshark, filtrare per la porta di interesse e intercettare i pacchetti che Nessues sta producendo. Se questo è su TCP, netcat può essere utilizzato per riprodurre alcune di queste richieste. Netcat utilizzato da un essere umano può essere molto lento e causare timeout. Python, o un altro linguaggio di scripting può anche essere usato per riprodurre il traffico catturato e può farlo molto più velocemente di un umano che usa netcat.

    
risposta data 24.09.2012 - 18:31
fonte
0

Altre risposte hanno parlato dei client per testare l'autenticazione HTTP, e sono buoni, ma guardando la formulazione della tua domanda, sembra che la tua domanda di base sia se la porta è aperta o meno (ad es. è spento ").

Un portscanner come nmap ti permetterà di controllare certe porte in particolare. Che è quello che usa Nessus, ovviamente. Potresti anche prendere in considerazione l'esecuzione di tcpdump e la registrazione della scansione, quindi puoi tornare indietro e vedere quali porte stavano rispondendo a Nessus; a volte puoi leggere i rapporti nel senso che un servizio è lì quando in realtà i risultati riflettono un listener di rete diverso da quello a cui stai pensando.

    
risposta data 24.09.2012 - 19:53
fonte

Leggi altre domande sui tag