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
Wat is local dimming en waarom is het belangrijk?
© ER | ID.nl
Huis

Wat is local dimming en waarom is het belangrijk?

Het gebrek aan een rijk contrast is een van de grootste ergernissen bij lcd- en ledtelevisies. Fabrikanten hebben daarom een slimme techniek bedacht die het contrast aanzienlijk verbetert: local dimming. In dit artikel leggen we uit hoe deze techniek van jouw grijze nachtlucht weer een inktzwarte sterrenhemel maakt.

Het contrast van je televisie is misschien wel de belangrijkste eigenschap voor mooi beeld. We willen dat wit verblindend wit is en zwart echt inktzwart. Bij oledtelevisies is dat makkelijk, want daar geeft elke pixel zelf licht. Maar de meeste televisies in de Nederlandse huiskamers zijn nog steeds lcd- of ledschermen (inclusief QLED). Die werken met een lamp achter het scherm, de zogeheten backlight. Local dimming is de techniek die probeert de nadelen van die achtergrondverlichting op te lossen.

Om te begrijpen waarom local dimming nodig is, moet je eerst weten hoe een standaard led-tv werkt. Simpel gezegd is het een groot paneel met pixels die zelf geen licht geven, maar alleen van kleur veranderen. Achter die pixels brandt een grote lichtbak. Als het beeld zwart moet zijn, sluiten de pixels zich om het licht tegen te houden. Helaas lukt dat nooit voor de volle honderd procent; er lekt altijd wat licht langs de randjes. Hierdoor zien donkere scènes er vaak wat flets en grijzig uit. De achtergrondverlichting staat immers vol aan, ook als het beeld donker moet zijn.

Nooit meer te veel betalen? Check Kieskeurig.nl/prijsdalers!

De lampen dimmen waar het donker is

