I principi tecnici del cracking delle password: come aumentare il tasso di successo della decrittazione e come decrittografare e recuperare le password con successo.

Pensa come un hacker e chiedi a te stesso quanto velocemente la password può essere rotta a seconda della sua struttura.

Quando un hacker o un tester di penetrazione danneggia un sistema e desidera accedere a una password in testo chiaro da un dump del database, deve prima rompere l'hash della password memorizzata. Molti aggressori si sono immersi in questo concetto: hanno provato qualsiasi attacco crittografico arbitrario che volevano, con poca ragione. Questa discussione mostrerà alcuni metodi di cracking delle password efficaci e come combinare l'analisi statistica delle password con strumenti per creare un metodo limitato nel tempo per ottenere un cracking efficiente e di successo. Perché è importante?

Il cracking delle password è un'impresa morente. Gli utenti hanno bisogno di creare password più complesse e alcuni sviluppatori back-end hanno iniziato a utilizzare meccanismi come   Bcrypt   per sostituire le funzioni hash standard. Gli hash di Bcrypt richiedono più tempo per essere generati e, di conseguenza, le password diventano più difficili da decifrare. I cracker devono generare hash molto velocemente per rompere le password in modo efficiente, quindi Bcrypt è uno strumento molto potente per combattere questo tipo di attacchi. Per illustrare questo esempio, il programma di cracking password lanciato nel 2012, realizzato da 25 cluster di GPU, è in grado di raggiungere una velocità di generazione di hash NTLM di 350 miliardi di hash al secondo, rispetto a 71.000 hash Bcrypt. Utilizzando questo come modello di confronto, per ogni hash Bcrypt generato, possono essere generati 5 milioni di hash NTLM. Di fronte all'algoritmo Bcrpyted, gli hacker devono fare ipotesi più calcolate sulla password e non possono fare affidamento sull'uso della forza bruta su ogni possibilità.

执行流程的顺序

Nota: non è necessario intraprendere passi di attacco incrementali se l'aggressore sa che la lunghezza della password è così breve che non ci vorrà molto tempo per violare il keyspace.

Timeline

L'efficienza temporale diventa un fattore chiave per il successo della rottura delle password. Mentre sarebbe bello coprire l'intero spazio critico della password dell'utente, il tempo necessario per farlo spesso non è fattibile. Pertanto, durante il cracking, è importante provare prima l'attacco che fa risparmiare più tempo e, se non ha successo, continuare con un attacco crittografico più lento che copre più spazio chiave. Il metodo più veloce è un semplice attacco dizionario basato su password utente comuni e password dump precedenti. Da lì si dovrebbe provare a manipolare il dizionario per aggiungere numeri o simboli alla fine o cambiare lettere. Questo è chiamato attacco ibrido o attacco basato su regole. Successivamente, puoi provare a generare possibili password utilizzando funzionalità di apprendimento automatico. La catena di Markov ne è un buon esempio. Combinando elementi comuni presenti in inglese per formare parole (ad esempio, "ing", "er", "qu"), è possibile generare una buona ipotesi della password, come la password qui sotto. Anche se questa specifica password è facile da rompere con qualsiasi metodo, per semplificare tutti i vettori di attacco, utilizzeremo questa password. Password1234Password1234

Pa +   ss   +   Word   +   1234

Infine, gli attacchi brute force mirati (chiamati attacchi mascherati) coprono tutto lo spazio chiave di una determinata password in base alla struttura crittografica. Per "struttura" di una password intendo il tipo e l'ordine dei caratteri utilizzati per crearla. Ad esempio, una "struttura" con lettere maiuscole seguita da 7 lettere minuscole seguite da 4 cifre (indicate come). Password1234ullllllldddd

Lettere minuscole, lettere maiuscole, simboli, numeri (l) (u) (s) (d)

Quindi, se un attaccante decide di utilizzare questa struttura per creare tutte le possibilità di una combinazione di caratteri, alla fine troverà la password. Quindi la domanda dell'attaccante diventa: quale struttura dovrebbe essere presa di mira prima quando si attacca un insieme di hash? Password1234

Analisi statistica

Per aiutare a rispondere a questa domanda, ho effettuato alcune analisi statistiche dei dump di password popolari per vedere se esiste una struttura di password più comune di altre strutture di password e in che misura questa struttura è corretta. La dimensione del campione di oltre 34 milioni di password esposte pubblicamente include famosi dump di password come RockYou, LinkedIn, phpBB, ecc.

 

La figura seguente mostra la frequenza con cui la struttura della maschera è destinata a ciascuna maschera unica. La linea rossa indica la linea del 50%, che appare dopo la tredicesima maschera più frequente.


从示例图派生的密码掩码

