ID.nl logo
Leren hacken met CTF challenges / Capture the flag
© Reshift Digital
Huis

Leren hacken met CTF challenges / Capture the flag

Hacken kun je leren, maar dit lukt alleen door veel proberen en experimenteren. Door hacken op de juiste manier, bij de juiste organisaties en in een veilige omgeving, help je mee om cybercrime tegen te gaan en mogelijk zelfs op te lossen, zonder de wet te overtreden. Eén van die manieren is een capture the flag-hackcompetitie. Lees hier meer overCTF challenges.

Security CTF’s oftewel capture the flag-competities hebben in deze context niks te maken met schietspelletjes op de computer of met het veroveren van de vlag bij het paintballen. Het zijn uitdagende opdrachten, ook wel challenges genoemd, waarbij je nieuwe hackingtechnieken kunt leren.

Vaak vinden CTF’s plaats tijdens een van de vele securityconferenties over de hele wereld. Al in 1996 werd er een CTF georganiseerd tijdens Def Con, een grote en bekende cyberbeveiligingconferentie die jaarlijks wordt gehouden in Las Vegas. Naarmate het internet groeide, groeide ook de CTF-competities en kon ook het internet gebruikt worden om waar dan ook ter wereld mee te doen. Tegenwoordig zijn CTF’s voor iedereen en overal bereikbaar en kun je online direct deelnemen.

In dit artikel leggen we je uit welke challenges er zijn en hoe je zelf CTF’s kunt vinden om te spelen, zowel online als offline.

Deelnemen aan een CTF

De meeste deelnemers aan CTF’s zijn hackers of hebben ervaring met hacken. Maar er komen ook veel studenten die een IT-opleiding volgen, al dan niet in de richting van security. Uiteraard is er ook niks mis mee om als volledige nieuweling mee te doen aan CTF’s, er is altijd wel iemand die je wil helpen of waar je bij kunt aanschuiven om mee te kijken en wat van kunt leren.

Uiteindelijk leer je wel het meest door het zelf te doen en proberen. Maar in het begin is het erg lastig, je weet niks en het lukt je maar niet om de challenges op te lossen. Maar aan het einde van elke CTF worden er write-ups gemaakt door de deelnemers, een volledige beschrijving van hoe anderen een challenge hebben weten op te lossen. Vaak voorzien van de gebruikte exploitcode, korte video’s of een complete stap-voor-stap YouTube-video. Deze zijn heel leerzaam en het beste kun je in het begin veel van deze beschrijvingen lezen en video’s bekijken om het zelf proberen na te doen, zodat je begrijpt hoe het moet en hoe het kan, en je daarna zelf mee aan de slag kunt.

Vaak zijn er aan de online CTF’s ook forums en IRC-kanalen verbonden. Hier worden de verschillende challenges besproken, maar altijd zonder dat er echt een hint of antwoord wordt prijsgegeven. Vragen naar flags, oplossingen of hints is niet netjes en vaak zelfs niet toegestaan. Zeker niet wanneer het voor anderen ook te lezen is.

Benodigdheden

Om mee te kunnen doen aan de online CTF’s, moet je weten waar ze te vinden zijn, vaak moet je een account aanmaken om in te kunnen loggen zodat ook je scores bijgehouden kunnen worden. Voor de Jeopardy stijl-challenges (uitleg verderop) heb je vaak niet meer nodig dan je computer of laptop en toegang tot de website. Bij de attack/defense- of penetratie-challenges heb je vaak een installatie van Kali nodig, het besturingssysteem voor hackingdoeleinden. Daarop zijn dan ook veel programma’s en tools te vinden die je nodig hebt. Overige tools kun je downloaden van bijvoorbeeld Github op het moment dat je ze nodig hebt.

Bekende tools zijn Nmap voor een eerste scan om informatie over porten en services te vinden, het Linux-tooltje smbclient voor meer informatie over samba shares, Wireshark voor het analyseren van netwerkverkeer, Nikto om webservers te scannen, hashcat voor het decoderen van wachtwoorden en sqlmap om geautomatiseerd SQL-injections te ontdekken.

