o scurtă notă-Acest articol este despre teoria modului de spargere a parolelor. Înțelegerea modului în care ciberneticii execută atacuri este extrem de importantă pentru înțelegerea modului de securizare a sistemelor împotriva acestor tipuri de atacuri.

încercarea de a hack un sistem pe care nu îl dețineți este probabil ilegală în jurisdicția dvs. (plus hacking-ul propriilor sisteme poate încălca orice garanție pentru acel produs).

să începem cu elementele de bază. Ce este un atac de forță brută?,acest tip de atac implică încercarea repetată de a vă conecta ca utilizator, încercând fiecare combinație posibilă de Litere, Numere și caractere (folosind instrumente automate).

Acest lucru se poate face fie on-line (în timp real, de continuu încearcă diferite combinații nume utilizator/parola pe conturi, cum ar fi mass-media sociale sau site-uri bancare) sau offline (de exemplu, dacă ați obținut un set de parole hash și sunt încercarea de a sparge-le offline).

Offline nu este întotdeauna posibil (poate fi dificil să obții un set de parole criptate cu algoritmi hash), dar este mult mai puțin zgomotos., Acest lucru se datorează faptului că o echipă de securitate va observa probabil multe, multe conturi de conectare eșuate din același cont, dar dacă puteți sparge parola offline, nu veți avea o înregistrare a încercărilor de conectare eșuate.acest lucru este relativ ușor cu o parolă scurtă. Devine exponențial mai dificil cu o parolă mai lungă din cauza numărului mare de posibilități., de exemplu, dacă știți că cineva folosește o parolă lungă de 5 caractere, compusă doar din litere mici, numărul total de parole posibile este de 26^5 (26 de Litere posibile din care să alegeți pentru prima literă, 26 de opțiuni posibile pentru a doua literă etc.), sau 11,881,376 combinații posibile. dar dacă cineva folosește o parolă de 11 caractere, numai cu litere mici, numărul total de parole posibile este de 26 ^11, sau 3,670,344,486,987,776 parole posibile.,

când adăugați litere mari, caractere speciale și numere, acest lucru devine și mai dificil și consumă mult timp pentru a sparge. Cu cât există mai multe parole posibile, cu atât este mai greu pentru cineva să se conecteze cu succes cu un atac de forță brută.acest tip de atac poate fi apărat în câteva moduri diferite. În primul rând, puteți utiliza parole suficient de lungi și complexe (cel puțin 15 caractere). De asemenea, puteți utiliza parole unice pentru fiecare cont (utilizați un manager de parole!) pentru a reduce pericolul de încălcări ale datelor.,

o echipă de securitate poate bloca un cont după un anumit număr de încercări de autentificare eșuate. De asemenea , pot forța o metodă secundară de verificare, cum ar fi sau pot folosi autentificarea cu 2 factori (2FA) care necesită un al doilea cod (SMS sau e-mail, bazat pe aplicații sau pe chei hardware).

Iată un articol despre cum să executați un atac de forță brută.

cum puteți sparge parolele mai repede?

un atac dicționar implică încercarea de a conecta în mod repetat, prin încercarea unui număr de combinații incluse într-un „dicționar” precompilat, sau lista de combinații., acest lucru este de obicei mai rapid decât un atac de forță brută, deoarece combinațiile de Litere și numere au fost deja calculate, economisind timp și putere de calcul.

Dar dacă parola este suficient de complexe (de exemplu 1098324ukjbfnsdfsnej) și nu apare în ‘dicționar’ (la precompilate listă de combinații lucrezi la), atacul nu va funcționa. este frecvent de succes, deoarece, de multe ori atunci când oamenii aleg parole, ei aleg cuvinte comune sau variații pe aceste cuvinte (de exemplu, „parola” sau „p@SSword”)., de asemenea, un hacker poate utiliza acest tip de atac atunci când cunoaște sau ghicește o parte din parolă (de exemplu, numele unui câine, zilele de naștere ale copiilor sau o aniversare – informații pe care un hacker le poate găsi pe paginile de social media sau alte resurse open source). măsuri de protecție similare cu cele descrise mai sus împotriva atacurilor de forță brută pot împiedica aceste tipuri de atacuri să aibă succes.

ce se întâmplă dacă aveți deja o listă de parole criptate cu algoritmi hash?,

parolele sunt stocate în fișierul/etc / shadow Pentru Linux și C:\Windows\System32\config fișier Pentru Windows (care nu sunt disponibile în timp ce sistemul de operare este pornit). dacă ați reușit să obțineți acest fișier sau dacă ați obținut un hash de parolă într-un mod diferit, cum ar fi sniffing trafic în rețea, puteți încerca cracarea parolei „offline”.

Întrucât atacurile de mai sus necesită încearcă în mod repetat să vă conectați, dacă aveți o listă de parole hash, puteți încerca, de cracare le pe mașina dvs., fără să declanșeze alerte generate prin repetate incercari nereusite de autentificare., Apoi, încercați să vă conectați o singură dată, după ce ați spart cu succes parola (și, prin urmare, nu există nicio încercare de Conectare eșuată).

puteți utiliza atacuri brute force sau atacuri de dicționar împotriva fișierelor hash și poate avea succes în funcție de cât de puternic este hash-ul.

așteptați un minut-ce este hashing?

