In het begin, in de 'goeie ouwe tijd', werd hacken voornamelijk gebruikt om meer te leren over systemen en ICT in het algemeen. Meer recent heeft hacken een duisterder bijbetekenis gekregen, dankzij een paar slechteriken in films. Veel bedrijven nemen hackers in dienst om de sterke en zwakke punten van hun systemen te testen. Deze hackers weten wanneer ze moeten stoppen, en het positieve vertrouwen dat ze opbouwen levert hen een riant salaris op. Als je er klaar voor bent om er helemaal in te duiken en je deze kunst eigen te maken, dan delen we een paar tips met je om je op weg te helpen!
Voor je begint met hacken

- C is de taal waarmee Unix is gebouwd. Het leert je (evenals assembly) iets wat heel belangrijk is bij het hacken: hoe computergeheugen werkt.
- Python of Ruby zijn hogere, krachtige scripttalen die kunnen worden gebruikt om verschillende taken te automatiseren.
- Perl is ook een redelijk goede keuze, terwijl PHP het leren waard is omdat de meeste webapplicaties er gebruik van maken.
- Bash-scripting is een must. Dat is nodig om op een eenvoudige manier Unix/Linux systemen te manipuleren—scripts schrijven die het grootste deel van het werk voor je doen.
- Assembleertaal of assembly is iets dat je moet kennen. Het is de standaardtaal die je processor begrijpt, en er bestaan meerdere variaties van. Uiteindelijk worden alle programma's uiteindelijk geïnterpreteerd als assembly. Je kunt een programma niet daadwerkelijk benutten als je geen assembly kent.

Hacken

Gebruik een *nix-terminal voor de opdrachten. Met Cygwin kun je een *nix emuleren in Windows. Nmap in het bijzonder gebruikt WinPCap om in Windows te kunnen draaien en heeft Cygwin niet nodig. Nmap werkt echter niet in Windows-systemen, door een gebrek aan raw sockets. Overweeg ook om Linux of BSD te gebruiken, omdat die flexibeler zijn. De meeste Linux-distributies worden geleverd met veel handige tools .

Zorg er eerst voor dat je eigen machine veilig is. Zorg dat je alle gebruikelijke technieken om jezelf te beschermen goed begrijpt. Begin met de basisvaardigheden — zorg dat je toestemming hebt om je doel aan te vallen: val gewoon je eigen netwerk aan, vraag schriftelijk om toestemming of maak een eigen testomgeving met virtuele machines. Het aanvallen van een systeem, ongeacht de content, is illegaal en brengt je gegarandeerd in de problemen.

Test je doel. Kun je bij het externe systeem? Hoewel je de ping-functie kunt gebruiken (de meeste besturingssystemen beschikken daar wel over) om na te gaan of het doelwit actief is, kun je de resultaten niet altijd vertrouwen — het hangt af van het ICMP-protocol, dat heel eenvoudig uitgezet kan worden door paranoïde systeembeheerders.

Stel vast wat het besturingssysteem (OS) is. Draai een scan van de poorten en probeer pOf of nmap een poortscan te laten draaien. Hiermee krijg je een overzicht van de poorten die openstaan op de machine, het OS, en het kan je zelfs vertellen wat voor firewall of router er wordt gebruikt, zodat je een actieplan op kunt stellen. Je kunt het detecteren van het OS activeren door de parameter -O te gebruiken in nmap.

Zoek een pad of een open poort in het systeem. Veel gebruikte poorten zoals FTP (21) en HTTP (80) zijn vaak goed beschermd en mogelijk alleen kwetsbaar door zwakke plekken (exploits) die nog moeten worden ontdekt.
- Probeer andere TCP en UDP-poorten die misschien vergeten zijn, zoals Telnet en diverse UDP-poorten die open zijn blijven staan voor LAN-gaming.
- Een poort 22 die open is, is meestal het bewijs dat er een SSH (secure shell) service draait op het doelwit, welke soms via brute force kan worden gehackt.