©PXimport

Je kunt ook een volledige virtuele machine om mee te oefenen downloaden, die worden vaak als iso-bestand aangeboden. De machine is al helemaal voorbereid en je kunt hem op je eigen computer of laptop draaien. Zo heb je de beschikking over je eigen kwetsbare server, waar geen andere deelnemers op zitten. Deze downloadbare kwetsbare machines vind je bijvoorbeeld op de website vulnhub.com, hier staan inmiddels meer dan driehonderd .iso-bestanden op die elk hun eigen uitdaging en moeilijkheid hebben.

Soorten CFT challenges

Er zijn verschillende soorten challenges. Bij reverse engineering krijg je meestal een bestand, een uitvoerbaar programma, dat je lokaal kunt draaien. Met de juiste input voor het programma wordt uiteindelijk de flag onthuld. Door het reverse engineeren van het programma leer je hoe het algoritme werkt en weet je welke input je moet geven om de flag te vinden.

Bij cryptochallenges gaat het om cryptografie, vaak uiteenlopend van simpele of zelfgemaakte encryptie tot zwakke random generators. Maar het kan ook heel geavanceerd en wiskundig worden, waarbij je snel het spoor bijster bent als je niet volledig van dit soort technieken op de hoogte bent.

Bij pwning challenges krijg je meestal ook een uitvoerbaar programma, maar ook een ip-adres en een poort waar het programma op een server draait. Met het uitvoerbare bestand kun je lokaal proberen om het programma te exploiten en zo remote code execution te krijgen. Vervolgens gebruik je je ontwikkelde exploit code om op afstand een toepassing binnen te dringen en een actie uit te voeren. Als je op de server gekomen bent, kun je het bestand met de flag vinden en uitlezen. Vaak lopen deze challenges uiteen van een simpele buffer overflow tot erg geavanceerde heap overflows.

Een forensics challenge kent allerlei varianten. Bij een memory dump is het de bedoeling om een bestand te analyseren en bijvoorbeeld alle gebruikersnamen en wachtwoorden die op het moment van de dump in het geheugen van die computer waren geladen, eruit te halen. Bij netwerk packet analyse moet je analyseren hoe de communicatie tussen twee servers eruitzag en moet je bijvoorbeeld een gebruikersnaam en wachtwoord die in deze communicatie werd meegestuurd, vinden. De flag kun je vinden door de verborgen informatie uit de bestanden te lezen, alsof je een forensisch onderzoek aan het doen bent. Voor beginners zijn deze challenges vaak lastig.

Web challenges werken aan de hand van URL’s en kennen challenges zoals authenticatie bypass; het omzeilen van het inloggen met een gebruikersnaam en wachtwoord, en SQL- of XML-injections.

De IoT- (Internet Of Things) challenges zul je vaker bij een bedrijf of organisatie op kantoor vinden, omdat je hiervoor fysiek toegang tot het IoT-apparaat nodig hebt. Vaak is dit een combinatie van een web challenge, omdat er een administrator interface op zit, reverse engineering, omdat de firmware onderzocht kan worden, en een hardwarehack via bijvoorbeeld de netwerkaansluiting of UART, een seriële poort op een IoT-apparaat.

©PXimport

Er zijn eigenlijk twee veelvoorkomende soorten CTF’s. Namelijk Jeopardy-stijl CTF’s en attack/defense-CTF’s. Er zijn CTF’s die meer lijken op een werkelijke security penetratietest en er zijn gemengde competities; een combinatie van meerdere soorten CTF’s.

Bij de Jeopardy-stijl CTF is het de bedoeling om verschillende opdrachten (challenges) op te lossen van verschillende categorieën. Vaak kun je jezelf door het oplossen van de challenges toegang verschaffen tot een server, waar je dan een bepaalde tekst kunt vinden, die vlag (flag) heet. Vandaar ook de naam ‘capture the flag’. Deze flag kun je vervolgens uploaden als bewijs dat je de challenge gehaald hebt. Hiermee verdien je punten voor jezelf of je team.

