De oorspronkelijke betekenis van de term 'hacken' houdt in dat een bestaande technologie op een andere manier wordt toegepast dan de ontwerper heeft bedoeld. Bijvoorbeeld door van een stofzuiger een buitenboordmotor te maken. Tegenwoordig wordt hacken voornamelijk gebruikt om het ongeoorloofd gebruik van een systeem, of een poging hiertoe, aan te duiden.Hackers onderzoeken de grenzen en beperkingen van technieken om op die manier de zwakheden in een computersysteem of een netwerk te ontdekken. In sommige gevallen wordt dit gedaan om de beveiliging hiervan te verbeteren en om misbruik in de toekomst te voorkomen. Hackers die zich hiermee bezighouden worden aangeduid als 'white hats', ofwel goedwillige hackers.
Een andere categorie hackers probeert echter om misbruik te maken van deze zwakheden voor eigen gewin. Deze hackers worden ook wel 'black hats', ofwel kwaadwillige hackers genoemd. Veel systeembeheerders en beveiligingsexperts zijn vroeger vaak als hacker begonnen, danwel white of black hat.
Ook XS4ALL is in de hackersscene ontstaan. Crackers daarentegen zoeken zelf niet naar zwakheden maar maken gebruik van de door hackers ontdekte technieken en proberen deze te automatiseren om zo op grote schaal toe te passen. Crackers zijn verantwoordelijk voor het grootste gedeelte van het misbruik dat plaatsvind op internet. Dit misbruik loopt uiteen van het opzetten van phishing webpagina's tot het beheren van een botnet. De term 'cracking' wordt ook wel gebruikt voor het aanpassen van software om deze zonder geldige licentie te kunnen gebruiken. Scriptkiddies liften mee op de technieken van crackers. Ze gebruiken eenvoudige, door crackers geschreven scripts maar begrijpen hier niets van. Scriptkiddie is dan ook een term die soms gebruikt wordt om een onkundige hacker of cracker aan te duiden.