CTF-ressourcer

et af de mest almindelige steganografi-tricks er at skjule en fil inde i et billede. Filen åbnes normalt som et billede, men vil også holde skjulte filer inde, ofte lynlås, tekst og endda andre billedfiler.

årsagen til, at dette fungerer, er, at når en billedfil læses, har den Start-og slutbyte, der dikterer billedets størrelse. Den billedfremviser, du bruger, bruger oplysningerne mellem disse byte til at præsentere et billede for dig og ignorerer noget efter den afsluttende byte.

for eksempel er den afsluttende byte for en JPEG FF D9 i sekskantet, så ved hjælp af en sekskantet fremviser kan du finde ud af, hvor billedet slutter. Disse bytes er nogle gange svært at finde i et hav af tal selv, så ser på dump af sekskant (teksten repræsenterer sekskant bytes) kan også hjælpe dig med at finde skjult .tekst eller .lynlås filer.

eksempel

en meget enkel implementering af denne strategi bruges i eksemplet.jpg-fil i denne mappe. Hvis du gemmer det på din computer og åbner det med en billedfremviser, skal du få et simpelt jpg-billede.

lad os nu prøve at finde flaget. Åbn billedet i din foretrukne sekskanteditor, og begynd at kigge efter noget underligt (du kan muligvis finde selve flaget fra dumpen på dette tidspunkt, men prøv for eksempel at udtrække det). Nær bunden af filen skal du se den afsluttende byte af en jpg ffd9:

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

en anden vigtig del af denne linje er PK nær slutningen. PK er initialerne til Phil kats, opfinderen af lynfilen, og angiver, at en lynfil starter på det tidspunkt.

brug af disse oplysninger kan vi bruge et andet praktisk værktøj, dd). Kommandoen dd er meget alsidig og giver mulighed for kopiering og konvertering af en lang række filer. I vores tilfælde vil vi bruge det til at udpakke lynfilen.

vi ved, hvor placeringen er, men dd tager kun decimalværdier, så vi konverterer den sekskantede placering 0h01e17ad fra sekskant til decimal for at få 1972141.

tilslutning af dette til dd:

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

dette tager i billedet eksempel.jpg,’ in file ‘hvis, læser en blok ad gangen,’ blokstørrelse ‘bs, springer over for at blokere 1972141, springe over og skriver den til’ out file ‘ – lynlåsen, vi kalder foo.zip. Når dette er afsluttet, skal du have en lynlåsfil, som du nemt kan pakke ud for at få adgang til tekstfilen indeni.

dette er den lange vej til at løse et simpelt steganografiproblem, men viser, hvordan strategien fungerer. I Løsningsafsnittet beskrives mere koncise og effektive metoder.

afsløring

disse udfordringer præsenteres normalt som et simpelt billede uden andre instruktioner, og det er op til konkurrenten at køre det gennem en sekskanteditor for at finde ud af, om det involverer steganografi. Hvis du får et billede og ingen instruktioner, er din sikreste indsats, at der er noget skjult efter billedets afsluttende tags.

løsning

selvom det er muligt og til tider praktisk at løse disse opgaver ved hjælp af Linuks-værktøjer som dd, er der nogle værktøjer, der gør det meget lettere. Binwalk er et uhyre nyttigt værktøj, som automatisk registrerer og udtrækker filer skjult med steganography tools

CTF eksempel

Steganography af denne type er normalt ikke scoret meget højt, men er anstændigt udbredt. BackdoorCTF 2014 oprettet en, der generelt er ligetil, cteksempel.jpg, men involverer flere lag.

HKD

DD

Leave a Reply

Din e-mailadresse vil ikke blive publiceret.