Kraak het wachtwoord of de authenticatieprocedure. Er zijn verschillende methoden voor het kraken van een wachtwoord, waaronder brute force. Brute force loslaten op een wachtwoord is een poging om elk mogelijk wachtwoord te vinden, uit een bestaande bibliotheek van brute force-software
- Gebruikers worden vaak aangeraden om sterke wachtwoorden te gebruiken, zodat brute force veel tijd in beslag kan nemen. Maar er zijn belangrijke verbeteringen geweest in brute force-technieken.
- De meeste hashing-algoritmes zijn zwak, en je kunt de kraaksnelheid sterk verbeteren door gebruik te maken van deze zwakheden (zoals het opdelen van het MD5- algoritme in 1/4, waardoor de snelheid enorm verbetert).
- Nieuwere technieken gebruiken de grafische kaart als extra processor — en die is duizenden keer sneller.
- Je kunt ook Rainbow Tables gebruiken om zo snel mogelijk wachtwoorden te kraken. Merk op dat het kraken van een wachtwoord alleen een goede techniek is als je al over de hash van het wachtwoord beschikt.
- Elk mogelijk wachtwoord proberen terwijl je probeert in te loggen op een externe machine is geen goed idee, omdat dit snel ontdekt wordt door inbraaksystemen, omdat het de logs van systemen vervuilt, en omdat het je jaren kan kosten.
- Je kunt ook zorgen dat je over een geroot tablet beschikt, waarop je een TCP-scan installeert, waarna een signaal het uploadt naar de beveiligde site. Daarna zal het IP-adres worden geopend waardoor het wachtwoord op je proxy verschijnt.
- Het is vaak veel eenvoudiger om een andere manier te vinden om bij een systeem binnen te komen dat het kraken van het wachtwoord.

Zorg dat je over superuser-privileges beschikt. Probeer root-privileges te krijgen als je een *nix-machine je doelwit is, of beheerdersrechten als je een Windows-systeem probeert binnen te komen.
- De meeste belangrijke informatie die van vitaal belang is, zal beveiligd zijn en je hebt een bepaald toegangsniveau nodig om er bij te kunnen komen. Om alle bestanden op een computer te kunnen bekijken heb je superuser-privileges nodig – een gebruikersaccount met dezelfde rechten als de root-gebruiker in Linux en BSD besturingssystemen.
- Voor routers is dit standaard het 'admin'-account (behalve als het is gewijzigd). In Windows is dit het beheerdersaccount.
- Toegang krijgen tot een verbinding betekent niet dat je overal toegang hebt. Alleen een superuser, de beheerdersaccount, of de root-account, kan dit doen.

Gebruik diverse trucs. Vaak zal je voor het verkrijgen van de superuser-status tactieken moeten gebruiken voor het creëren van een 'buffer overflow', wat ervoor kan zorgen dat het geheugen wordt gedumpt en waardoor je code kunt injecteren of een taak kunt uitvoeren op een hoger niveau dan waarvoor je normaliter toegang toe hebt.
- In Unix-achtige systemen zal dit gebeuren als de software met de bug het setuid-bit heeft ingesteld, zodat het programma zal worden uitgevoerd als andere gebruiker (bijvoorbeeld de superuser).
- Je kunt dit alleen doen als je een onbeveiligd programma schrijft of vindt die je kunt draaien op hun machine.

Creëer een backdoor. Heb je eenmaal de volledige controle gekregen over het systeem, dan is het een goed idee om ervoor te zorgen dat je weer terug kunt komen. Dit kun je doen door een 'backdoor' te creëren in een belangrijke systeemservice, zoals de SSH-server. Het kan echter wel zijn dat je backdoor weer wordt verwijderd tijdens een volgende upgrade van het systeem. Een echt ervaren hacker zou de compiler zelf van een backdoor voorzien, zodat alle gecompileerde software een potentiële manier zou kunnen worden om terug te keren.

Wis je sporen uit. Laat de systeembeheerders niet weten dat hun systeem is gecompromitteerd. Wijzig niets aan de website (als die bestaat), en creëer niet meer bestanden dan je echt nodig hebt. Maak geen nieuwe gebruikers aan. Handel zo snel als mogelijk is. Als je een server zoals een SSHD hebt gepatcht, zorg er dan voor dat je wachtwoord in de code is opgenomen. Als iemand met dat wachtwoord probeert in te loggen zou de server diegene binnen moeten laten, maar het mag zeker geen cruciale gegevens bevatten.
Reactie plaatsen
Reacties