Žiaurios jėgos puolimas

Šioje pamokoje bus aptartas brutalios jėgos išpuolis ir paminėtos kai kurios priemonės šiai atakai įvykdyti. Pirmiausia reikia pasakyti, kas yra brutali jėga, nors pagal pavadinimą tai galima įsivaizduoti.

Tai technika, pagrįsta bandymais ir klaidomis, naudojama slaptažodžiams gauti arba duomenims iššifruoti, šiuo metodu nesiekiama protingos strategijos, o tikrinami visi galimi deriniai, kol randamas raktas.

Ar įmanoma gauti bet kokį slaptažodį ar iššifruoti bet kurį failą? Jei mūsų laikas tikriausiai būtų begalinis, bet kadangi taip nėra, atsakymas yra „ne“, slaptažodžiai arba ilgi klavišai ir įvairūs veiksniai (didžiosios, mažosios raidės, skaičiai, specialieji simboliai), mums prireiks daug laiko, kad juos pašalintume metodas (per visą gyvenimą mes to nepasieksime).

Šį metodą galime naudoti norėdami patikrinti savo slaptažodžių saugumą ar šifravimą nuo tokio tipo atakų. Jei nori žinoti kaip sukurti tvirtą slaptažodį, Patariu perskaityti šią pamoką. Šifravimo algoritmas, pažeidžiamas tokio tipo atakų, yra DES, priešingai - AES, kuri nėra pažeidžiama žiaurios jėgos. Geriausia gerai suprasti kriptografijos sritį.

Kriptografijos pasaulis

Pirmasis žingsnis yra turėti tvirtą slaptažodį, tačiau taip pat galite uždėti dar vieną apsaugos sluoksnį naudodami dviejų veiksnių autentifikavimas Jūsų paskyrose (bent jau pačiose vertingiausiose) šiandien jau yra paslaugų, siūlančių ją integruotai ir nemokamai, pavyzdžiui, „Google“, „Twitter“ ir „Linkedin“. Šios sistemos paprastai siunčia pranešimą į jūsų mobilųjį telefoną su kodu, kai įvedate teisingą slaptažodį, todėl kol neįvesite šio kodo, negalėsite įvesti savo paskyros.

Pažymėtina žiauri jėga dažnai derinama su žodyno atakomisŠi ataka susideda iš failo su tipiškesniais slaptažodžiais (žmonės paprastai naudoja žinomus žodžius savo slaptažodžiams, todėl jie juos geriau įsimena) ir išbando juos visus, kol suranda raktą arba nutraukia slaptažodžius nesėkmingai. Ataka apskritai yra efektyvesnė, nors jei slaptažodžiu naudosime kelis veiksnius, sėkmės tikimybė gerokai sumažės.

Žiaurios jėgos įrankiai

Džonas plėšikas

Jis yra atviro kodo ir nemokamas, paprastai jį rasite paskirstytą šaltinio kode. Pagrindinis jo tikslas yra rasti silpnus slaptažodžius UNIX operacinėse sistemose.

THC Hydra

Šis įrankis leidžia taikyti žiaurią jėgą nuotolinio autentifikavimo paslaugoms. Galite atlikti žodyno atakas prieš daugiau nei 50 protokolų.

medūza

Tai modulinis įrankis, kuris veikia lygiagrečiai su brutalia jėga. Suderinamas su tokiais protokolais kaip FTP, HTTP, IMAP, SSH ir kt.

Ncrack

Tai įrankis nulaužti tinklo autentifikavimą, jis veikia greitai. Galite išplėsti įrankį sukurdami savo modulius.

Kainas ir Abelis

Tai įrankis, skirtas „Windows“ slaptažodžiams atkurti, kad jį nulaužtumėte, galite naudoti žiaurią jėgą, bet ir žodyno atakas bei atakas naudojant vaivorykštės lenteles („Rainbow Table“).

Aš įdėsiu žemiau kodą „Python“, kuris gauna slaptažodžius, kuriuose yra tik skaičiai iš tinklalapio, iki 5 skaitmenų, tai taip pat gali būti padaryta naudojant raides, ilgesnį ir tt Pirmiausia palieku tau kodą, kuris aptarnauja įrašų užklausas PHP:

 
Matome, kad mes neturime jokių bandymų ribų, kad vartotojas ir jo slaptažodis yra apibrėžti čia (kad būtų išvengta duomenų bazių ir kodo komplikacijų), jei vartotojas ir slaptažodis yra teisingi, grąžiname 200 kodą, o jei ne 403.

Tada palieku „Python“ kodą, kuris yra atsakingas už užklausų siuntimą į ankstesnį kodą.

 importuoti http.client, urllib.parsefrom time import target time = "/bruteForce/index.php"headers = {" Content-type ":" application / x-www-form-urlencoded "," Accept ":" application / xhtml + xml, text / html; q = 0.9, text / plain; ",} found = Falsepassword = 0home = time (), o slaptažodis <= 99999 ir nerastas: parametrai = urllib.parse.urlencode ({'user': ' josue ',' pass ': password}) connection = http.client.HTTPConnection ("localhost") connection.request ("POST", tikslas, parametrai, antraštės) response = connection.getresponse () if (response.status == 200): print ("Vartotojo josue, es slaptažodis rastas", slaptažodis) print ("Tai užtruko: {0: .2f} s" .formatas ((laikas () - pradžia)))) rasta = Tiesa dar: spausdinti (slaptažodis) connection.close () slaptažodis + = 1 jei nerasta: spausdinti („Josue slaptažodis nerastas“)
Šis kodas pateikia skelbimo užklausas, kiekviename leidime į ciklą mes tik pakeičiame slaptažodį ir pridedame prie jo 1, todėl išbandysime visus įmanomus slaptažodžius nuo 0 iki 99999 (jei to nerasime anksčiau). Dažykite visus rastus skaičius, nes būtent taip aš norėjau to pavyzdyje, galite jį pašalinti, už tai pašalinsite kitą. Paleiskite šį kodą, kad pamatytumėte, ar jis suranda slaptažodžius.

Pirmasis pavyzdys, kurį ketiname paleisti norėdami rasti slaptažodį 2087, žemiau yra paveikslėlis, matote, kad man nereikia 18 sekundžių, kad jį gaučiau.

Jei pašalinsiu kitą elementą, kad jis nesidažytų ekrane, kiekvienas skaičius užima daug mažiau laiko, čia galite pamatyti ekrano kopiją:

Dabar antram ir paskutiniam bandymui aš įdėjau slaptažodį 20870, norėdamas pamatyti, kiek laiko užtrunka.

Jūs matote skirtumą, kai prie slaptažodžio pridedate dar vieną simbolį, tačiau net ir tokiu atveju mes galime palaukti be problemų, taip pat, jei įdėsime gijas, laikas sumažės. Todėl savo programose naudojame stiprius slaptažodžius ir patikimą autentifikavimą, kurie negali automatizuoti šios atakos.

Jei norite pamatyti praktinį pavyzdį, kai sugadintas zip ar rar slaptažodis, galite apsilankyti šioje pamokoje:

Sulaužykite .rar arba .zip slaptažodį

Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave