Le informazioni sulla password scaricate dalla tabella degli utenti MySQL sono sensibili?

21

Supponiamo di aver scaricato l'elenco utenti MySQL usando

SELECT user, host, password, ssl_type FROM mysql.user;

Il risultato è il seguente:

+------------------+-----------+-------------------------------------------+----------+
| user             | host      | password                                  | ssl_type |
+------------------+-----------+-------------------------------------------+----------+
| admin            | %         | *blablablablablablablablablablablablablaa | ANY      |
+------------------+-----------+-------------------------------------------+----------+

Questa informazione dovrebbe essere considerata sensibile? Un utente malintenzionato può utilizzare le informazioni sulla password per accedere al database MySQL? Sembra che la password sia hash, quindi non è direttamente utilizzabile, ma forse può ancora essere sfruttata in qualche modo, ad es. per aiutare a creare tavoli arcobaleno per il mio server, o qualcosa del genere?

    
posta Suma 30.08.2018 - 15:13
fonte

5 risposte

39

Sì, sono informazioni sensibili. È una perdita di hash della password.

Gli hacker forniranno queste informazioni a un'applicazione bruteforce (ce ne sono alcune su misura solo per MySQL) e recuperano la password.

Non solo questo, ma % sul campo host significa che se la tua porta MySQL (3306 per impostazione predefinita) non è protetta da firewall, l'utente malintenzionato può accedervi come admin da qualsiasi posizione.

Considera di bloccare l'account admin solo per localhost e non rivelare mai un hash della password, indipendentemente dalla tua sicurezza nella difficoltà di interrompere tale hash.

    
risposta data 30.08.2018 - 15:28
fonte
9

Non solo le password sono intrinsecamente sensibili (come le altre risposte indicano giustamente come il rischio principale) ... ma le informazioni che contengono sono spesso anche sensibili .

Una volta che gli hash sono incrinati, molte password contengono compleanni, nomi di bambini, numeri di telefono, risposte de facto a domande di sicurezza, indirizzi stradali ... anche numeri di previdenza sociale!

Ricordiamo ciò che conta per noi - e ciò che è personale per noi. Questo rende le password con un ottimo UX ... ma sono terribili dal punto di vista della sicurezza.

Questa psicologia della selezione delle password dovrebbe essere considerata un limite. Dal momento che molti utenti scelgono le password in questo modo, dovrebbero essere gestite e protette di conseguenza.

    
risposta data 30.08.2018 - 17:48
fonte
3

È possibile ottenere la password originale da un hash utilizzando uno strumento di cracking della password, come John the Ripper o < a href="https://hashcat.net/hashcat/"> hashcat . Questi strumenti semplicemente provano un sacco di password in un attacco a forza bruta. Questo potrebbe richiedere molto tempo a seconda della complessità della password.

    
risposta data 30.08.2018 - 16:20
fonte
0

Sì, è sensibile. Un utente malintenzionato può tentare di "crackare" l'hash tramite i tentativi bruteforce o gli attacchi di dizionario. In tutti i casi che ho visto le password di MySQL sono salate, ma se non sono una tabella hash pre-calcolata o tabelle arcobaleno possono essere utilizzate per accelerare il processo

Inoltre, se tale hash è stato ottenuto attraverso una vulnerabilità di SQL injection (altamente probabile), è possibile che un utente malintenzionato tenti di inserire o aggiornare i dati nella tabella, a seconda di come è stata effettuata la query. Se ciò è possibile, l'utente malintenzionato può semplicemente aggiungere un nuovo utente o modificare l'hash della password dell'amministratore con un hash di una password già nota, saltando completamente il passaggio di cracking

    
risposta data 31.08.2018 - 02:05
fonte
-1

se un utente malintenzionato è in grado di ottenere l'hash di una password, come nel modo descritto sopra, allora sì è possibile tentare di trovare la collisione di tale hash usando le tabelle rainbow se salting non è stato usato

Se è stata utilizzata la salatura, la difficoltà di crackare le password diventa molto più difficile.

EDIT: Giusto per essere chiari - quando mi riferisco alla salatura, intendevo dire che salare può essere fatto da uno strumento / processo esterno, e semplicemente memorizzato nel database, e non che MySQL avesse qualsiasi input nel processo oltre a memorizzare i valori. Ci scusiamo con quelli confusi!

    
risposta data 30.08.2018 - 15:24
fonte

Leggi altre domande sui tag