De attack-/defense- CTF’s werken anders. Vaak worden ze gespeeld in teamverband. Elk team heeft zijn eigen kwetsbare servers en services. Als team moet je je eigen systeem verdedigen tegen andere teams die jouw systeem aanvallen. Tegelijkertijd kun je als team de server van andere teams proberen aan te vallen.

Bij de penetratietest-CTF probeer je individueel of met een team via vooraf bepaalde kwetsbaarheden een systeem binnen te komen. Een aantal veelvoorkomende kwetsbaarheden zijn het gebruik van zwakke wachtwoorden, gedeelde harde schijven zonder de juiste ACL’s, gesimuleerde eindgebruikers of bufferoverflows. Ook bij deze vorm van CTF is het niet toegestaan om elkaar aan te vallen, maar alleen de machines die voor de CTF beschikbaar zijn gemaakt.

De Jeopardy-stijl CTF’s gaan vaak over meer dan security alleen. Er komen ook veel raadsels en wiskundige breinkrakers in voor. De verschillende categorieën waarin challenges voorkomen zijn onder meer reverse engineering, cryptografie, pwning, forensics, web, IoT enzovoort. Hoe meer challenges je weet op te lossen, hoe moeilijker ze zullen worden. Moeilijker challenges leveren meer punten op. Degene met de meeste punten wint. Het is bij de Jeopardy-stijl CTF overigens niet toegestaan om elkaar aan te vallen, iedereen gebruikt over het algemeen zijn eigen laptop en logt in op de server of servers waar de challenges op staan.

Online CTF’s

Wil je zelf aan de slag met CTF, dan is een online-variant het makkelijkst om mee te beginnen. Er zijn wel honderden voorbeelden te noemen van websites die CTF’s hosten. Hier noemen we een aantal van de grootste en meestgebruikte websites.

Google heeft een CTF waarbij de beste tien teams na een online kwalificatieronde uitgenodigd worden om onsite de finale te spelen. En hier zijn leuke prijzen te winnen, maar het begint wel eerst online en daar kan iedereen aan mee doen.

CTF time is gemaakt door de CTF-community voor de CTF-community. Hier vind je CTF’s zowel online als offline, die binnenkort zullen plaatsvinden. Hoe en waar je je kunt inschrijven staat er ook, net als historische CTF-events en onder meer de ranglijst van deelnemende CTF-teams.

Overthewire is een verzameling van zogenoemde wargames. Elke challenge is te bereiken via een eigen ssh-poort. Er zijn verschillende levels die steeds moeilijker worden naarmate je verder komt. De Bandit-challenge is uitermate geschikt voor iedereen die net begint.

©PXimport

W3challs is een trainingsplatform met verschillende realistische challenges met verschillende moeilijkheidsgraden (easy, medium, hard). Deze heeft ook een forum waar je met andere deelnemers over de challenges kunt discussiëren.

Root-Me heeft meer dan 200 hack-challenges en ook nog 50 virtuele omgevingen waar je je skills kunt oefenen.

Op Hackthebox staan zowel kwetsbare servers als challenges in verschillende categorieën. Toegang krijgen tot de website is al een challenge op zich. Er zijn teams en ruim 150.000 mensen van over de hele wereld die dagelijks proberen de challenges te kraken.

Onsite CTF’s

Nog leuker is het natuurlijk om een on-site CTF bij te wonen of zelf aan deel te nemen. Er is een aantal bekende CTF’s. Secure by design organiseert elk jaar een CTF waar ongeveer 250 deelnemers op afkomen. Afgelopen jaren was het een uitgebreide penetratietest-stijl CTF in een studio in Hilversum.

