Indovina la password: è più efficace provare molte password con pochi account o poche (molto comuni) password contro molti account?

6

Stavo guardando un video di sicurezza su Irongeek l'altro giorno (ho perso immediatamente traccia di quale video specifico, sfortunatamente) dove il creatore ha fornito alcuni consigli interessanti su come eseguire la verifica della password dal vivo su una macchina remota durante un pen-test. Il consiglio era questo: usare l'approccio "tradizionale" di scegliere uno o pochi account utente e poi colpirli con un considerevole dizionario di password comuni è di solito un modo scarso di fare le cose. In alternativa, l'autore suggerisce quello che è fondamentalmente l'approccio opposto. Significato: scegli un database molto piccolo delle password più comuni ed eseguilo su un ampio elenco di utenti. L'argomento è che è più probabile che tu abbia successo, in termini di violazione di almeno un account, se provi 100 password estremamente comuni contro 100 account che se provi 10.000 password comuni contro un account.

La mia domanda: quali sono i vantaggi e gli svantaggi dell'utilizzo di questo approccio in una verifica della password o in un pen-test rispetto all'approccio di attaccare uno / alcuni account in modo approfondito? Lo svantaggio più ovvio è, ovviamente, ovvio: se desideri o devi indirizzare l'account di un utente specifico, questo approccio è probabilmente off-the-table. D'altra parte, mi sembra plausibile che se stai solo cercando di entrare in uno o due account di qualsiasi tipo in un'organizzazione che ha, per esempio, almeno poche centinaia di utenti questo potrebbe essere un modo più efficace tattica. E forse, in alcune circostanze, potrebbe anche semplificare la gestione delle protezioni di limitazione / blocco del tentativo di accesso.

Ma la mia esperienza personale nell'hacking delle password non è molto profonda. Quindi, chiederò a chi ne sa più di me: quali sono altri vantaggi pratici significativi? svantaggi dell'utilizzo di questo approccio rispetto a colpire alcuni account con un sacco di password? Quali sono alcune altre circostanze comuni in cui ha senso utilizzare una tattica o l'altra?

    
posta mostlyinformed 07.12.2015 - 01:58
fonte

5 risposte

7

Ci sono enormi vantaggi nell'accedere a qualsiasi account su un sistema, anche se desideri accedere a un account specifico. Non descriverò dettagliatamente i metodi per nascondere un attacco di password per l'utente base del sistema qui, tuttavia è possibile. Quindi, è possibile eseguire un attacco diretto contro un account specifico. Un account casuale su un sistema consente:

  1. Accesso a qualsiasi informazione interna come una directory utente, numeri di telefono, e-mail o indirizzi di posta ordinaria, ecc.
  2. Se aziendale, relazioni con i dipendenti (manager - rapporti diretti), nomi di reparti, manager di alto livello.
  3. Se server aziendali interni (posta elettronica, database dei bug, codice sorgente, sistemi finanziari che affrontano i dipendenti, call center, ecc.)
  4. Se aziendale, la password potrebbe essere utile per l'accesso VPN e il successivo mapping di rete.
  5. L'accesso al sistema o ai server interni può consentire l'inserimento di codice nel server (non possibile senza un account). Ad esempio, attacco XSS o attacco SQL injection. Alcune iniezioni di codice possono porre trappole per gli utenti durante l'accesso o l'accesso a un sistema. Altre iniezioni di codice possono interrompere la sicurezza del sistema e fornire accesso ai database di back-end.
  6. Alcuni sistemi mal protetti sono soggetti a attacchi di linking profondo (url di hacking per saltare la sicurezza delle applicazioni) e dipendono dalla cordialità della base utente per non compromettere l'URL. Un attaccante esterno con accesso a un account può trovare questi buchi.
  7. Sorveglianza di account specifici da attaccare (nome utente, informazioni personali utili per indovinare la password, phishing di manager, underlings, assistenti).
  8. La conoscenza di sistemi interni, dati e dipendenti crea un incredibile potenziale per una vasta gamma di attacchi di phishing su tutti i dipendenti, tra cui elettronico, telefonico e fisico (fornitori, appaltatori) e può consentire la concessione di nuove credenziali (account utente) possibilmente con molto alto privilegi di accesso.

Un singolo account interno su qualsiasi sistema può rivelarsi estremamente prezioso nelle mani di un attaccante esperto, creativo e dedicato.

Se il 99% degli account ha una password di sicurezza fantastica e l'1% schifoso, attaccare una manciata di account molto probabilmente mancherebbe a quelli facilmente penetrati. Spazzandoli tutti molto probabilmente catturerai qualcosa e in quel momento l'attaccante potrà provare tutto quanto sopra.

    
risposta data 07.12.2015 - 18:34
fonte
3

