Napad grubom silom

U ovom vodiču raspravljat će se o napadu grubom silom te će se spomenuti neki alati za izvođenje ovog napada. Prije svega, to je reći o čemu se radi gruba sila, iako se po imenu može zamisliti.

To je tehnika koja se temelji na pokušaju i pogrešci, koristi se za dobivanje lozinki ili dešifriranje podataka, ova metoda ne traži inteligentnu strategiju, već testira sve moguće kombinacije dok ne pronađe ključ.

Je li moguće dobiti bilo koju lozinku ili dešifrirati bilo koju datoteku? Da je naše vrijeme vjerojatno beskonačno, ali budući da nije, odgovor je ne, lozinke ili dugi ključevi i s različitim faktorima (velika, mala slova, brojevi, posebni znakovi), trebalo bi nam puno vremena da ih izvučemo iz ovoga metodom (za cijeli život nećemo biti postignuti).

Ovom metodom možemo provjeriti sigurnost naših lozinki ili šifriranja od ove vrste napada. Ako želite znati kako stvoriti jaku lozinku, Savjetujem da pročitate ovaj vodič. Algoritam šifriranja ranjiv na ovu vrstu napada je DES, suprotan je slučaj s AES -om, koji nije osjetljiv na grubu silu. Najbolje je dobro razumjeti područje kriptografije.

Svijet kriptografije

Jaka lozinka prvi je korak, ali također možete staviti još jedan sloj zaštite, koristeći dvostruka provjera autentičnosti Na vašim računima (barem onim najvrjednijim) danas već postoje usluge koje ga nude integrirano i besplatno, poput Googlea, Twittera i Linkedina. Ovi sustavi obično šalju poruku na vaš mobitel s kodom nakon što unesete ispravnu lozinku, pa dok ne unesete taj kôd, nećete moći unijeti svoj račun.

Značajno gruba sila često se kombinira s napadima na rječnikOvaj se napad sastoji od toga da imate datoteku s tipičnijim lozinkama (ljudi obično koriste poznate riječi za svoje lozinke, tako da ih se bolje sjećaju) i sve ih isprobate, sve dok ne pronađete ključ ili ne uspijete bez uspjeha. Općenito je napad učinkovitiji, iako ako u lozinku koristimo nekoliko čimbenika, šanse za uspjeh znatno se smanjuju.

Alati za grubu silu

Ivan trgač

Otvorenog je izvora i besplatan, obično ćete ga pronaći distribuiranog u izvornom kodu. Njegov glavni cilj je pronaći slabe lozinke u UNIX operativnim sustavima.

THC Hydra

Ovaj alat omogućuje vam primjenu grube sile na usluge udaljene autentifikacije. Možete izvesti rječničke napade na više od 50 protokola.

meduza

To je modularni alat, koji radi paralelno s prijavljivanjem grube sile. Kompatibilan s protokolima kao što su FTP, HTTP, IMAP, SSH itd.

Ncrack

To je alat za razbijanje mrežnih autentifikacija, radi brzo. Alat možete proširiti stvaranjem vlastitih modula.

Cain & Abel

To je alat predodređen za oporavak lozinki u sustavu Windows, a za njegovo ispucavanje omogućuje vam da koristite grubu silu, ali i napade i napade na rječnik pomoću duginih tablica (Rainbow Table).

U nastavku ću staviti kôd u Pythonu koji dobiva lozinke koje sadrže samo brojeve s web stranice, do 5 znamenki, to se može učiniti i slovima, veće duljine itd. Prvo vam ostavljam kod koji opslužuje zahtjeve za poštom u PHP -u:

 
Vidimo da nemamo ograničenja pokušaja, da su korisnik i njegova lozinka definirani upravo tu (kako bi se izbjegle baze podataka i komplikacije u kodu), ako su korisnik i lozinka točni vraćamo kôd 200, a ako ne 403.

Zatim ostavljam Python kod koji je odgovoran za slanje zahtjeva na prethodni kod.

 import http.client, urllib.parsefrom time import target time = "/bruteForce/index.php"headers = {" Content-type ":" application / x-www-form-urlencoded "," Prihvati ":" application / xhtml + xml, text / html; q = 0.9, text / plain; ",} found = Falsepassword = 0home = time () while password <= 99999 and not found: parameters = urllib.parse.urlencode ({'user': ' josue ',' pass ': password}) connection = http.client.HTTPConnection ("localhost") connection.request ("POST", cilj, parametri, zaglavlja) response = connection.getresponse () if (response.status == 200): print ("Zaporka je pronađena za korisnika josue, es", lozinka) print ("Trebalo je vremena: {0: .2f} s". Pronađena je forma ((vrijeme () - početak))) = Istina drugo: ispis (lozinka) connection.close () lozinka + = 1 ako nije pronađeno: print ("Nije pronađena lozinka za josue")
Ovaj kôd postavlja zahtjeve za objavljivanje, pri svakom prolazu u petlju sve što radimo je promijeniti lozinku i dodati joj 1, pa ćemo isprobati sve moguće lozinke od 0 do 99999 (ako je prije ne pronađemo). Obojite sve brojeve koje nađete, jer sam tako želio za primjer, možete ga ukloniti, jer ćete tako ukloniti ostalo. Pokrenimo ovaj kôd da vidimo nalazi li zaporke.

Prvi primjer koji ćemo pokrenuti kako bismo pronašli lozinku 2087, ispod je slika, možete vidjeti da mi ne treba 18 sekundi da je dobijem.

Ako uklonim else kako se ne bi slikao na ekranu, svakom broju je potrebno mnogo manje vremena, ovdje možete vidjeti snimak zaslona:

Sad sam za drugi i posljednji pokušaj stavio lozinku 20870, da vidim koliko je potrebno ovaj put.

Možete vidjeti razliku, dodavanjem još jednog znaka u lozinku, ali čak i u tom slučaju vrijeme je koje možemo čekati bez problema, a i ako stavimo niti vrijeme bi se smanjilo. Zato u svojim aplikacijama koristimo jake lozinke i robusnu provjeru autentičnosti, što ne može automatizirati ovaj napad.

Ako želite vidjeti praktičan primjer u kojem je lozinka zip ili rar datoteke slomljena, posjetite sljedeće uputstvo:

Razbijte .rar ili .zip lozinku

Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave