Quanto è sfruttabile la recente vulnerabilità di UseRoaming SSH?

18

Recentemente ho sentito parlare di un bug grave in un client OpenSSH (CVE-2016-0777 e CVE-2016-0778 ) che se ho capito correttamente potrebbe causare l'esecuzione di codice in modalità remota. Quanto sarebbe difficile per un man-in-the-middle attivo sfruttarlo?

    
posta d33tah 14.01.2016 - 19:53
fonte

2 risposte

22

Come ha detto Steve Sether, questo non è un attacco man-in-the-middle .

Quanto è pericoloso?

  1. In alcuni casi, sono possibili attacchi con buffer overflow.
  2. Le tue chiavi SSH private possono essere divulgate a un utente malintenzionato.

In base alla pagina:

SSH roaming enables a client, in case an SSH connection breaks unexpectedly, to resume it at a later time, provided the server also supports it. The OpenSSH server doesn't support roaming, but the OpenSSH client supports it (even though it's not documented) and it's enabled by default.

Per i principianti, questa funzione è abilitata di default in OpenSSH. Ancora peggio, non è documentato nella pagina man di ssh_config(5) .

Si noti che si tratta di due exploit:

  1. CVE-2016-0777
    • Una perdita di informazioni (divulgazione della memoria) può essere sfruttata da un ladro Server SSH per ingannare un cliente in perdite di dati sensibili dal memoria del cliente, incluse ad esempio le chiavi private.
  2. CVE-2016-0778
    • Può verificarsi anche un overflow del buffer (che conduce alla perdita del descrittore di file) sfruttato da un server SSH canaglia, ma a causa di un altro bug nel codice è probabilmente non sfruttabile, e solo a determinate condizioni (non la configurazione predefinita), quando si utilizza ProxyCommand, ForwardAgent o ForwardX11.

Per quanto riguarda l'attacco di overflow del buffer, si noti che è vulnerabile solo in determinate condizioni, quando ProxyCommand e ForwardAgent o ForwardX11 sono abilitati. Quelle sono opzioni non predefinite, quindi mentre è possibile non verranno sfruttate nella maggior parte dei casi, è è possibile.

In caso di successo di un attacco di overflow del buffer, supponiamo che tutto ciò che è accessibile dal client SSH sia stato violato.

Ulteriori informazioni

Vorrei leggere Analisi dei Qualys . Questo documento spiegherà questo attacco in grande dettaglio molto meglio della maggior parte di noi, incluso me stesso.

    
risposta data 14.01.2016 - 20:41
fonte
8

could cause remote code execution

Nessuna esecuzione di codice in modalità remota. Nessun uomo, nel mezzo, come chiarito da Mark. Tutto è spiegato nel Analisi Qualys come già collegato.

Ma in breve:

La cosa vulnerabile è l'implementazione della funzione Roaming nel client . Il client memorizza il buffer di non inviare byte se la connessione è sospesa. Il server vulnerabile e mal progettato può costringere il client a inviare di nuovo più di quello che è nel buffer e quindi potrebbe ottenere la tua chiave privata, se effettivamente è memorizzata su alcuni indirizzi (dovrebbe non essere in condizioni normali).

L'analisi è presentata su versione specifica (openssh-6.4), che non è usata quasi da nessuna parte oggi e la maggior parte dei casi d'uso non sono direttamente applicabili alle versioni attualmente utilizzate. Inoltre alcuni dei problemi sono specifici dei sistemi BSD, in cui l'azzeramento della memoria non funzionava come previsto. Non sono riuscito a ottenere nessuna delle chiavi su alcun sistema attuale che avevo in giro.

Il problema più grande è la cosa che c'era anche una cosa del genere, funzionalità non documentata , che era vulnerabile in tale forma. E che era lì da così tanto tempo (introdotto nel 2004) e che era attivato per impostazione predefinita. Questo potrebbe essere stato utilizzato in modo errato in passato, ma non senza la conoscenza dell'utente (se la sessione era interattiva). Se vedessi

[connection suspended, press return to resume]

Immagino che diventerai un po 'sospettoso.

    
risposta data 14.01.2016 - 21:01
fonte

Leggi altre domande sui tag