CTF Resources

een van de meest voorkomende Steganografische trucs is het verbergen van een bestand in een afbeelding. Het bestand wordt normaal geopend als een afbeelding, maar zal ook verborgen bestanden bevatten, meestal zip, tekst en zelfs andere beeldbestanden.

de reden dat dit werkt is omdat wanneer een image-bestand wordt gelezen het begin en einde bytes heeft die de grootte van de image bepalen. De afbeeldingsviewer die u gebruikt zal de informatie tussen deze bytes gebruiken om een afbeelding aan u te presenteren, waarbij alles na de beëindigende byte wordt genegeerd.

bijvoorbeeld, de terminating byte voor een JPEG is FF D9 in hex, dus met behulp van een hex viewer (xxd is goed voor linux, of iets als HxD voor windows) kun je erachter komen waar de image eindigt. Deze bytes zijn soms moeilijk te vinden in een zee van getallen, dus kijken naar de dump van de hex (de tekst die de hex bytes vertegenwoordigt) kan je ook helpen Verborgen te vinden .txt of .zip files.

voorbeeld

in het voorbeeld wordt een zeer eenvoudige implementatie van deze strategie gebruikt.jpg-bestand in deze map. Als u het opslaat op uw computer en het opent met een image viewer, moet u worden gepresenteerd met een eenvoudige JPG-afbeelding.

laten we nu proberen om de vlag te vinden. Open de afbeelding in uw favoriete hex-editor en ga op zoek naar iets vreemds (u kunt de vlag zelf vinden van de dump op dit punt, maar in het belang van voorbeeld probeer het extraheren). Aan de onderkant van het bestand ziet u de afsluitende byte van een jpg ffd9:

01e17a0: 685c 7fab 8eb4 5b32 61f1 c4ff d950 4b03 h\....[2a....PK.

een ander belangrijk deel van deze lijn is de PK aan het einde. PK zijn de initialen van Phil Katz, de uitvinder van het zip-bestand, en geven aan dat een zip-bestand op dat punt begint.

met behulp van deze informatie kunnen we een andere handige linux tool gebruiken, dd). Het dd commando is zeer veelzijdig en maakt het kopiëren en converteren van een groot aantal bestanden mogelijk. In ons geval gaan we het gebruiken om het zip-bestand uit te pakken.

we weten waar de locatie van het zip-bestand is, maar dd neemt alleen decimale waarden, dus we converteren de hexadecimale locatie 0x01e17ad van hex naar decimaal om 1972141 te krijgen.

dit in dd stoppen:

dd if=example.jpg bs=1 skip=1972141 of=foo.zip

dit neemt in het voorbeeld van de afbeelding.jpg, de’ in file ‘als, leest een blok tegelijk, ‘block size’ bs, slaat over te blokkeren 1972141, overslaan, en schrijft het naar de’ out file ‘ zip we noemen foo.zip. Wanneer dit is voltooid moet je een zip-bestand dat u gemakkelijk kunt uitpakken om toegang te krijgen tot het tekstbestand in.

dit is de lange weg om een eenvoudig steganografieprobleem op te lossen, maar laat zien hoe de strategie werkt. In de sectie oplossen worden meer beknopte en efficiënte methoden beschreven.

detecteren

deze uitdagingen worden meestal gepresenteerd als een eenvoudig beeld zonder andere instructies, en het is aan de concurrent om het door een hex-editor te draaien om uit te vinden of het steganografie betreft. Als u wordt gepresenteerd met een afbeelding en geen instructies, uw veiligste inzet is dat is iets verborgen na de sluiting tags van de afbeelding.

oplossen van

hoewel het mogelijk en soms praktisch is om deze taken op te lossen met behulp van linux tools zoals dd, zijn er enkele tools die het veel gemakkelijker maken. Binwalk is een zeer nuttig hulpmiddel dat automatisch bestanden detecteert en extraheert die verborgen zijn met steganografiehulpmiddelen

CTF voorbeeld

steganografie van dit type wordt meestal niet erg gescoord, maar is behoorlijk wijdverspreid. BackdoorCTF 2014 creëerde een die is over het algemeen eenvoudig, ctfexample.jpg, maar omvat meerdere lagen.

XXD

HxD

DD

Binwalk

Leave a Reply

Het e-mailadres wordt niet gepubliceerd.