Come bruteforce funziona in base al codice

1

Mi stavo chiedendo come funzionano i metodi bruteforce a livello di codice. In che modo il codice accede ad una pagina di accesso per esempio e inserisce informazioni nei campi necessari? Ed è il codice in grado di duplicare il sistema in modo che 3 tentativi o in attesa tra ipotesi non sia più un problema?

    
posta abden003 30.07.2013 - 21:42
fonte

1 risposta

6

Esistono attacchi online e attacchi offline .

Attacchi online si verificano quando l'utente malintenzionato tenta ogni password inviandola al sistema attaccato. Il sistema attaccato potrebbe utilizzare, ad esempio, una pagina di accesso HTML; in tal caso, l'autore dell'attacco dovrebbe prima manualmente ottenere una copia della pagina di accesso (come qualsiasi altro utente, con un browser Web), quindi esaminare l'HTML e inferire il formato dei dati inviati al server. La maggior parte delle pagine di accesso sono semplicemente Moduli HTML ; quando un utente inserisce il login e la password e fa clic sul pulsante "Accedi", il browser invia una richiesta HTTP che codifica i dati inseriti dall'utente. L'utente malintenzionato deve quindi compilare, con un codice personalizzato, richieste HTTP sintetiche che utilizzano lo stesso formato.

Per quanto riguarda la frequenza con cui l'attaccante proverà ... beh, dipende. Da un lato, l'attaccante ha molte password da provare, quindi invierà molte richieste, includerà molte cose in parallelo perché il server stesso può gestire diverse richieste in ingresso simultaneamente ed elaborerà più richieste al secondo se usato in parallelo che se il cliente (l'attaccante) ha aspettato una risposta prima di inviare la sua richiesta successiva. Il parallelismo assorbe la latenza, in un certo senso.

D'altro canto, alcuni amministratori di sistema includono sistemi di rilevamento per "attività sospette" e la ricezione di 100 tentativi di accesso per un dato accesso utente al secondo sembra sicuramente innaturale. Pertanto, alcuni utenti malintenzionati proveranno la cosa a basso profilo, provando solo una password alla volta e aspettando diversi minuti tra due tentativi. L'attaccante cerca di rimanere sotto il radar. Questa può ancora essere una strategia efficace per l'attaccante, se ha lotti di login utente per provare su lotti di server distinti.

Gli attacchi offline sono molto diversi. In un attacco offline, l'aggressore ha avuto la fortuna di ottenere informazioni sufficienti per "testare le password a casa". Ad esempio, tramite l'attacco Iniezione SQL , l'utente malintenzionato ha afferrato una copia delle password hash per un migliaio di utenti di un determinato sito . L'utente malintenzionato può quindi procedere a "provare" le password eseguendo l'hashing di ogni potenziale password e verificando se la versione dell'hash corrisponde alla tabella del database che ha precedentemente rubato. Tutto ciò si verifica sul PC dell'utente malintenzionato, senza alcuna rete e nessuno viene informato dello sforzo di cracking.

Gli attacchi offline sono una preoccupazione più grande degli attacchi online perché in un attacco offline, gli attaccanti sono limitati solo dalla loro potenza di calcolo disponibile; non esiste un server onesto che possa limitare arbitrariamente la velocità con cui è possibile provare le password. Con semplici funzioni di hashing, gli hacker possono provare miliardi di password al secondo, con hardware di consumo standard (un PC con una grande GPU di classe di gioco). Ci sono misure di mitigazione ma non sono perfette (sono compromessi relativamente costosi). È molto meglio evitare gli attacchi offline in primo luogo (ad esempio, controlla le tue istruzioni SQL, dannazione!).

    
risposta data 30.07.2013 - 22:11
fonte

Leggi altre domande sui tag