Questo significa che le prime 13 strutture di maschera uniche rappresentano il 50% della password campione. La struttura di oltre 20 milioni di password nel campione si trova nelle prime 13 maschere. Questi risultati sono piuttosto scioccanti in termini di universalità delle password strutturate. L'altro 50% è presente all'interno della lunga coda destra, che è stata ridotta in questo grafico. In effetti, su 260.500 maschere uniche, solo 400 sono mostrate in questo grafico. Il concetto di questa password strutturata universale è incredibile; Tuttavia, questo non sorprende quando si considera come gli utenti creano e ricordano le loro password. Sulla base dei dati analizzati, ci sono alcuni fattori logici che aiutano a spiegare come questo sia possibile. Quando gli utenti vengono chiesti di fornire una password con lettere maiuscole, questa viene utilizzata come primo carattere più del 90% delle volte. Quando viene richiesto un numero, la maggior parte degli utenti aggiunge due cifre alla fine della password (probabilmente l'anno di laurea). La prossima opzione più popolare è quella di chiudere la password con quattro cifre (probabilmente l'anno precedente o quest'anno). In questo caso, il numero più popolare successivo ha un numero alla fine e tre numeri alla fine. Comunità strutturali come queste consentono agli aggressori di prevedere quale sarà più probabilmente la struttura della password dell'utente.

Miscela statistica – Accelerazione

Utilizzando questa conoscenza strutturale, è possibile presumere in modo sicuro che l'utente avrebbe molto probabilmente impostato la sua password su than (lettera casuale), anche se tutte iniziano con 9 lettere e hanno 9 lettere. Supponiamo quindi che, data una struttura crittografica, se vediamo lettere consecutive, è molto probabile che si tratti di una parola. Questa è un'ipotesi molto utile per i crackers perché elimina molto spazio per le chiavi. Questo si trasforma poi in un attacco ibrido che sfrutta la significatività statistica di una struttura crittografica universale. potatoespwivwdhpp

Efficienza e limiti di tempo

Di solito, come tester di penetrazione, anche se rompiamo un insieme di hash, potremmo non avere il tempo di rompere tutti gli hash. Tuttavia, interromperli può aiutare ad aggiornare l'accesso al sistema e portare a scoperte più utili per i clienti. Pertanto, quando si decifrano le password, può essere utile determinare quanto tempo verrà assegnato per decifrare un insieme di valori hash. Utilizzando le strutture trovate nell'analisi precedente, un attaccante può determinare le prime 10 strutture popolari che vuole coprire in base ai requisiti di complessità della password ordinati per il tempo di completamento più rapido. Infine, un attaccante può limitare il tempo del suo metodo impiegando non più di un'ora per eseguire il crack. Questo è stato scoperto durante un recente test di penetrazione per ottenere hash. Di seguito è riportata un'istantanea dei risultati di cracker basato su CPU.

受损结果表

La struttura più rapida da completare in questo caso è quella che definiamo come una lettera maiuscola seguita da tre lettere minuscole ("W" per "Word") e poi quattro cifre. Ci sono 69 password che corrispondono alla struttura nel set di hash e la mia CPU standard è in grado di attraversare tutte le possibilità della struttura in un minuto. Abbiamo interrotto il crack a 62 minuti e il crack ha prodotto 221 hashes unici di crack che hanno corrisposto a 491 account, con un totale di 11% di compromesse. La ragione della grande differenza nel numero di password crackate e compromesse di account è che le impostazioni di Office tendono a portare le persone a usare password comuni. Se un aggressore determina che una password comune viene utilizzata nell'ambiente, tutti gli utenti con la stessa password saranno compromessi. U (W3) dddd

Sebbene un attacco ibrido o un attacco basato su regole (ad esempio) possa decifrare più velocemente diverse di queste password, la struttura della password di attacco ci permette di coprire più spazio chiave. Questo metodo è un passo successivo efficace se l'attacco Faster si rivela incapace di distruggere con successo l'hash di destinazione. Inoltre, è importante ricordare che questo esempio è stato fatto su una CPU piuttosto mediocre e che eseguire lo stesso attacco su una potente GPU può ridurre questo tempo a pochi secondi. Pertanto, la tempistica esatta è meno importante della teoria dell'esecuzione efficace. best64

L'analisi statistica di

ci aiuta ad attaccare strutture di password comuni in generale; Tuttavia, ci sono strumenti che possono aiutare a localizzare applicazioni specifiche. Strumenti come CeWL   possono raccogliere parole da pagine web e utilizzarle per generare elenchi di parole o dizionari specifici per aziende. Funziona perché le aziende tendono a usare password associate al loro settore, azienda o lavoro. Inoltre, poiché abbiamo stabilito che le password comunemente utilizzate sono popolari negli ambienti di lavoro, è anche possibile utilizzare password già crollate come base per altre password, che potrebbero essere simili. Ad esempio, se scopriamo che "" è la password di un utente, potremmo mettere "" in un nuovo elenco di parole, inserirlo nel set di regole e scoprire che qualcun altro ha la password "". Questo concetto di utilizzo di parole di base crackate (come ' ') e decorazioni con i caratteri circostanti è molto efficace quando si crackano hash scaricati dall'ambiente aziendale, che può essere ricondotto al concetto di riutilizzo delle password. Secondo i test di penetrazione che abbiamo condotto, questo è il più adatto per craccare l'ultimo 20% di hash non craccati. AcmeCorp1234AcmeCorpAcmeCorp@2015AcmeCorp

È anche importante tagliare il dizionario in modo che tutte le password indovinate siano conformi ai requisiti specificati dall'applicazione, in modo da non perdere tempo a indovinare password che non possono essere indovinate a causa della lunghezza o della composizione dei caratteri.

Mettendolo insieme

Partendo dall'attacco più veloce e coprendo il minor numero di spazi chiave (attacchi di dizionario standard) fino al più lento e massimo spazio chiave (forza bruta pura) è il progresso ideale per considerare il tempo assegnato all'attacco. Pertanto, gli aggressori dovrebbero implementare un approccio standard che tenga conto di questo. Se l'account che l'aggressore vuole hackerare è completato nella prima fase, potrebbe non esserci alcun motivo per continuare ad utilizzare altri attacchi; Tuttavia, in molti casi, un semplice attacco dizionario potrebbe non essere sufficiente se un account di destinazione è presente, oppure l'aggressore vuole semplicemente distruggere il maggior numero di account possibile, quindi potrebbe essere necessario utilizzare attacchi ibridi con strutture statistiche e attacchi brute force mirati. Per un crack di successo è quindi fondamentale stabilire metodi che possono includere i metodi precedentemente menzionati insieme ad alcuni processi automatizzati. Strumenti recenti, come   PRINCE, possono aiutare a facilitare il cracking delle password. È importante sviluppare una striscia di strumenti, come PRINCE per provare nel metodo, ma comprendere le funzionalità dietro gli strumenti, invece di fare affidamento esclusivamente su di loro, renderà il cracking più efficiente.

Difesa – Come combattere le statistiche

Analizzando con queste password è possibile identificare le strutture più popolari per un dato livello di complessità richiesto. Pertanto, gli sviluppatori dovrebbero probabilmente implementare alcuni controlli per impedire agli utenti di utilizzare alcune di queste strutture molto popolari per appiattire la curva del grafico precedente. Il problema con questa idea, tuttavia, è che senza una struttura semplice, gli utenti potrebbero trovare difficoltà a ricordare le loro password. Consiglio di utilizzare un gestore di password che richieda la doppia autenticazione. Queste applicazioni genereranno e memorizzeranno tutte le password per te, quindi la memoria non è un problema. Le password che generano sono strutturalmente casuali e possono essere utilizzate finché l'applicazione lo consente. Come ho accennato in precedenza, la crittografia delle password è un altro metodo molto efficace per rallentare le prospettive di sviluppo di un attaccante. Infine, implementare strategie all'interno dell'ufficio per aiutare gli utenti a comprendere i pericoli della condivisione o del riutilizzo delle password è un passo di successo nella giusta direzione, anche se gli utenti non sempre rispettano. Anche se è probabile che non rispettino sempre, si tratta di un controllo efficace.

Conclusioni e guadagni

Il cracking delle password può essere un concetto vago. Man mano che la difficoltà di cracking aumenta, sono necessari attacchi mirati basati sull'efficienza e dovrebbero essere stabiliti metodi di cracking individuali. Non vale la pena investire denaro per migliorare finalmente la velocità di generazione degli hash. Pertanto, l'implementazione di un approccio e di processi semplificati utilizzando statistiche e strumenti come mezzo di attacco può facilitare il cracking delle password. Gli sviluppatori possono sviluppare controlli per affrontare questa situazione e gli utenti possono utilizzare gestori di password sicuri per ridurre al minimo l'efficacia di questi attacchi; Tuttavia, tali implementazioni non sono ancora molto popolari. Attualmente, gli attacchi statistici contro le password sono efficaci sia in termini di numero di crack che di efficienza di connessione temporale. Pensa alle tue password e chiediti quanto velocemente possono essere violate, a seconda della struttura delle password e quali controlli all'interno del tuo ufficio potrebbero portare un aggressore a compromettere gli account degli utenti.

Precedente:Hashcat afferma di essere lo strumento di cracking delle password più veloce al mondo. Come usi Hashcat per decrittografare le password?
Il prossimo:Tutorial: utilizzo di un software di decrittazione professionale per decifrare password per file di archivio Excel, Word, PDF e compressi sul proprio computer.
  • Concentrarsi su Word, Excel, PPT, PDF, RAR, ZIP, 7Z, pacchetti compressi, sblocco e decrittografia dei file crittografati di Office
  • Forniamo agli utenti il recupero della password dei pacchetti compressi di file di alta qualità, il recupero della password di Word sbloccato da PDF
  • Copyright © Master di recupero della password del documento Piattaforma di decrittografia online