Amagar arxius comprimits dins d’una imatge

El problema

Fa un parell de dies, vaig trobar un bloc on s’explicava com amagar arxius comprimits dins de fitxers d’imatge; hi havia una explicació per a GNU/Linux i una altra per a Windows. Ahir vaig voler provar-ho, però ja no vaig ser capaç de localitzar el bloc en qüestió. En vaig trobar un altre que ho explicava, però només per a Windows; a partir d’ací, i recordant que, en GNU/Linux, es feia servir l’ordre cat, vaig poder reconstruir el procés.

La idea és senzilla: partim d’una imatge (tux.png) i d’una sèrie de fitxers (en aquest exemple, només un: missatgesecret.txt) que volem “camuflar” dins d’aquella imatge. Com a pas previ, comprimirem tots els fitxers que volem camuflar a l’arxiu comprimit.zip. Després, crearem un fitxer que aparentment serà d’imatge, però que contindrà, també, l’arxiu comprimit.

Un pingüinet innocent

Un pingüinet innocent

Crear el fitxer camuflat

En primer lloc, crearem l’arxiu comprimit amb els fitxers a camuflar:

zip comprimit.zip missatgesecret.txt [altres_fitxers_a_comprimir]

Després, unirem l’arxiu d’imatge amb l’arxiu comprimit, creant l’arxiu camuflat:

cat tux.png comprimit.zip > tux007.png

En l’ordre anterior, és imprescindible que el nom de l’arxiu d’imatge siga el primer argument. L’arxiu resultant, tux007.png, es comportarà a tots els efectes com un “autèntic” fitxer d’imatge: si l’obrim des del navegador d’arxius, s’obrirà amb el visualitzador per omissió; el podrem obrir normalment amb qualsevol programa de tractament d’imatges i, fins i tot, el podrem penjar al web i fer-lo aparèixer a la nostra pàgina on es visualtzarà amb tota normalitat.

Un pingüinet no tan innocent

Un pingüinet no tan innocent

Recuperar els fitxers amagats

Curiosament, l’arxiu tux007.png serà interpretat per la utilitat unzip com si fos un arxiu comprimit normal i corrent, ignarant la presència de la imatge “despistadora”. Així, per obtenir un llistat del seu contingut, només ens caldrà fer:

unzip -v tux007.png

I si volem recuperar els arxius amagats:

unzip tux007.png

Recuperar la imatge original

L’ordre cat que ha produït l’arxiu “de camuflatge” no ha fet sinó concatenar, bit a bit, una imatge i un arxiu comprimit. Si volem recuperar el fitxer imatge original, caldrà esbrinar quants bytes ocupa exactament i, després, amb l’ordre dd, el podrem extraure de la part inicial de l’arxiu camuflat. Podem esbrinar aquesta mida amb:

unzip -v tux007.png

Observarem que hi ha una línia que comença amb la paraula “warning”; en el nostre cas, la segona línia:


Archive: tux007.png
warning [tux007.png]: 47599 extra bytes at beginning or within zipfile
(attempting to process anyway)
Length Method Size Ratio Date Time CRC-32 Name
-------- ------ ------- ----- ---- ---- ------ ----
893 Defl:N 442 51% 07-30-07 13:24 6970d7a0 missatgesecret.txt
-------- ------- --- -------
893 442 51% 1 file

(També ho podem esbrinar canviant "-v" per "-t", i ens estalviem la taula amb els continguts de l’arxiu comprimit.)

En el nostre exemple, la mida és de 47.599 bytes. Es tracta, com hom pot endevinar, de la mida exacta de la imatge que vam utilitzar per camuflar els nostres arxius. Ara la podem recuparar amb una ordre dd que llegeisca, de l’arxiu camuflat, eixa quantitat exacta de bytes:

dd if=tux007.png of=imatgerecuperada.png bs=47599 count=1

I només ens falta obrir imatgerecuperada.png amb el nostre visor d’imatges preferit per contemplar una reproducció exacta de la imatge original (que, en aquest cas, ja no amaga res).

Consideracions

No crec que aquest sistema d’ocultació siga gaire segur, jo no hi confiaria “secrets d’estat”; tanmateix, la segurat es pot augmentat fent servir el xifrat en el moment de la compresió. Mès bé, trobe que aquest procediment és una curiositat que ens permet “jugar a espies” amb els amics i que, a més, és molt didàctica pel que fa al funcionament de cat i de dd. Continue sense tindre clar per què l’arxiu camuflat és interpretat amb encert (no m’atrevisc a dir “correctament”, ja que actuen com si foren arxius normals, i no ho són) tant pels programes gràfics com pels descomprimidors.

Crec que hi ha programes que permeten obtindre resultats més segurs a l’hora d’amagar informació, com ara steghide (no l’he provat); però no tenen la gràcia de fer-ho tot u mateix, pas a pas.

També funciona amb arxius jpg; de fet, sospite que funcionarà amb moltes combinacions de fitxers d’imatge amb arxius comprimits.

e-bibliografia

Una descripció del procés per a Windows:

Como esconder archivos rar en imágenes jpeg/jpg

M’hauria agradat posar l’enllaç al primer post que vaig llegir, el que explicava el procés tant per a Windows com per a GNU/Linux, però no l’he tornat a trobar (de fet, per això he fet aquest post). Si el localitze, afegiré l’enllaç.

Powered by ScribeFire.

Quant a Giorgio Grappa

Algú fa cas de les coses que els blocaires escriuen sobre ells mateixos? El comentari més sincer que he llegit als "about me" és aquell de: "si vols saber res de mi, pots llegir el meu bloc."
Aquesta entrada ha esta publicada en Uncategorized. Afegeix a les adreces d'interès l'enllaç permanent.

Deixa un comentari

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out / Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out / Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out / Canvia )

Google+ photo

Esteu comentant fent servir el compte Google+. Log Out / Canvia )

Connecting to %s