Brute aanval

Inhoudsopgave

In deze tutorial wordt de brute force-aanval besproken en worden enkele tools genoemd om deze aanval uit te voeren. Allereerst is het om te zeggen wat brute kracht is, hoewel je het je bij de naam kunt voorstellen.

Het is een techniek die gebaseerd is op vallen en opstaan, het wordt gebruikt om wachtwoorden te verkrijgen of gegevens te decoderen. Deze methode zoekt geen intelligente strategie, maar test alle mogelijke combinaties totdat het de sleutel vindt.

Is het mogelijk om een ​​wachtwoord te krijgen of een bestand te decoderen? Als onze tijd waarschijnlijk oneindig was, maar aangezien dat niet zo is, is het antwoord nee, wachtwoorden of lange sleutels en met verschillende factoren (hoofdletters, kleine letters, cijfers, speciale tekens), zou het ons veel tijd kosten om ze eruit te krijgen door dit methode (in een mensenleven zullen we niet worden bereikt).

We kunnen deze methode gebruiken om de beveiliging van onze wachtwoorden of encryptie tegen dit type aanval te controleren. Als je het wilt weten hoe maak je een sterk wachtwoord, raad ik aan deze tutorial te lezen. Een coderingsalgoritme dat kwetsbaar is voor dit type aanval is DES, het tegenovergestelde is het geval met AES, dat niet kwetsbaar is voor brute kracht. Het is het beste om het gebied van cryptografie goed te begrijpen.

De wereld van cryptografie

Het hebben van een sterk wachtwoord is de eerste stap, maar u kunt ook een extra beveiligingslaag aanbrengen door de dubbele factor authenticatie In uw accounts (althans de meest waardevolle) zijn er vandaag al diensten die het geïntegreerd en gratis aanbieden, zoals Google, Twitter en Linkedin. Deze systemen sturen normaal gesproken een bericht naar uw mobiel met een code zodra u het juiste wachtwoord heeft ingevoerd, dus totdat u die code invoert, kunt u uw account niet invoeren.

Opmerkelijk brute kracht wordt vaak gecombineerd met woordenboekaanvallenDeze aanval bestaat uit het hebben van een bestand met meer typische wachtwoorden (mensen gebruiken gewoonlijk bekende woorden voor hun wachtwoorden, zodat ze ze beter onthouden) en ze allemaal proberen, totdat ze de sleutel vinden of de wachtwoorden beëindigen zonder succes. De aanval is over het algemeen efficiënter, maar als we meerdere factoren in ons wachtwoord gebruiken, neemt de kans op succes aanzienlijk af.

Brute kracht tools

John de ripper

Het is open source en gratis, je vindt het meestal gedistribueerd in broncode.Het belangrijkste doel is om zwakke wachtwoorden te vinden in UNIX-besturingssystemen.

THC Hydra

Met deze tool kunt u brute kracht toepassen op externe authenticatieservices. U kunt woordenboekaanvallen uitvoeren tegen meer dan 50 protocollen.

kwallen

Het is een modulair hulpmiddel, het werkt parallel met brute force logins. Compatibel met protocollen zoals FTP, HTTP, IMAP, SSH, enz.

Ncrack

Het is een tool om netwerkauthenticaties te kraken, het werkt snel. U kunt de tool uitbreiden door uw eigen modules te maken.

Kaïn & Abel

Het is een tool bedoeld voor het herstellen van wachtwoorden in Windows, om het te kraken kunt u brute kracht gebruiken, maar ook woordenboekaanvallen en aanvallen met regenboogtabellen (Rainbow Table).

Ik ga hieronder een code in Python plaatsen die wachtwoorden verkrijgt die alleen cijfers van een webpagina bevatten, tot 5 cijfers, het kan ook met letters, grotere lengte, enz. Eerst laat ik je de code die postverzoeken in PHP bedient:

 
We zien dat we geen limiet van pogingen hebben, dat de gebruiker en het wachtwoord daar zijn gedefinieerd (om databases en complicaties aan de code te voorkomen), als de gebruiker en het wachtwoord correct zijn, retourneren we een code 200 en zo niet een 403.

Vervolgens verlaat ik de Python-code die verantwoordelijk is voor het verzenden van verzoeken naar de vorige code.

 import http.client, urllib.parsefrom time import target time = "/bruteForce/index.php"headers = {" Content-type ":" applicatie / x-www-form-urlencoded "," Accept ":" applicatie / xhtml + xml, text / html; q = 0.9, text / plain; ",} found = Falsepassword = 0home = time () while password <= 99999 en niet gevonden: parameters = urllib.parse.urlencode ({'user': ' josue ',' pass': wachtwoord}) connection = http.client.HTTPConnection ("localhost") connection.request ("POST", doel, parameters, headers) response = connection.getresponse () if (response.status == 200 ): print ("Wachtwoord gevonden voor gebruiker josue, es", wachtwoord) print ("Het kostte tijd: {0: .2f} s" .format ((time () - start))) found = True else: print ( wachtwoord) connectie.close () wachtwoord + = 1indien niet gevonden: print ("Geen wachtwoord gevonden voor josue")
Deze code doet de postverzoeken, in elke passage naar de lus veranderen we alleen het wachtwoord en voegen er 1 aan toe, dus we zullen alle mogelijke wachtwoorden proberen van 0 tot 99999 (als we het niet eerder kunnen vinden). Verf alle cijfers die je vindt, want zo wilde ik het voor het voorbeeld, je kunt het verwijderen, hiervoor elimineer je het andere. Laten we deze code uitvoeren om te zien of de wachtwoorden worden gevonden.

Het eerste voorbeeld dat we gaan lanceren om het wachtwoord 2087 te vinden, hieronder is de afbeelding, je kunt zien dat het me geen 18 seconden kost om het te krijgen.

Als ik de else verwijder zodat het niet op het scherm verschijnt, kost elk nummer veel minder tijd, hier kun je een screenshot zien:

Nu voor de tweede en laatste poging heb ik het wachtwoord 20870 ingevoerd, om te zien hoe lang het deze keer duurt.

Je kunt het verschil zien als je nog een teken aan het wachtwoord toevoegt, maar toch is het een tijd dat we zonder problemen kunnen wachten, ook als we threads plaatsen, zou de tijd afnemen. Daarom gebruiken we sterke wachtwoorden en robuuste authenticatie in onze applicaties, die deze aanval niet kunnen automatiseren.

Als je een praktisch voorbeeld wilt zien waarin het wachtwoord van een zip of een rar is gekraakt, kun je de volgende tutorial bezoeken:

Breek .rar- of .zip-wachtwoord

Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave