Black-box fuzzing una porta TCP che esegue un'applicazione sconosciuta

18

Sto cercando una guida per testare un servizio che ho trovato in esecuzione su un server di destinazione. Sto facendo un pen-test di "black-box" e la compagnia è uno di quei tipi "io-non-voglio-dirti-nulla-di-qualsiasi", quindi non ci diranno quale servizio è in esecuzione.

NMap ha rilevato una porta aperta e ha suggerito che si trattava di un servizio SIP, tuttavia dopo aver provato un numero di diversi attacchi / client SIP, quasi certamente non lo è (la casella che sto testando dovrebbe anche essere solo un server web).

Non ho avuto molta esperienza con le porte TCP di fuzzing prima e da quello che ho trovato sembra che tu abbia bisogno di alcune informazioni sul protocollo prima di poter avviare la fuzzing (un modello di i tipi). Inoltre, è richiesto anche un "dizionario" di cose diverse da lanciare al servizio (che di solito è rilevante per il tipo di applicazione testata). Cosa posso fare se non ho nessuna di queste cose?

Dal momento che non so nulla dell'applicazione e di cosa si aspetta, sembra che non possa eseguire nulla contro di esso. È corretto? Mi manca qualcosa di ovvio qui che ti aiuterà?

Modifica : per essere chiari, esiste anche un server Web Apache + Tomcat in esecuzione su 443 e questa è una finestra Linux. Quella parte non è un problema, come ho già provato. È solo questo altro porto "casuale" di cui non ho idea.

    
posta NULLZ 06.11.2013 - 07:06
fonte

3 risposte

12

Hai ragione: tecnicamente, fuzzing è solitamente considerato come l'invio di richieste / dati non validi o casuali, è implicito che tu sai cosa stai testando per "interrompere" l'input. In qualche terminologia (PDF) white-box fuzzing è il close to former (input generato) e black-box fuzzing (input casuale) è l'ultimo.

Quello che stai tentando è meglio descritto come " black box testing ". Il problema generale qui è che mentre alcuni protocolli (SMTP, IMAP) offrono liberamente dettagli con banner, o alcuni (HTTP) sono eccessivamente loquaci sulle trasgressioni di protocollo, ci sono molti che hanno bisogno di un handshake di protocollo magico (LDAP , RPC e molti altri).

Prova nuovamente nmap , ma con il rilevamento della versione attivato fino a 11 (in realtà solo fino a 9, ma non importa):

nmap -sV --version-all --all-ports -p $port $host

nmap -vvv -A --reason --script="+(safe or default) and not broadcast" -p $port $host

Nota nel secondo esempio il prefisso dello script di + - questo significa eseguire gli script anche se normalmente non verrebbero eseguiti. Molti plug-in non funzioneranno comunque, dovrai leggere attentamente l'output. Speriamo che questo ti fornisca alcune informazioni extra (assicurati di utilizzare un recente nmap , gli script spesso si bloccano nelle vecchie versioni).

Non hai fornito la porta o la ragione di nmap, quindi non posso spiegare perché ha concluso che si trattava di SIP, la mia ipotesi migliore è che abbia risposto a una richiesta di GET o OPTIONS oppure è la porta 5060 o 5061 .

Un consiglio più generale:

  • it dovrebbe essere facile da confermare o negare l'esistenza di un server web pubblico, ridurre il tasso nmap con -T1 o -T0 nel caso in cui un IPS ti blocchi.
  • assicurati di scansionare SSL con uno strumento recente per supportare correttamente le versioni e le opzioni TLS contemporanee

Infine, ci sono altri scanner per applicazioni là fuori, amap non è quasi completo e nmap , ma vale la pena sparare.

    
risposta data 06.11.2013 - 14:53
fonte
8

Magari lanciare Wireshark e vedere se uno dei più popolari dissettori del protocollo Wireshark identifica con successo il traffico mentre interrogate / sondate il servizio (cioè usate la funzione "decodifica come" per forzare Wireshark a decodificare i pacchetti come un particolare protocollo) .

Elenco attuale dei dissettori: link

Se si tratta di un protocollo privato, può essere possibile eseguire il reverse engineering - > link .

    
risposta data 06.11.2013 - 09:02
fonte
0

Se ti trovi di fronte a una porta con un servizio sconosciuto, puoi provare amap . Inoltre, p0f potrebbe anche aiutarti. Questi strumenti sono stati progettati esattamente per lo scopo di raccogliere informazioni, quindi può essere il tuo primo tentativo.

    
risposta data 08.06.2017 - 10:30
fonte

Leggi altre domande sui tag