Een CTF kan zich in verschillende gedaantes voordoen, met elk zijn eigen unieke aspecten.
https://emaragkos.gr/ctfs/ctf-categories
Traditioneel gezien zijn er een aantal CTF categorieën die vaak terug komen. Ook zijn er een aantal die overlapping hebben met elkaar of een subcategorie die zich zo differentieert dat het een opzichzelfstaande categorie is.
Forensisch onderzoek is de kunst om het digitale spoor dat achterblijft op een computer terug te vinden. Er zijn tal van methoden om gegevens te vinden die schijnbaar zijn gewist, niet zijn opgeslagen of, erger nog, in het geheim zijn vastgelegd.
Een belangrijk onderdeel van Forensics is het hebben van de juiste tools en het vertrouwd zijn met de volgende onderwerpen:
(Eigen categorie zou kunnen)
Forensische" uitdagingen kunnen bestaan uit bestandsformaatanalyse, steganography (afbeeldingen), geheugendumpanalyse of analyse van het vastleggen van netwerkpakketten. Elke uitdaging om een verborgen stukje informatie uit statische gegevensbestanden te onderzoeken en te verwerken (in tegenstelling tot uitvoerbare programma's of externe servers) kan worden beschouwd als een Forensische uitdaging (tenzij het gaat om cryptografie).
Bijna elke forensische uitdaging zal betrekking hebben op een bestand, meestal zonder enige context die je een vermoeden geeft van wat het bestand is.
Bestanden-in-bestanden is een veel voorkomende uitdaging in forensische CTF-challenges, en ook in de firmware van embedded systemen waar primitieve of platte bestandssystemen gebruikelijk zijn. De term voor het identificeren van een bestand dat is ingesloten in een ander bestand en het uitpakken ervan is "file carving".
Archiefbestanden (ZIP, TGZ), beeldbestandsformaten (JPG, GIF, BMP, PNG), bestandssysteemafbeeldingen (vooral EXT4), pakketopnamen (PCAP, PCAPNG), geheugendumps, PDF, video (vooral MP4) of audio (vooral WAV, MP3), Microsoft's Office-formaten (RTF, OLE, OOXML).
De meeste CTF challenges zitten in een zip, 7z, rar, tar of tgz bestand, maar alleen in een forensische uitdaging zal het archief container bestand een deel van de uitdaging zelf zijn. Meestal is het doel hier om een bestand uit een beschadigd archief te halen, of om data te vinden die ergens in een ongebruikt veld is ingebed (een veelvoorkomende forensische uitdaging). Zip is de meest voorkomende in de echte wereld, en de meest voorkomende in CTF's.
CTF's worden verondersteld leuk te zijn, en beeldbestanden zijn goed voor het bevatten van hackermemes, dus natuurlijk verschijnen beeldbestanden vaak in CTF-challenges. Beeldbestandsformaten zijn complex en kunnen op vele manieren worden misbruikt voor interessante analysepuzzels waarbij metadatavelden, lossy en lossless compressie, checksums, steganografie of visuele gegevenscoderingsschema's een rol spelen.
Een van de meest voorkomende steganografietrucs is het verbergen van een bestand in een afbeelding. Het bestand opent normaal gesproken als een afbeelding, maar bevat ook verborgen bestanden, meestal zip, tekst en zelfs andere afbeeldingsbestanden.
Af en toe bestaat een CTF forensische uitdaging uit een volledige schijfafbeelding, en de speler moet een strategie hebben voor het vinden van een naald (de vlag) in deze hooiberg van gegevens. Triage, in computer forensisch onderzoek, verwijst naar de mogelijkheid om snel te vernauwen waar je naar moet kijken. Zonder strategie is de enige optie het kijken naar alles, wat tijdrovend is (om nog maar te zwijgen van uitputtend).
Netwerkverkeer wordt opgeslagen en vastgelegd in een PCAP-bestand (Packet capture), met een programma als tcpdump of Wireshark (beide gebaseerd op libpcap). Een populaire CTF-challenge is om een PCAP-bestand te leveren dat netwerkverkeer vertegenwoordigt en de speler uit te dagen om een overgedragen bestand te herstellen/reconstitueren of een overgedragen geheim te bewaren. Het compliceren van zaken, de pakketten van belang zijn meestal in een oceaan van ongerelateerd verkeer, dus analyse triage en het filteren van de gegevens is ook een taak voor de speler.
Jarenlang was computer forensisch onderzoek synoniem met bestandssysteem forensisch onderzoek, maar toen aanvallers steeds geavanceerder werden, begonnen ze de schijf te ontwijken. Ook bevat een snapshot van het geheugen vaak context en aanwijzingen die onmogelijk te vinden zijn op de schijf omdat ze alleen op runtime bestaan (operationele configuraties, remote-exploit shellcode, wachtwoorden en encryptiesleutels, etc.). Dus geheugen snapshot / geheugendump forensics is een populaire praktijk geworden in de reactie op incidenten. In een CTF vindt u misschien een challenge die een geheugendump-image oplevert, en taken die u moet uitvoeren met het lokaliseren en uitpakken van een geheim of een bestand daarin.
PDF is een uiterst gecompliceerd document bestandsformaat, met genoeg trucs en schuilplaatsen om jarenlang over te schrijven. Dit maakt het ook populair voor CTF forensische uitdagingen. De NSA schreef in 2008 een gids voor deze schuilplaatsen met de titel "Verborgen gegevens en metagegevens in Adobe PDF-bestanden": Publicatierisico's en tegenmaatregelen." Het is niet meer beschikbaar op de originele URL, maar u kunt nog een kopie vinden op het web. Ange Albertini houdt ook een wiki bij op GitHub van PDF-bestandstrucs.
Net als beeldbestandsformaten, is audio- en videobestand trucjes een veelvoorkomend thema in CTF forensics challenges niet omdat hacken of het verbergen van gegevens ooit op deze manier gebeurt in de echte wereld, maar gewoon omdat audio en video leuk is. Net als bij beeldbestandsformaten, kan stegonagraphy worden gebruikt om een geheim bericht in te bedden in de inhoudelijke gegevens, en opnieuw moet je weten om het bestand metagegevens gebieden te controleren op aanwijzingen. Je eerste stap moet zijn om een kijkje te nemen met de mediainfo tool (of exiftool) en het inhoudstype te identificeren en te kijken naar de metadata.
Microsoft heeft tientallen bestandsformaten voor kantoordocumenten gecreëerd, waarvan vele populair zijn voor de verspreiding van phishing-aanvallen en malware vanwege de mogelijkheid om macro's (VBA-scripts) op te nemen. De forensische analyse van Microsoft Office-documenten verschilt niet al te veel van de forensische analyse van PDF-documenten en is net zo relevant voor de reactie op incidenten in de praktijk.
Allerlei uitdagingen met betrekking tot Web en HTTP. De OWASP top 10 zijn de meest voorkomende webkwetsbaarheden en zijn verwerkt in de juice-shop.hu.jointcyberrange.nl/. Mogelijke web challenges zijn inclusief, maar niet beperkt tot: SQL injectie, Directory traversal, File inclusion, scripting language quirks, XSS, JavaScript decodering, Command Injection, Cross Site Request Forgery, Server Side Request Forgery.
Alles wat met het netwerk te maken heeft, zoals het analyseren van packet captures (PCAP's) of netwerkcommunicatie, poortkloppen, enz.
Naumachia is een CTFd platform voor network challenges https://www.naumachiactf.com/: De inspiratie voor dit project komt voort uit de liefde voor netwerken en vooral voor netwerkbeveiliging. De bedenker wou een platform om uitdagingen te schrijven en te spelen waar alles ingebonden was, inclusief ARP spoofing, VLAN hopping (WIP), DNS vergiftiging, SNMP aanvallen, maar ook destructieve aanvallen zoals het laten vallen van databasetabellen en het installeren van backdoors zonder andere gebruikers te storen.
Naumachia biedt:
Crypto kan bestaan uit klassieke crypto-algoritmen zoals substitution, Vigenere en Ceasar (rot13) ciphers. Maar ook coderingen zoals Morse, Braille, Base64 en XOR. Meer geavanceerde crypto-uitdagingen zijn onder andere zwakke punten in de ECB-modus, bitflipping, padding oracle-aanvallen (CBC) en hash-functie-uitbreidingsaanvallen.
Cryptografie is de reden dat we bankapplicaties kunnen gebruiken, gevoelige informatie over het web kunnen verzenden en in het algemeen onze privacy kunnen beschermen. Een groot deel van de CTF's breekt echter met veelgebruikte coderingsschema's die onjuist zijn geïmplementeerd. De wiskunde lijkt misschien ontmoedigend, maar vaker wel dan niet zal een eenvoudig begrip van de onderliggende principes je in staat stellen om fouten te vinden en de code te kraken.
Het woord "cryptografie" betekent technisch gezien de kunst van het schrijven van codes. Als het gaat om digitaal forensisch onderzoek, is het een methode die je kunt gebruiken om te begrijpen hoe gegevens worden geconstrueerd voor je analyse.
Het wordt gebruikt in dagelijkse software zoals bij:
Maar ook voor:
Onderwerpen
Meestal moeten de deelnemers een bepaald binair bestand onderzoeken, zoals een PE-bestand, ELF-bestand, APK-bestand of een aantal andere uitvoerbare binaire bestanden. Deelnemers moeten de sleutel vinden door de-compilatie, demontage met behulp van statische of dynamische analyse of andere reverse-engineering tools. Reverse Engineering in een CTF is typisch het proces van het nemen van een gecompileerd (machine code, bytecode) programma en het terug converteren naar een meer menselijk leesbaar formaat.
Heel vaak is het doel van een reverse-engineering uitdaging om de functionaliteit van een bepaald programma te begrijpen, zodat u diepere problemen kunt identificeren.
Onderwerpen:
Pwnables zijn uitdagingen waarbij je een specifieke lokale of externe kwetsbaarheid moet uitbuiten. Deze kwetsbaarheden kunnen gehost worden op Linux of Windows en kunnen Buffer overflows zijn, Format strings of een ander soort kwetsbaarheid. De moeilijkheidsgraad kan worden bemoeilijkt met mitigerende maatregelen zoals ASLR en NX. Pwnable uitdagingen worden soms ook gevonden in de Binary categorie.
Binaire bestanden, of uitvoerbare bestanden, zijn machinecodes voor een computer om uit te voeren. Voor het grootste deel zijn de binaire bestanden die je in CTF's tegenkomt Linux ELF-bestanden of af en toe een windows-executable. Binary Exploitation is een breed onderwerp binnen Cyber Security wat echt neerkomt op het vinden van een kwetsbaarheid in het programma en het exploiteren ervan om controle te krijgen over een shell of het wijzigen van de functies van het programma.
Gangbare thema's die door binaire exploitatie of 'pwn'-uitdagingen worden aangepakt zijn onder meer:
Open Source Intelligence (OSINT) maakt gebruik van online tools, openbare documenten en sociale media om informatie te vinden over een doelwit, meestal over een individu of organisatie. Als u bijvoorbeeld ooit iemand heeft gegoogled voordat u hem of haar ontmoette voor uw veiligheid, dan is dat OSINT!
Mogelijke challanges:
Met een reverse image search op Google, kunnen we zien dat dit een foto is van Victoria Memorial in Kolkata, India. De zoekterm "victoria memorial" in de onderstaande screenshot wordt door Google ingevuld nadat de foto is geüpload en het zoeken is afgerond. Op de meeste plaatsen waar u deze foto vindt, wordt de originele fotograaf niet gecrediteerd. Als je ver genoeg naar beneden scrollt waar het is gepost in een van de zoekresultaten, https://twitter.com/vivbajaj/status/1263046172282949632, dan zie je een tweet van de originele fotograaf, die ons zijn Instagram-account @arunopal17 geeft: Als je naar het Instagram-account gaat, zie je de foto gepost op 15 oktober 2019 met de vlag in het commentaar.
Alles wat het zei was "hoshimaseok is tot geen goed. Spoor hem op." Dit geeft ons nauwelijks iets om mee door te gaan, behalve dat we op zoek zijn naar een gebruiker genaamd "hoshimaseok." Alles wat ik vond bij het zoeken naar de gebruikersnaam in Google was een link naar de Reddit post voor CSICTF, en een gebruiker met die naam postte dat ze zich zouden aanmelden. Ik kon er niet achter komen waar ik verder nog naartoe moest. De officiële writeup voor deze uitdaging zei dat de tool die in dit geval gebruikt moet worden Sherlock heet.
Miscellaneous (Diverse)
Extra categorieën:
Legacy, dinosaurs and heritage systems categorieën
Boot2Root
Programming Challenges
Cloud
Mobile
Trivia (Questions)
Social engineering
Real life
De Open source challanges die tijdens het onderzoek naar boven kwamen:
Sources: