Rilevamento di POODLE e BEAST usando nmap

3

Hai bisogno del tuo parere di un esperto per quanto segue -

  1. POODLE: possiamo dedurre se un server è vulnerabile al barboncino se lo è supporta il protocollo sslv3 e utilizza CBC Cipher.

  2. BEAST - Qualsiasi server che supporta sslv3 OR TLS 1.0 e utilizza CBC Ciphers.

La mia comprensione è corretta? Capisco che questi attacchi siano sfruttati sul lato client, ma comunque se un server può essere reso vulnerabile con qualsiasi mezzo sia vulnerabile.

Ora arriva la parte di rilevamento: il server AFAIK non invia l'elenco completo di semi cipher a     il client ma invia solo quello selezionato in base ai semi di crittografia     presentato dal cliente.

Ora, usando lo script nmap ssl_enum_ciphers , possiamo elencare le suite di crittografia utilizzate dal server.

Questo è ciò che la documentazione di nmap dice sullo script ssl_enum_ciphers:

This script repeatedly initiates SSLv3/TLS connections, 
each time trying a new cipher or compressor while recording
whether a host accepts or rejects it.
The end result is a list of all the ciphersuites and compressors that a server accepts.

Some servers use the client's ciphersuite ordering:
they choose the first of the client's offered suites that they also support.
Other servers prefer their own ordering:
they choose their most preferred suite from among those the client offers.
In the case of server ordering, the script makes extra probes to discover the server's sorted preference list.
Otherwise, the list is sorted alphabetically.

Quindi, se il cipher preferito del server è RC4 e il client fornisce un codice CBC (Solo uno) selezionerà CBC o rifiuterà la richiesta?

Se sceglie CBC allora ir-rispettivo dell'ordine di cifratura (output di nmap) allora è vulnerabile (?).

Se sceglie dall'ordinazione del client ciphersuite, allora sicuramente è vulnerabile (se accetta il cifrario CBC) (?).

Sulla base delle dichiarazioni di cui sopra, possiamo dedurre quanto segue -

  1. Se il server supporta sslv3 e abbiamo un cifrario CBC ovunque nel file elenco di cifratura fornito da nmap, possiamo dire che il server è vulnerabile a POODLE?
  2. Se il server supporta sslv3 / tls 1.0 e abbiamo un codice CBC ovunque nella lista di cifratura fornita da nmap, possiamo dire che il il server è vulnerabile a BEAST?

Quello che sto cercando di capire è che sulla base dell'output di nmap posso inferire se è vulnerabile solo vedendo se contiene cifratura CBC o c'è qualche altra sofisticazione?

    
posta Ouney 18.02.2016 - 19:31
fonte

1 risposta

1

So, if the server's preferred cipher is RC4 and client provides a CBC cipher (Only one) will it select CBC or rejects the request?

Se il server supporta il codice CBC fornito dal client, verrà utilizzato il codice CBC. Altrimenti, la connessione fallirà.

If it chooses CBC then ir-respective of the cipher ordering (nmap's output) then it is vulnerable (?). If it chooses from client's ciphersuite ordering then definitely it is vulnerable (if it accepts CBC cipher) (?).

Ogni connessione SSLv3 a questo server che utilizza il cifrario CBC sarà vulnerabile a POODLE. Per BEAST è un po 'più complicato in quanto i browser possono implementare la mitigazione lato client.

i) If server supports sslv3 and we have a CBC cipher anywhere in the cipher list given by nmap, can we say that the server is vulnerable to POODLE?

No. Per essere vulnerabili a POODLE, il server deve avere il supporto per un cifrario CBC usando SSLv3. Se il server supporta solo RC4 con SSLv3 e i cifrari CBC sono supportati solo utilizzando TLSv1 +, non sarà vulnerabile a POODLE.

ii) If server supports sslv3/tls 1.0 and we have a CBC cipher anywhere in the cipher list given by nmap, can we say that the server is vulnerable to BEAST?

Sì, ma l'attacco BEAST non rappresenta più un problema in quanto ogni browser moderno implementa la mitigazione del lato client dell'attacco.

What i am trying to understand is that based on nmap's output can i infer if it is vulnerable just seeing if it contains CBC cipher or is there any other sophistication involved?

Infine, sì:

  • SSLv3 + CBC = POODLE e BEAST
  • TLSv1.0 + CBC = BEAST

Esempio 1 , la seguente configurazione è vulnerabile a BEAST con TLSv1.0 se viene utilizzata una delle suite di crittografia CBC:

PORT    STATE SERVICE REASON
443/tcp open  https   syn-ack
| ssl-enum-ciphers:
|   SSLv3:
|     ciphers:
|       TLS_RSA_WITH_RC4_128_MD5 (rsa 2048) - A
|       TLS_RSA_WITH_RC4_128_SHA (rsa 2048) - A
|     compressors:
|       NULL
|     cipher preference: server
|   TLSv1.0:
|     ciphers:
|       TLS_RSA_WITH_RC4_128_MD5 (rsa 2048) - A
|       TLS_RSA_WITH_RC4_128_SHA (rsa 2048) - A
|       TLS_RSA_WITH_3DES_EDE_CBC_SHA (rsa 2048) - C
|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 256) - A
|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 256) - A
|     compressors:
|       NULL
|     cipher preference: server
|_  least strength: C

Esempio 2 , la seguente configurazione è vulnerabile solo a POODLE e BEAST su SSLv3:

PORT    STATE SERVICE REASON
443/tcp open  https   syn-ack
| ssl-enum-ciphers:
|   SSLv3:
|     ciphers:
|       TLS_RSA_WITH_3DES_EDE_CBC_SHA (rsa 2048) - C
|     compressors:
|       NULL
|     cipher preference: server
|   TLSv1.0:
|     ciphers:
|       TLS_RSA_WITH_RC4_128_MD5 (rsa 2048) - A
|       TLS_RSA_WITH_RC4_128_SHA (rsa 2048) - A
|     compressors:
|       NULL
|     cipher preference: server
|_  least strength: C

Esempio 3 dalla documentazione di nmap, la configurazione è vulnerabile a POODLE su SSLv3 e BEAST su SSLv3 e TLCv1.0 è una suite di crittografia CBC utilizzata:

PORT    STATE SERVICE REASON
443/tcp open  https   syn-ack
| ssl-enum-ciphers:
|   SSLv3:
|     ciphers:
|       TLS_RSA_WITH_RC4_128_MD5 (rsa 2048) - A
|       TLS_RSA_WITH_RC4_128_SHA (rsa 2048) - A
|       TLS_RSA_WITH_3DES_EDE_CBC_SHA (rsa 2048) - C
|     compressors:
|       NULL
|     cipher preference: server
|   TLSv1.0:
|     ciphers:
|       TLS_RSA_WITH_RC4_128_MD5 (rsa 2048) - A
|       TLS_RSA_WITH_RC4_128_SHA (rsa 2048) - A
|       TLS_RSA_WITH_3DES_EDE_CBC_SHA (rsa 2048) - C
|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 256) - A
|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 256) - A
|     compressors:
|       NULL
|     cipher preference: server
|_  least strength: C
    
risposta data 19.02.2016 - 12:24
fonte

Leggi altre domande sui tag