Het Platform voor InformatieBeveiliging organiseert ook jaarlijks een CTF in Jeopardy-stijl. Aan meedoen zitten wel wat kosten verbonden, tenzij je lid bent, maar daarvoor krijg je wel een gezellige avond waar veel mensen aan deelnemen.

Hack in the box is een jaarlijkse hackingconferentie in Nederland, waar naast de conferentie ook een CTF wordt georganiseerd. Tijdens het tweedaags evenement wordt in teamverband geprobeerd de Jeopardy-stijl CTF te hacken.

Nog leuker is meedoen aan de CTF tijdens een van de hackingconferentie in de Verenigde Staten, zoals het eerder genoemde Def Con. Hiervoor moet je wel naar de VS, maar naast de CTF kun je ook de conferentie zelf bezoeken en er zijn leuke prijzen te winnen.

Tekst:Joost van ‘t Zand

▼ Volgende artikel
Hoe vaak moet je een wasbaar dekbed wassen?
© ID.nl
Huis

Hoe vaak moet je een wasbaar dekbed wassen?

Een wasbaar dekbed klinkt ideaal: nooit meer worstelen met een overtrek, gewoon alles in één keer in de wasmachine. Maar hoe vaak moet dat eigenlijk gebeuren? Elke week, of is dat overdreven? Het antwoord hangt af van een aantal factoren. In dit artikel lees je er meer over.

Lees ook: Wasbaar dekbed: handig of juist niet?

Bij een traditioneel dekbed vangt de losse hoes het meeste zweet en andere viezigheid op, maar bij een wasbaar dekbed vormt de buitenlaag (de tijk) samen met de vulling één geheel. Daardoor kan vuil dat normaal in de overtrek blijft sneller in het dekbed zelf trekken, wat regelmatig wassen extra belangrijk maakt.

Tegelijk is dat precies waarom zo’n dekbed in de praktijk vaak juist hygiënischer is: je doet telkens het hele dekbed, inclusief vulling, in de was. Heb je een traditioneel dekbed met een aparte hoes, dan was je die dekbedhoes waarschijnlijk eens per week of twee weken. Het dekbed zelf was je waarschijnlijk een stuk minder vaak. Dus per saldo is een dekbed zonder overtrek dus hygiënischer. Mits je het dus regelmatig wast…

Hoe vaak is regelmatig wassen?

Voor de meeste mensen volstaat het om dit dekbed eens in de één à twee weken in de wasmachine te stoppen. Slaap je in je eentje en zweet je weinig, dan kun je die twee weken aanhouden. Heb je het snel warm, deel je het bed met iemand (of een huisdier) of heb je last van allergieën, dan is wekelijks wassen beter. Zo blijft niet alleen de buitenkant schoon, maar ook de binnenkant van het dekbed.

Het is wel belangrijk dat je dat wassen op de juiste manier doet. Wasbare dekbedden kunnen best wat hebben, maar te veel draaien in de trommel kan de vezels beschadigen. Gebruik daarom een mild vloeibaar wasmiddel en sla de wasverzachter over. Zorg ook dat het dekbed genoeg ruimte heeft in de machine. Wanneer je echt moet proppen om hem erin te krijgen, schuurt de stof tegen de trommelwand en slijt het sneller.

©ID.nl

Wanneer moet je een dekbed zonder losse hoes vaker wassen?

Soms is een extra wasbeurt nodig. Ben je ziek geweest of heb je koorts gehad? Na ziekte of koorts is het verstandig het dekbed meteen te wassen op minimaal 40 graden. Kijk op het etiket om te zien of je misschien zelfs op 60 graden kunt wassen. Eet je weleens in bed en mors je koffie, thee of iets anders? Of heb je een bloedneus of een wondje? Ook dan is een extra wasbeurt geen overbodige luxe. Tot slot is het voor jezelf prettig om het dekbed in de zomer echt minimaal 1x per week te wassen. Je zweet dan nu eenmaal meer, en de nachten kunnen broeierig zijn.

