CTF Resources
yksi yleisimmistä steganografiatempuista on piilottaa tiedosto kuvan sisään. Tiedosto avautuu normaalisti kuvana, mutta se pitää sisällään myös piilotettuja tiedostoja, yleisesti zip -, text-ja jopa muita kuvatiedostoja.
tämä toimii siksi, että kun levykuvatiedostoa luetaan, siinä on alkava ja päättyvä tavu sanelemassa kuvan kokoa. Käyttämäsi kuvannäytin käyttää näiden tavujen välistä tietoa kuvan esittämiseen sinulle, jättäen huomiotta mitään päättyvän tavun jälkeen.
esimerkiksi JPEG: n päättävä tavu on heksakielellä FF D9, joten hex-katseluohjelman avulla (xxd on hyvä Linuxille, tai jotain HxD Windowsille) voi selvittää, mihin kuva päättyy. Nämä tavut ovat joskus vaikea löytää meressä numeroita vaikka, joten katsomalla kaatopaikka hex (teksti edustaa hex tavuja) voi myös auttaa sinua löytämään piilossa .txt tai .zip-tiedostot.
esimerkki
tämän strategian hyvin yksinkertaista toteuttamista käytetään esimerkissä.jpg-tiedosto tässä kansiossa. Jos tallennat sen tietokoneellesi ja avaat sen kuvankatseluohjelmalla, sinulle tulee esittää yksinkertainen jpg-kuva.
nyt yritetään löytää lippu. Avaa kuva suosikki hex editor ja alkaa etsiä ympärilleen jotain outoa (saatat löytää lippu itse dump tässä vaiheessa, mutta vuoksi esimerkki yritä purkaa se). Tiedoston alaosassa sinun pitäisi nähdä jpg: n päättävä tavu ffd9
:
01e17a0: 685c 7fab 8eb4 5b32 61f1 c4ff d950 4b03 h\....[2a....PK.
toinen tärkeä osa tätä linjaa on loppupäässä oleva PK
. PK
ovat zip-tiedoston keksijän Phil Katzin nimikirjaimet ja osoittavat, että zip-tiedosto alkaa tuosta pisteestä.
näiden tietojen avulla voimme käyttää toista kätevää linux-työkalua, dd
). dd
– komento on hyvin monipuolinen ja mahdollistaa lukuisten tiedostojen kopioinnin ja muuntamisen. Meidän tapauksessamme käytämme sitä zip-tiedoston purkamiseen.
tiedämme, missä zip-tiedoston sijainti on, mutta dd
kestää vain desimaaliarvot, joten muunnamme heksadesimaalipaikan 0x01e17ad heksasta desimaaliksi saadaksemme 1972141.
tämän liittäminen dd: hen:
dd if=example.jpg bs=1 skip=1972141 of=foo.zip
tämä ottaa kuvan esimerkki.jpg, the ’in file’ if, lukee yksi lohko kerrallaan, ’ block size ’bs, hyppää estää 1972141, ohita, ja kirjoittaa sen’ out file ’ zip kutsumme foo.zip. Kun tämä on valmis sinulla pitäisi olla zip-tiedosto voit helposti purkaa käyttää tekstitiedosto sisällä.
tämä on pitkä tapa ratkaista yksinkertainen steganografian ongelma, mutta osoittaa, miten strategia toimii. Ratkaisuosassa kuvataan tiiviimpiä ja tehokkaampia menetelmiä.
havaitseva
nämä haasteet esitetään yleensä yksinkertaisena kuvana ilman muita ohjeita, ja kilpailijan on ajettava se heksaeditorilla saadakseen selville, liittyykö siihen steganografiaa. Jos sinulle esitetään kuva eikä ohjeita, turvallisin veikkauksesi on, että is: llä on jotain piilotettuna kuvan sulkutagien jälkeen.
ratkaiseminen
vaikka näiden tehtävien ratkaiseminen linux-työkaluilla, kuten dd
, on olemassa joitakin työkaluja, jotka tekevät siitä paljon helpompaa. Binwalk
on äärettömän hyödyllinen työkalu, joka tunnistaa ja poimii automaattisesti steganografialaitteilla piilotetut tiedostot
CTF esimerkki
tämäntyyppistä Steganografiaa ei yleensä pisteytetä kovin hyvin, mutta se on riittävän laajaa. BackdoorCTF 2014 luotu yksi, joka on yleensä yksinkertainen, ctfexample.jpg, mutta liittyy useita kerroksia.
XXD
HxD
DD
Binwalk