Se ti capisco correttamente, stai chiedendo quali sono i pro e i contro di pochi-username-many-password vs many-username-few-password? Ho ragione? Quello che posso pensare è che se si provano molte password con lo stesso nome utente, è probabile che si rimanga bloccato dopo alcuni tentativi sbagliati. D'altra parte, fino a quando i tentativi falliti su ciascun account / nome utente sono al di sotto della soglia, è improbabile che ti blocchi. Inoltre, anche se ti ritrovi bloccato, dopo aver finito di circolare attraverso tutti i conti e tornare indietro, l'account che inizialmente ti blocca potrebbe automaticamente sbloccare per quel momento.

    
risposta data 07.12.2015 - 05:17
fonte
2

La mia preoccupazione immediata per la tua domanda riecheggia ciò che @wie menziona nella sua risposta:

"è probabile che tu ti blocchi dopo alcuni tentativi sbagliati."

Se questo è un problema, vorrei creare un elenco di password e scorrere ogni password per ogni utente che desideri provare a decifrare. Usa un intervallo di tempo tra un tentativo e l'altro e lascia che passi attraverso. A seconda dell'elenco di utenti, un ciclo potrebbe richiedere minuti o ore, ma un tempo più lungo tra un tentativo e l'altro ti aiuterà a non essere bloccato o rilevato altrettanto facilmente.

Da @Lexu:

"Se non riesci a trovare una password tra le prime 500 password, è probabile che non la troverai nemmeno tra i primi 1000. (Penso che l'utente medio utilizzi una password sicura o una debole incredibile. tra queste due opzioni.) "

Al di là di queste domande: l'organizzazione ha una politica sulle password? Ciò migliorerà la complessità delle password che si sceglie di testare e, si spera, escluderà l'utilizzo di un ampio sottoinsieme di password più semplici (e ridurrà il set di password che si sta utilizzando a un livello molto più piccolo, ma anche più complesso e sottoinsieme difficile di tutte le password disponibili).

Inoltre, potrebbe essere saggio considerare l'organizzazione che stai testando e quali tipi di account e sistemi desideri accedere. Ad esempio, se ti trovi in un'università somale potresti prendere in considerazione la possibilità di cercare varianti della mascotte per la password. O forse uno sport o l'arte è una grande cosa lì. Prova contro "sport" o "squadra sportiva" e le loro varianti. O forse stai testando un'azienda che produce spatole. 'spatola' e permutazioni (e altre combinazioni della parola) potrebbero essere una buona password da testare. Ottieni l'immagine?

Infine, per indirizzare la tua domanda originale più direttamente:

"La mia domanda: quali sono i vantaggi e gli svantaggi dell'utilizzo di questo approccio in una verifica della password o in un pen-test rispetto all'approccio di attaccare uno / alcuni account in modo approfondito?"

Se sai quali account vuoi (il che è improbabile se stai attaccando come outsider per l'organizzazione), sarebbe molto più veloce attaccarli solo usando un enorme elenco di combinazioni di password e permutazioni.

Tuttavia, se stai solo cercando di trovare un punto di svolta, sarebbe molto più efficiente (e più probabile che ci riesca) testare un piccolo numero di password (su misura per l'organizzazione) e cercare di trovare account importanti o possibili punti di rotazione. Sarai molto meno probabilità di avere successo se ti rivolgi a specifici account senza alcun social engineering per aumentare i tuoi sforzi.

Summarily: È una differenza nella probabilità di successo. Prova prima il metodo più semplice e completo. Se fallisce, applica uno sforzo più concentrato e approfondito verso il tuo obiettivo.

Spero che questo sia utile!

    
risposta data 07.12.2015 - 18:48
fonte
1

Se non riesci a trovare una password con le password di top 500 è probabile che anche tu non la trovi sotto top 1000 . (Penso che l'utente medio usi una password strong o un debole incredibile, non molto tra queste due opzioni.)

Ma a seconda del sistema potresti avere un numero limitato di account.

Utilizza many-username-few-passwords quando hai molti utenti e ne hai solo bisogno e usa few-username-many-password quando hai un numero limitato di nomi utente.

    
risposta data 07.12.2015 - 11:01
fonte
0

Quando ho iniziato a lavorare in IT, Jordan giocava ancora a basket. Una società di sicurezza che effettua un audit a Chicago ha ottenuto il 40% dei computer sedendosi e digitando "Bulls" come password senza altra conoscenza.

In base a ciò, direi che è più intelligente provare le password deboli ovunque e vedere chi ha un attacco piuttosto che un bersaglio - SE tutto quello che stai cercando è l'accesso iniziale al sistema.

    
risposta data 28.12.2017 - 04:18
fonte

Leggi altre domande sui tag