Dus je wilt een Hacker worden?

De laatste tijd lees ik een heleboel vragen, berichten en algemene discussies over de vraag of je al dan niet aan informatiebeveiliging wilt gaan doen, en naar mijn mening wordt dat meestal gevolgd door een flinke dosis misleidende informatie. Dat is misschien een beetje hard, want ik weet zeker dat het goed bedoeld is, en het is zelfs mogelijk dat het advies voor hen werkte (er is geen advies dat in één maat past), maar ik dacht dat ik hier mijn gedachten zou uiteenzetten in de hoop een nieuwe beginnende hacker vooruit te helpen.

Ik wil gaan sporten, waar moet ik beginnen?
Deze vage, open en zeer dubbelzinnige vraag lijkt erg op iemand die vraagt hoe hij of zij aan de slag moet gaan in de informatiebeveiliging. Het eerste wat je je moet realiseren is dat er een enorm scala aan informatiebeveiligingsgebieden is, en binnen elk van die enorme gebieden is er een levenslange hoeveelheid leerinhoud. Net als bij het kiezen van een sport is er geen ‘beste’, het is gewoon soms een gebied dat je leuker vindt dan andere. Zo uit mijn hoofd zijn hier enkele voorbeelden, maar dit is zeker niet volledig.

  • Web Application Security
  • Reverse Engineering
  • Malware Reverse Engineering
  • Network Security
  • Incident Response
  • Standards Compliance
  • Programmeren / Tools maken voor anderen
  • Exploit Ontwikkeling
  • Forensics
  • Sommige van deze zijn meer technisch van aard terwijl andere meer theoretisch van aard zijn. Ik garandeer je dat wat je ook leuk vindt er anderen zijn die het saai zullen vinden, net zoals jij dat soms zult doen met wat anderen interessant vinden. Op dit moment is de verwachting dat als je dit leest je misschien heel weinig weet over een van deze gebieden, maar wat belangrijk is, is je bereidheid om te leren en wat voor soort motivatie je hebt.

    Het Hacking Type
    Een handelsmerk dat bijna universeel is bij mensen op deze gebieden is hun focus op zelfstandig, zelfgestuurd leren. Helaas wordt beveiliging in sommige opzichten nog steeds beschouwd als een ‘duistere kunst’, ik bedoel waarom zou iemand willen weten hoe in te breken in een computersysteem, tenzij hij dat ook gaat doen? Als gevolg daarvan zullen veel mensen minachting tot regelrechte vijandigheid tonen wanneer ze vragen stellen over beveiliging, onder de valse (misschien soms ware) veronderstelling dat het slechts een ‘scriptkiddie’ is die systemen wil leren hacken, in plaats van te willen leren en die kennis voor een goed doel te willen gebruiken. Het is ook een feit dat de “leermiddelen” op het gebied van informatiebeveiliging nogal onsamenhangend zijn zonder een echte centrale opslagplaats van leermateriaal.

    Het punt om dit te benadrukken is dat als je succes wilt hebben op het gebied van informatiebeveiliging, je bereid moet zijn om in te springen en je weg te vinden zonder te wachten tot iemand je hand vasthoudt en je langs het juiste pad leidt. Google maar eens wat van de bovenstaande termen en kijk wat leuk klinkt. Ondanks wat soms lijkt op een constante strijd om het ‘beste’ gebied om te leren te vinden, of de ‘beste’ bron, of de ‘beste’ manier om te leren vaak meer tijd wordt besteed uitstellen afvragen deze vragen in plaats van de tijd te wijden aan het daadwerkelijk leren. Kijk op youtube naar video’s met voorbeelden van hacken – het is niet erg als je niet weet wat veel van die termen betekenen, maar schrijf een lijstje op en google op die termen. Gebruik aandachtspunten om te paaien met een steeds groter wordend web van kennis rond onderwerpen waarin je geïnteresseerd bent.

    Moet ik eerst X leren?
    Natuurlijk moet je een volledige kennis van de OSI laag hebben voordat je begint. Ja, je moet dat 1000 pagina’s tellende boek over het TCP-protocol lezen. Ja, je moet 5 programmeertalen beheersen (op zijn minst!) voordat je gaat hacken. Kun je je eigen Linux kernel compileren vanaf broncode? Nee? Doe dan geen moeite om hacking te leren. Eigenlijk…. is dat allemaal onzin, maar toch is het een van de meest gegeven antwoorden aan mensen die informatiebeveiliging willen leren. Er is één vereiste om een goede hacker te worden – interesse. Het verschil tussen een toekomstige hacker en een scriptkiddie is niet kennis, het is de bereidheid om te leren.

    Zolang je een vaag idee hebt van hoe je een computer moet gebruiken, heb je een startpunt waar je mee aan de slag kunt. Ja, als je niet goed weet hoe TCP werkt, moet je dat op je to-do lijstje hebben staan om op te zoeken als iemand het erover heeft in een hacking tutorial – maar het is belachelijk om te denken dat je een hoop voorkennis nodig hebt voordat je mag beginnen met het leren over onderwerpen waarin je geïnteresseerd bent. Als je op een hacking site opzoekt hoe die login puzzel werkt en het gebruikt JavaScript, dan ga je leren hoe JavaScript werkt. Als je doorleest hoe een buffer overflow werkt en het heeft een Python template dan leer je de basis van Python. Nee, je zult geen baan krijgen als ontwikkelaar in deze talen aan het eind, maar je zult wel de gebruikelijke manieren leren om de taal te breken.

    Informeel leren
    “Ok, ik snap de hint – ik moet dingen zelf leren, maar kun je me op z’n minst een startpunt geven?”

    Zeker, er zijn een ton van grote gratis of goedkope bronnen die er zijn om mee te beginnen, afhankelijk van welk onderwerp je aanspreekt. Hier zijn enkele voorbeelden.

    Web Application Security

  • HackThisSite – Goed voor een aantal fundamentele webgebaseerde uitdagingen (link)
  • Enigma Group – Vergelijkbaar met Hack this site (link)
  • OWASP Top 10 – Idee van wat zijn de meest kwetsbaarheden zijn (link)
  • OWASP Broken Wep Apps – Een virtuele computer die je kunt laden om hackingvaardigheden op je netwerk te oefenen (link)
  • Pentesting Lab – Nog een webgerichte virtuele machine (link)
  • In feite is alles van vulnhub dat je interesseert goed (link)
  • The Web Application Hackers Handbook – Het boek over web hacking en kwetsbaarheden (link)
  • Reverse Engineering / Malware Reversing

  • Lena’s Tutorials – Bekend als zo’n beetje een van de beste introducties tot reverse engineering (link)
  • The Legends of Random – Wederom een solide set tutorials voor reverse engineering (link)
  • Reversing: Secrets of Reverse Engineering – Een goed boek over de basis van reverse engineering (link)
  • Practical Malware Analysis – Een goed boek over het omkeren van malware (link)
  • Malware Analysts Cookbook – Nog een boek over het omkeren van malware (link)
  • Network Security

  • Virtual Machines domineren deze categorie omdat ze je in staat stellen om te oefenen tegen echte machines. Ga naar vulnhub en download een VM die er interessant uitziet (link)
  • Metasploit Unleashed – Een solide run through van het metasploit test framework om te gebruiken in combinatie met VM’s. (link)
  • De grondbeginselen van hacken en penetratietesten – Een zeer elementaire kijk op penetratietesten die nuttig is voor degenen die helemaal nieuw zijn op dit gebied. (link)
  • Metasploit – The Penetration Testers Guide – Nog een boek dat zich richt op het gebruik van metasploit bij penetratietesten. (link)
  • Omdat dit zo’n enorm veld is, is het vaak een kwestie van het in één aspect op te splitsen, en dan dat aspect specifiek te onderzoeken. Blogs zijn hier je beste vriend. (link)
  • Exploit Development

  • Corelan – Dit is veruit de beste bron die er is om te leren over exploit development. (link)
  • FuzzySecurity – Nog een goede leermiddel met enkele tutorials beschikbaar (link)
  • Exploit-DB – Een van de beste dingen die je kunt doen is voorbeelden vinden van exploits (vaak met apps erbij) en proberen de exploit zelfstandig na te maken (link)
  • Hacking – The Art of Exploitation – Een fantastisch boek dat tonnen verschillende exploit-technieken behandelt (link)
  • The Shellcoders Handbook – Nog een fantastisch boek over exploit-ontwikkeling en shellcoding (link)
  • Overige dan dat, Google, Google, en nog meer Google. Ik heb een aantal gebieden weggelaten, zoals forensisch onderzoek en compliance, omdat ik daar persoonlijk niet in geïnteresseerd ben, dus ik ben niet op zoek gegaan naar bronnen, maar ik weet zeker dat er een aantal fantastische te vinden zijn.

    Formal Learning
    Naast de gratis middelen kun je ook beginnen met het behalen van certificaten om jezelf aantrekkelijker te maken voor werkgevers als je wilt overstappen naar het veld als meer van een carrièrepad. Enkele certificaten die ik ten zeerste zou aanbevelen zijn de “Penetration Testing with Kali Linux” cursus van Offensive Security (link) als je geïnteresseerd bent in netwerkbeveiliging. Het is gemakkelijk een van de beste leerervaringen die ik ooit in het veld heb gehad en leerde me meer in 60 dagen dan ik in een jaar in mijn eentje had geleerd. Hun “Cracking the Perimeter” is ook een geweldige cursus, die zich iets meer richt op de ontwikkeling van exploit (link).

    Als je je programmeervaardigheden wilt ontwikkelen, is bijvoorbeeld SecurityTube’s “Python for Pentesters and Hackers” (link) een goede basis die je veel handige dingen leert, zoals het bouwen van je eigen poortscanners, password crackers etc. Ik hecht geen grote waarde aan hun certificeringen die ze aanbieden vanuit een werkgelegenheidsperspectief, maar ik zou het meer zien als een geconsolideerde brok kennis en voorbeelden die te koop zijn, wat nog steeds waardevol kan zijn.

    De “Certified Ethical Hacker” cursus is een andere die vaak wordt genoemd. Eerlijk gezegd wordt er meestal op neergekeken, dus ik denk niet dat het per se het geld waard is – maar als je een formele cursus nodig hebt om dingen te leren, dan kan het voor jou het geld waard zijn. Veel van deze certificeringen en hun waarde worden besproken op TheEthicalHacker.net’s forums die hier te vinden zijn.

    “Gewoon kijken of je het kunt”
    Hacken gaat over het verkrijgen van toegang tot dingen waar we niet voor bedoeld zijn. Het maken van een exploit, het vinden van een SQL-injectie, het kraken van wachtwoorden, het is allemaal ontworpen om ons in de richting van het doel van het nemen van de controle van de doos die we aanvallen. Ik garandeer je dat bijna elke nieuwe hacker droomt over “Eens kijken of ze toegang kunnen krijgen” tot die schoolwebsite. “Eens kijken of ze” toegang kunnen krijgen tot het WiFi-netwerk van de buren. Hun vriend een trojan virus te sturen “gewoon om te zien of ze de controle kunnen” overnemen. Erger nog, je zou kunnen eindigen met het bezoeken van plaatsen als HackForums.net en veel mensen zien die anderen proberen te infecteren met RATs, botnets bouwen etc. in de veronderstelling dat dit hacken is, of helaas dat dit de enige manier is waarop je het kunt leren.

    Ik moet benadrukken dat dit niet het geval is. Elk type van “gewoon zien of je kunt” type oefeningen kan worden gerepliceerd door het gebruik van virtuele machines, je eigen routers of zelfs capture the flag / wargame wedstrijden die er zijn. Realistisch gezien, zelfs als je toegang hebt tot de machine van iemand anders, wat ga je er dan mee doen? Ga je echt proberen om kredietkaartgegevens te stelen en frauduleuze transacties uit te voeren? Ga je echt wachtwoorden stelen en paranoïde worden dat je activiteiten naar jou zullen worden herleid om in iemands e-mails te kunnen gluren? Er zijn voorbeelden te over van nieuwelingen die worden aangeklaagd omdat ze niet beseffen hoe ernstig de misdaden zijn die ze begaan. Als je bij de FBI zou gaan werken en ze zouden je postgeschiedenis bekijken, zou je dan willen dat ze die post lazen waarin je vraagt hoe je een botnet host? Het is een klassiek voorbeeld van wat op het internet staat, is voor altijd, en als je echt een carrière in informatiebeveiliging wilt, heb je een blanco strafblad nodig om alle veiligheidsmachtigingen te krijgen die je nodig hebt om je werk te doen. Gepakt worden voor domme dingen is het gewoon niet waard.

    Samenvatting
    Na dit lange verhaal, wat zijn de hoofdpunten?

  • Een hacker gaat actief op zoek naar informatie, wacht niet tot anderen hem die geven
  • Het verschil tussen een scriptkiddie en een nieuwe hacker is de wil om te leren
  • Je moet experimenteren met een breed scala aan informatiebeveiligingsgebieden om te vinden wat je interesseert
  • Laat niemand je vertellen dat er voorwaarden zijn om informatiebeveiliging te leren, dat is niet zo.
  • Het is het niet waard om “gewoon te kijken of je iets kunt” wat niet legaal is, het risico versus de beloning slaat nergens op
  • Met cursussen, wargames, capture the flags en nog belangrijker virtuele machines is er geen hackscenario dat niet legaal kan worden nagebootst
  • Heb veel plezier, sorry als het tegen het einde prekerig werd en geniet van het pwning van dozen! Informatiebeveiliging is een geweldig vakgebied en je leert elke dag dat je ermee bezig bent iets nieuws. Er is geen goed antwoord voor het krijgen van in het veld, behalve springen in het met beide voeten. Word nat, leer watertrappelen en blijf drijven, misschien kun je op een dag zelfs een beetje zwemmen!

    Geef een antwoord

    Het e-mailadres wordt niet gepubliceerd.