35d4ffef6ef231d998c6046764bb935d

recunoașteți acest mesaj? Se spune „Bună numele meu este megan”

7DBDA24A2D10DAF98F23B95CFAF1D3AB

acesta este primul paragraf al acestui articol. Da, arată ca un nonsens, dar este de fapt un „hash”.,

o funcție hash permite unui computer să introducă un șir (o combinație de Litere, Numere și simboluri), să ia acel șir, să îl amestece și să scoată un șir de lungime fixă. De aceea, ambele șiruri de mai sus au aceeași lungime, chiar dacă intrările șirurilor au lungimi foarte diferite.

Hashes pot fi create din aproape orice conținut digital. Practic, tot conținutul digital poate fi redus la binar sau la o serie de 0s și 1s. prin urmare, tot conținutul digital (imagini, documente etc.) poate fi hashed., există multe funcții de hashing diferite, dintre care unele sunt mai sigure decât altele. Hash-urile de mai sus au fost generate cu MD5 (MD înseamnă „Message Digest”). Diferitele funcții diferă, de asemenea, în lungimea hash-ului pe care îl produc.

același conținut în aceeași funcție hash va produce întotdeauna același hash. Cu toate acestea, chiar și o mică schimbare va modifica hash-ul în întregime. De exemplu,

2ff5e24f6735b7564cae7020b41c80f1

este hash-ul pentru „Hi my name is Megan” doar capitalizarea M în Megan a schimbat complet hash-ul de sus.,

Hashes sunt, de asemenea, funcții unidirecționale (ceea ce înseamnă că nu pot fi inversate). Aceasta înseamnă că hash-urile (unice și unidirecționale) pot fi utilizate ca tip de amprentă digitală pentru conținut.

care este un exemplu de modul în care sunt utilizate hashes?

Hashes poate fi folosit ca verificare a faptului că un mesaj nu a fost modificat.

când trimiteți un e-mail, de exemplu, puteți hash întregul e-mail și trimite hash, de asemenea. Apoi, destinatarul poate rula mesajul primit prin aceeași funcție hash pentru a verifica dacă mesajul a fost modificat în tranzit., Dacă cele două hashes se potrivesc, mesajul nu a fost modificat. Dacă nu se potrivesc, mesajul a fost schimbat. de asemenea, parolele sunt de obicei criptate cu algoritmi hash atunci când sunt stocate. Când un utilizator introduce parola, computerul calculează valoarea hash și o compară cu valoarea hash stocată. În acest fel, computerul nu stochează parolele în text simplu (deci un hacker băgăcios nu le poate fura!).

dacă cineva este capabil să fure fișierul cu parolă, datele sunt inutile, deoarece funcția nu poate fi inversată (deși există modalități, cum ar fi tabelele curcubeu, pentru a afla ce text clar creează hash-ul cunoscut).,

care este problema cu hashes?

dacă un hash poate lua date de orice lungime sau conținut, există posibilități nelimitate pentru date care pot fi criptate cu algoritmi hash. deoarece un hash convertește acest text într-un conținut cu lungime fixă (de exemplu, 32 de caractere), există un număr finit de combinații pentru un hash. Este un număr foarte foarte mare de posibilități, dar nu unul infinit.în cele din urmă două seturi diferite de date vor produce aceeași valoare hash. Aceasta se numește coliziune.,

dacă aveți un hash și încercați să parcurgeți fiecare valoare posibilă pentru a găsi textul care se potrivește cu hash-ul dvs., va fi un proces foarte lung și foarte dificil.

cu toate acestea, ce se întâmplă dacă nu vă pasă care două hash-uri se ciocnesc?

aceasta se numește „problema zilei de naștere” în matematică. Într-o clasă de 23 de studenți, probabilitatea ca cineva să aibă o zi de naștere într-o anumită zi este de aproximativ 7%, dar probabilitatea ca oricare două persoane să împartă aceeași zi de naștere este de aproximativ 50%., același tip de analiză poate fi aplicat funcțiilor hash pentru a găsi oricare două hash-uri care se potrivesc (în loc de un hash specific care se potrivește cu celălalt). pentru a evita acest lucru, puteți utiliza funcții hash mai lungi, cum ar fi SHA3, unde posibilitatea coliziunilor este mai mică.puteți încerca să generați propriile funcții hash pentru SHA3 aici și MD5 aici.

puteți încerca să hashes forță brută, dar este nevoie de un timp foarte lung. Modul mai rapid de a face acest lucru, este de a utiliza tabele curcubeu pre-calculate (care sunt similare cu atacurile dicționar).

se pare foarte ușor pentru a obține hacked., Ar trebui să fiu îngrijorat? cel mai important lucru de reținut despre hacking este că nimeni nu vrea să facă mai multă muncă decât trebuie să facă. De exemplu, hashes brute forțând poate fi extrem de consumatoare de timp și dificil. Dacă există o modalitate mai ușoară de a obține parola, probabil că va încerca mai întâi un actor nefast.

asta înseamnă că activarea celor mai bune practici de bază în domeniul securității cibernetice este probabil cel mai simplu mod de a preveni hacking-ul. De fapt, Microsoft a raportat recent că doar activarea 2FA va ajunge să blocheze 99, 9% din atacurile automate.,

Additional Reading:

Popular password cracking tools