Waarom je beter geen wasverzachter kunt gebruiken

De vulling van de meeste moderne wasbare dekbedden bestaat uit gesiliconiseerde holle vezels. Deze vezels hebben van nature een gladde siliconenlaag waardoor ze soepel langs elkaar heen glijden. Dit zorgt voor de luchtigheid van het dekbed. Wasverzachter brengt een wasachtig, vettig laagje aan op deze vezels. In plaats van dat de vezels langs elkaar glijden, worden ze juist een beetje plakkerig. Zodra de vezels aan elkaar kleven, verdwijnt de lucht tussen de vezels en daarmee ook de veerkracht en de warmte-isolatie van het dekbed. Het voelt dus klonterig aan. Ook verstopt de vette laag van de wasverzachter de holle ruimtes in en tussen de vezels. Hierdoor kan het dekbed minder goed vocht en warmte reguleren. Je dekbed ademt daardoor minder goed.

Wasbaar dekbed drogen

Wil je een traditioneel dekbed drogen, dan duurt dat vaak uren. Maar omdat de vulling van wasbare dekbedden bestaat uit synthetische holle vezels, is de droogtijd een stuk korter. Kijk wel goed op het wasetiket hoe heet de droger mag staan; je kunt een iets langer programma kiezen op een lagere temperatuur dan een superkort programma dat eigenlijk te heet staat. Dat is voor een synthetische vulling niet goed.

Wasbaar dekbed? 1x per week of twee weken in de was!

Zoals je ziet valt het onderhoud eigenlijk reuze mee. Door een wasbaar dekbed wekelijks of om de week te wassen en goed te laten drogen, blijft je bed schoon en fris. Vaker is alleen in een enkel uitzonderingsgeval nodig. Al met al is het dus niet zo veel werk als je misschien denkt!

▼ Volgende artikel
Clair Obscur: Expedition 33-makers geridderd in Frankrijk
Huis

Clair Obscur: Expedition 33-makers geridderd in Frankrijk

De werknemers van Sandfall Interactive, de ontwikkelaar van de vorig jaar uitgekomen game Clair Obscur: Expedition 33, zijn geridderd in Frankrijk.

De 28 Franse ontwikkelaars hebben afgelopen week de hoogst mogelijk culturele onderscheiding in Frankrijk ontvangen. Het gaat om de Orde van Kunst en Letteren. Dit vanwege hun werk aan Clair Obscur: Expedition 33.

De Franse minister van Cultuur, Rachida Dati, ridderde de werknemers. In Frankrijk worden elk jaar maximaal tweehonderd mensen geridderd voor de Orde van Kunst en Letteren. Mensen die geridderd worden moeten een significante bijdrage hebben geleverd aan de verrijking van de culturele erfgoed van het land. Eerdere mensen uit de game-industrie die ook zijn geridderd in Frankrijk, zijn Rayman-bedenker Michel Ancel en Mario-bedenker Shigeru Miyamoto.

Over Clair Obscur: Expedition 33

Clair Obscur: Expedition 33 kwam afgelopen voorjaar uit voor PlayStation 5, Xbox Series-consoles en pc. De game van Sandfall Interactive combineert traditionele turn-based rpg-gameplay met een flitsende, moderne presentatie.

In de game leeft de mensheid in een maatschappij waarin een entiteit genaamd de Paintress elk jaar de wereld opnieuw schildert. Daarbij plaatst ze een vervloekt cijfer, waardoor iedereen die de leeftijd heeft gelijk aan dat cijfer verdwijnt. In de game is het de beurt aan drieëndertigjarigen, maar een team geleid door Gustave probeert dit tegen te gaan.

Clair Obscur: Expedition 33 bleek een groot succes: het spel werd miljoenen keren verkocht en won de award voor game van het jaar tijdens The Game Awards eind vorig jaar. Dat is des te indrukwekkender wetende dat het om de debuutgame van Sandfall Interactive gaat.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.