Local dimming pakt dit probleem bij de bron aan. In plaats van één grote lichtbak die altijd aan staat, verdeelt deze techniek de achtergrondverlichting in honderden (en bij duurdere tv's soms duizenden) kleine zones. De televisie analyseert de beelden die je kijkt continu. Ziet de processor dat er linksboven in beeld een donkere schaduw is, terwijl rechtsonder een felle explosie te zien is? Dan worden de lampjes in de zone linksboven gedimd of zelfs helemaal uitgeschakeld, terwijl de lampjes rechtsonder juist fel gaan branden.

Het resultaat is direct zichtbaar. Zwart wordt weer echt zwart, simpelweg omdat er geen licht meer achter dat deel van het scherm brandt. Tegelijkertijd blijven de lichte delen van het scherm helder. Dat zorgt voor een veel groter contrast en geeft het beeld meer diepte. Vooral bij het kijken van HDR-films en -series is dat van belang. Zonder local dimming kan een led-tv eigenlijk geen goed HDR-beeld weergeven, omdat het verschil tussen licht en donker dan te klein blijft.

©ER | ID.nl

Niet alle local dimming is hetzelfde

Het klinkt als een wonderoplossing, maar de uitvoering verschilt enorm per televisie. Het grote toverwoord hierbij is het aantal zones. Hoe meer zones de tv onafhankelijk van elkaar kan aansturen, hoe preciezer het licht kan worden geregeld. Goedkopere televisies gebruiken vaak edge lit local dimming. Hierbij zitten de lampjes alleen in de rand van de tv. Dat werkt redelijk, maar is niet heel nauwkeurig. Je ziet dan soms dat een hele verticale strook van het beeld lichter wordt, terwijl er eigenlijk maar één klein object moest worden verlicht.

De betere variant heet full array local dimming. Hierbij zitten de lampjes over de hele achterkant van het scherm verspreid. De allernieuwste en beste vorm hiervan is miniLED. Daarbij zijn de lampjes zo klein geworden dat er duizenden in een scherm passen, wat de precisie van oled begint te benaderen. Als er te weinig zones zijn, kun je last krijgen van zogenaamde 'blooming'. Dat zie je bijvoorbeeld bij witte ondertiteling op een zwarte achtergrond: er ontstaat dan een soort wazige lichtwolk rondom de letters, omdat de zone groter is dan de tekst zelf.

Welke merken gebruiken local dimming?

Bijna elke grote televisiefabrikant past deze techniek inmiddels toe, maar ze doen dat voornamelijk in hun middenklasse en topmodellen. Samsung is een van de voorlopers, zeker met hun QLED- en Neo QLED-televisies, waarbij ze in de duurdere series gebruikmaken van geavanceerde miniLED-techniek voor zeer precieze dimming. Ook Sony staat bekend om een uitstekende implementatie van full array local dimming, die vaak geprezen wordt om de natuurlijke weergave zonder overdreven effecten. Philips past het eveneens toe in hun (mini)ledmodellen, vaak in combinatie met hun bekende Ambilight-systeem voor een extra contrastrijk effect.

Ga voor de full monty!

Local dimming is dus geen loze marketingkreet, maar een dankbare techniek voor iedereen die graag films of series kijkt op een led- of QLED-televisie. Het maakt het verschil tussen een flets, grijs plaatje en een beeld dat van het scherm spat met diepe zwartwaarden. Ben je in de markt voor een nieuwe tv? Vraag dan niet alleen óf er local dimming op zit, maar vooral of het gaat om full array dimming. Je ogen zullen je dankbaar zijn tijdens de volgende filmavond!

Vijf fijne televisies die full array local dimming ondersteunen

▼ Volgende artikel
Waar voor je geld: 5 robotstofzuigers voor een extra schone vloer
© ID.nl
Huis

Waar voor je geld: 5 robotstofzuigers voor een extra schone vloer

Bij ID.nl zijn we gek op producten waar je niet de hoofdprijs voor betaalt of die zijn voorzien van bijzondere eigenschappen. Met een robotstofzuiger wordt de vloer schoongehouden, terwijl je er niet bij hoeft te zijn. En stofzuigen is dan wel het minste dat ze kunnen, want ook dweilen is voor veel modellen geen proleem. We vonden vijf geavanceerde exemplaren.

Philips HomeRun 7000 Series XU7100/01

De Philips HomeRun 7000 Series XU7100/01 is ontworpen om grote ruimtes aan te kunnen. Het apparaat heeft een stofzak van 3 liter en een werktijd tot 180 minuten in de laagste stand. In tegenstelling tot veel kleinere robots is deze HomeRun uitgerust met een stille motor; de opgave van 66 dB maakt hem relatief stil.

Er zit een dweilfunctie in zodat je de robot na het stofzuigen ook direct kunt laten dweilen. Via de app kies je voor een van de modi of plan je een schoonmaakprogramma in. De robot kan zichzelf navigeren, obstakels omzeilen en keert na gebruik terug naar het laadstation. Omdat de opvangbak groot is hoef je niet vaak te legen en dankzij de Li‑ion‑accu is hij geschikt voor grotere woningen. Het apparaat is van recente datum en daarom nog volop verkrijgbaar.

Dreame L10s Pro Ultra Heat

Deze robot combineert een groot stofreservoir van 3,2 liter met een lange werktijd van ongeveer 220 minuten. Dankzij de geïntegreerde dweilfunctie verwijdert hij niet alleen stof maar kan hij ook nat reinigen. De L10s Pro Ultra Heat gebruikt een zak in het basisstation, waardoor je het reservoir minder vaak hoeft te legen.

De Dreame is voorzien van een Li‑ion‑batterij aanwezig en de robot keert automatisch terug naar het station voor opladen en legen. De sensortechnologie helpt bij het vermijden van obstakels en het nauwkeurig schoonmaken van zowel harde vloeren als tapijt. Dankzij de meegeleverde app stuur je de schoonmaak aan, stel je no‑go‑zones in of plan je een dweilrondje.

Philips HomeRun 3000 Series Aqua XU3100/01

Deze Philips‑robot is bedoeld voor wie minder vaak handmatig wil schoonmaken. Hij beschikt over een gecombineerde stofzuig‑ en dweilfunctie en kan zichzelf legen via het automatische station. Met een gebruiksduur tot 200 minuten in de laagste stand en een geluidsniveau van 66 dB kan hij urenlang zijn werk doen zonder al te veel herrie. De stofcontainer van 35 cl is kleiner dan bij de HomeRun 7000, maar door het automatische leegmechanisme is dat geen probleem.

Je bedient het apparaat via de app en kunt daar zowel een schema programmeren als zones instellen. De Aqua XU3100/01 is een model uit de recente 3000‑serie en doordat hij een mop‑pad heeft kan hij zowel droog als nat reinigen, wat handig is voor harde vloeren zoals tegels en laminaat.

iRobot Roomba Combo j9+

De Roomba Combo j9+ is een model dat je vloeren zowel kan stofzuigen als dweilen. De Combo j9 beschikt over een opvangbak van 31 cl en hij kan zelf zijn inhoud legen in het automatische basisstation dat bij de set hoort. De Li‑ion‑accu zorgt voor een lange gebruiksduur en de robot maakt een routeplanning zodat elke ruimte efficiënt wordt schoongemaakt.

Via de app kun je zones instellen waar de robot niet mag komen en het dweilelement in‑ of uitschakelen. In de basis maakt de Combo j9+ zelfstandig een kaart van je woning en keert terug naar het station wanneer de accu moet opladen of de stofcontainer vol is. De robot is bedoeld voor huishoudens die gemak belangrijk vinden en biedt naast stofzuigen ook een dweilfunctie voor hardere vloeren.

MOVA Tech P50 Ultra

De MOVA Tech P50 Ultra is een forse robotstofzuiger met een basisstation. Het apparaat heeft een stofreservoir van 30 cl en wordt geleverd met een basisstation waarin je het stof eenvoudig kunt verwijderen. De robot produceert een geluidsniveau van 74 dB, iets hoger dan de Philips‑modellen, en weegt inclusief station ruim 13 kg.

Hij kan uiteraard ook automatisch terugkeren naar het station om op te laden of te legen. In de specificaties staat dat de MOVA is voorzien van een Li‑ion‑batterij en dat hij zowel kan stofzuigen als dweilen. De meegeleverde app maakt het mogelijk om routes in te stellen en zones te blokkeren. Met een vermogen van 700 W is hij krachtig genoeg voor tapijten en harde vloeren. Het is geschikt voor mensen die een uitgebreid station met automatische functies willen.