******************** ** ESTEGANOGRAFIA ** ******************** BY MRCOMPUTER INDICE -------------------- 1) INTRODUCCION 2) TECNICAS 3) WINDOWS 4) DOS 5) LINUX 6) MACINTOSH 7) STE_M3U 8) RECOMENDACIONES 9) DESPEDIDA 1) INTRODUCCION **************** Este articulo va a ser mas practico que teorico pero primero hay que soltar un poco de rollo. Que es la esteganografia? Proviene del griego "stegos" que significa "cubierta" y "graphos" que significa "escritura", es decir, "escritura cubieta". En esencia se trata de ocultar mensajes en medios insospechados. Un clasico de esteganografia es la escritura con zumo de limon que a simple vista es invisible pero al calentarlo aparece el mensaje. En temas informaticos se trata de ocultar un mensaje en una imagen, sonido u otros archivos. 2) TECNICAS ************ Voy a poner un par de tecnicas esteganograficas como en archivos de sonido y de imagen. -En archivos de sonido wav Lo que se hace es distribuir los bits del mensaje a ocultar entre los bits menos significativos. Por ejemplo, tenemos la siguiente secuencia de 8 bytes: 86 88 8D 4A 65 26 79 89 que en binario es: 10000110 10001000 10001101 01001010 01100101 00100110 01111001 10001001 y queremos ocultar D4 que en binario es 11010100 y para ocultarlo se remplaza el ultimo bit quedando: 10000111 10001001 10001100 01001011 01100100 00100111 01111000 10001000 es decir: 87 89 8C 4B 64 27 78 88 Los bytes solo varian en +-1 lo cual es un variacion inperceptible por el oido humano. -En archivos de imagen bmp Con las imagenes de 24 bits el proceso es facil, esta definido por tres bytes con valores RGB y basta con dispersar los bits de los datos a ocultar en los bits menos significativos por ello no hay gran diferencia para el ojo humano. El gran porblema de este tipo es el tama¤o de los archivos. 3) WINDOWS *********** En windows hablaremos de S-Tool 4.0 que te permite ocultar archivos en imagenes (BMP y GIF) y archivos de sonido (wav). Los algoritmos criptograficos que posee son IDEA, DES, Triple DES y MDC. Yo te recomiendo que uses IDEA. -Uso Su uso es muy sencillo solo hay que arrastrar el fichero de imagen o sonido a su ventana. Despues en encima de la ventana que se abre con la imagen o el sonido se arrastre el archivo a ocultar. Te pide que escribas la contrase¤a y el algoritmo. Luego haces clic con el boton derecho en la ventana hidden y selecciona save as.. y lo guardas. Ya tienes el fichero con datos ocultos. Para sacar los datos arrastras el archivo con datos ocultos y boton derecho reveal introduces la contrase¤a y solo te queda guardar el fichero que contenia. Ventajas: -bastante variedad de algoritmos -calidad aceptable Desventajas: -le faltan mas formatos como jpg o mp3 4) DOS ******* -Snow Este programa te permite ocultar archivos o mensajes por un metodo que consiste en a¤adir espacios al archivo de texto. La sintaxis es: snow -C -Q -S -p contrase¤a -l longitud -f archivo -m mensaje in out -C ocultar/mostrar datos -Q modo silencioso -S el espacio que puede contener el archivo en datos ocultos -P contrase¤a Es obvio no? -l longitud Largo de la linea defecto 80 -f archivo Archivo a ocultar -m mensaje Un texto a ocultar en lugar de un archivo in archivo donde se van a ocultar out salida de to Ej: queremos ocultar el fichero a.asc en texto.txt y la salida out.txt. snow -C -p "la contrase¤a" -f a.asc texto.txt out.txt para sacarlo: snow -C -p "la contrase¤a" out.txt ficherodesalida.asc Ventajas: -Te pude salvar de algun apuro. -es rapido Desventajas: -es una tecnica muy facil de romper -Steganos Tiene varios metodos de esteganografia: por espacios, en BMP, en Voc y en Wav. El metodo de BMP es lamentable te sale en una imagen de cuatro rayas un monton te manchas amarillas al intentar ocultar un mensaje de 4 bytes. El resto bien pero el wav que genera no lo intentes abrir con un programa de windows. Sintaxis: steganos e|d imagen/sonido/texto archivoaocultar contrase¤a /b /d e ocultar d mostrar /b backup /d borrar archivo de origen Ej: se quiere ocultar un fichero a.asc en snd.voc. steganos e snd.voc a.asc contrase¤a y para mostrarlo steganos d snd.voc ficherodesalida.asc contrase¤a Ventajas: -para dos no esta mal -formato voc Desventajas: -velocidad -en los BMP lamentable -problemas con wav -Hide/Seek Esta aplicacion oculta archivos en imagenes GIF, pero solo de 320x480. Ademas el archivo a ocultar no puede ser mayor de 19 kb. Sintaxis: hide archivoaocultar imagen.gif contrase¤a seek imagen.gif archivodesalida contrase¤a hide es para ocultar seek para mostar. Ej: se quiere ocultar un archivo a.asc en img.gif hide a.asc img.gif contrase¤a y para mostrarlo: seek img.gif archivodesalida.asc contrase¤a Ventajas: -es rapido -en b/n no se nota Desventajas: -resolucion unica y tama¤o de datos para ocultar -gif en color 5) LINUX ********* -Texto Este programa oculta archivos codificados con pgp y uuencodeados en archivos de texto en ingles. Por cierto cualquiera que sepa lo minimo de ingles se dara cuenta que en esse archivo huele algo mal porque carece totalmente de sentido (y de concordancia). Sintaxis: texto pgp/uue > destino para mostrar: texto -u -p archivo > destino -u es si se portio de un uue -p si se partio de pgp ej: si queremos ocultar el archivo a.asc y el nombre de destino es a.txt texto a.asc > a.txt y para mostrarlo: texto -p a.txt > destino.asc Una manera de mejorarlo seria cambiar el idioma por uno extra¤o y para ello modificamos el archivo words poniendo los verbos, etc. y el archivo structs para la extructura. Ventajas: -ingenioso Desventajas: -poco seguro -no tiene contrase¤a -tama¤o de los archivos 10 veces superior al original -Mandelsteg Oculta los archivos en fractales. Se puede utilizar tanto en Linux como en windows. Sintaxis: mandelsteg -ns -c -e archivo.gif -sz tama¤o -md coordenadas destino -b el bit donde extraera -ns para extraer si la has usado en mandelsteg Ej: queremos ocultar el archivo a.asc y que cree la imagen fract.gif a 320x240 mandelsteg -e fract.gif -sz 320 240 < a.asc y para mostrar: gifextract fract.gif > destino.asc Ventajas: -(A ver que piense....) Inconvenientes: -no es seguro -es lento 6) MACINTOSH ************* En Mac no he investagado demasiado ya que no tengo uno, mi pobre Mac II ci paso a mejor vida hace mucho tiempo, y este programa lo encontre por casualidad. Se llama Stego 1.0a2 y lo he probado en un emulador con MacOS 7.5.5. Te permite ocultar archivos en imagenes PICT. -Uso Es muy sencillo en el menu file le damos a open y se abre la imagen. Luego file/steg y selecciona el archivo a ocultar. Para sacarlo file/unsteg, esta esta activada siempre tenga o no datos ocultos la imagen. Admite imagenes PICT de 8, 16 y 32 bits. Ventajas: -es rapido Inconvenientes: -no proteje con contrase¤a -solo admite PICT -el tama¤o crece mucho 7) STE_M3U *********** Este programa permite ocultar en archivos de listas de reproduccion .m3u. El programa tiene un sistema de encriptacion muuuy basico que en los caracteres en las posiciones pares suma 2 y en las impares 3. Para que el programa reproductor no reconozca el texto y lo muestra como canciones es tan simple como ponerle el simbolo # antes de cada linea pero el windows media si no tiene algo el la ultima linea sin # no abre el archivo a si que con poner un espacio en la ultima line lo abre pero muetra una cancion sin nombre. Se podria pones cualquier caracter pero asi otros programas no muestran una cancion sin nombre. Lo he echo en pascal tuve problemas con con c y los archivos largos y por terminarlo a tiempo lo hice en pascal. Sintaxis: Para ocultar: ste o Para mostrar: ste m Ej: queremos ocultar el fichero a.asc en b.m3u ste o a.asc b.m3u para mostrar: ste m b.m3u c.asc Ventajas: -Yo no conozco ninguno que oculte en m3u. -Es multiplataforma. Inconvenientes: -Crece mucho el tama¤o. Culaquiera que quiera mejorar el programa es libre de hacerlo pero solo pido que se conserve mi nombre como creador original y si puede me mande una copia del codigo. Ahora pongo el codigo: {STE_M3U 0.1 Programa creado por mrcomputer } {Probado con: Turbo Pascal 7.0} { FreePascal 1.0.6} program ste_m3u; var cadena:string; origen:text; destino:text; sharp:char; par1:string; procedure encript (var a:string); var encrip, i:integer; begin FOR i:=1 TO LENGTH (a) DO BEGIN IF (i mod 2)=0 THEN BEGIN encrip:=ORD(a[i]); a[i]:= (CHR(encrip + 2)); END ELSE BEGIN encrip:=ORD(a[i]); a[i]:= (CHR(encrip + 3)); END; END; end; procedure desencript (var a:string); var encrip, i:integer; begin FOR i:=1 TO LENGTH (a) DO BEGIN IF (i mod 2)=0 THEN BEGIN encrip:=ORD(a[i]); a[i]:= (CHR(encrip - 2)); END ELSE BEGIN encrip:=ORD(a[i]); a[i]:= (CHR(encrip - 3)); END; END; end; procedure ayuda; begin writeln('Ayuda STE_M3U 0.1'); writeln('Para ocultar: ste o '); writeln('Para mostrar: ste m '); writeln(''); writeln('Programa creado por mrcomputer'); end; begin if paramcount=0 then ayuda; if paramstr(1)='o'then begin assign(origen, paramstr(2)); reset(origen); assign(destino, paramstr(3)); append(destino); writeln(destino, '#!'); while not Eof(origen) do begin readln(origen, cadena); encript(cadena); write(destino, '#'); writeln(destino, cadena); end; writeln(destino, ' '); {para que funcione con el wmp} close(destino); close(origen); end; if paramstr(1)='m' then begin assign(origen, paramstr(2)); reset(origen); assign(destino, paramstr(3)); rewrite(destino); repeat begin readln(origen, cadena); end; until cadena='#!'; while not Eof(origen) do begin read(origen, sharp); readln(origen, cadena); desencript(cadena); writeln(destino, cadena); end; close(destino); close(origen); end; end. 8) RECOMENDACIONES ******************* Te recomiendo que sigas la siguientes reglas: 1. Siempre encripta el archivo antes de ocultarlo y en texto plano. 2. No utilices imagenes que ciculen por la red, utiliza tuyas. 3. Si envias esteganografia por correo no seas tan burro de enviar la imagen/sonido/loquesea sola, escribe algun mensaje del tipo: te mando el fondo pa tu web. 4. No ocultes archivos grandes. 5. No se te olvide borrar los originales :-) Lo mejor es que tu te crees tu propio programa de esteganografia. 9) DESPEDIDA ************* Bueno esto ha sido todo, este es mi primer articulo para SET (si me lo publicais). Queria haber metido el codigo de un programa que estoy haciendo que oculta archivos en m3u pero todavia no lo he terminado y como veia que se me hechaba el tiempo encima... Lo dejaremos para el proximo numero. Quien tenga alguna duda, sugerencia, etc que me envie un mail a mrcomputer@gawab.com Adios Mrcomputer ********** -----BEGIN PGP PUBLIC KEY BLOCK----- Version: PGPfreeware 7.0.3 for non-commercial use mQGiBERsj40RBADFwe1wKhP0qDo0AjH1i1uF0tl2QhGCVglKNf5bE8J6houa1TMa lvN/u7ft/wscaYncTJGmUcTj5vF40z4FZJVTUtDThbaYeSo1AeuWt8G/0q9AX5J1 2eCfX/SRb8ZtyiUUMLMJGWOzBO3xlOUr9ca3WEC4BYwJLqxAdZBLu9LRkQCg/7Im WWsU9Hc6Kn2HRkdxsemaWxEEAKU5xkrwgt/UE3jObP0MdrUNOisizRyOFbvZBBLF 8o8JjkQCGDVnkiWEBEWbnYyZkXVHKIUeowD1lj9QbKHPBLtYW5SWculsprerZdBr Fx6Bpusxw/NO3cdOh71ivIK4FmuWuq0CRP0AvTMn84eyRKtwSgw6cTqYfQJFD0cr uX9TA/4uOyZ+XWBo+6DcCGBVTNVzothVFSBzArqWtzq1F1qlVYEOcLLOeWAfWf2V f5EYQjAEHpc1Wh9pnJVqVC68Jyr09rNj1Q3W+4yFufzY8fgBfBi2jxNYKrw2msHK f/JzSNmjp3RcDZsAoAMGfejNdZfuJlYeWt3PLXmHoa4hqW8/i7QhbXJjb21wdXRl ciA8bXJjb21wdXRlckBnYXdhYi5jb20+iQBYBBARAgAYBQJEbI+NCAsDCQgHAgEK AhkBBRsDAAAAAAoJEKu0gK3By6WgYrwAoNopsCmVTBlhsjR9HcQ9bwZM9043AKDL 7jxqwXMlSUpC+C544E5umgYgMbkCDQREbI+OEAgA9kJXtwh/CBdyorrWqULzBej5 UxE5T7bxbrlLOCDaAadWoxTpj0BV89AHxstDqZSt90xkhkn4DIO9ZekX1KHTUPj1 WV/cdlJPPT2N286Z4VeSWc39uK50T8X8dryDxUcwYc58yWb/Ffm7/ZFexwGq01ue jaClcjrUGvC/RgBYK+X0iP1YTknbzSC0neSRBzZrM2w4DUUdD3yIsxx8Wy2O9vPJ I8BD8KVbGI2Ou1WMuF040zT9fBdXQ6MdGGzeMyEstSr/POGxKUAYEY18hKcKctaG xAMZyAcpesqVDNmWn6vQClCbAkbTCD1mpF1Bn5x8vYlLIhkmuquiXsNV6TILOwAC Agf+ORcvKDQpVaBQ+vp88TH6mo8mQmTVKMsapLHA3AFaepsKKTIzzz/oLInvNGra NQDIk9lTyDBAh7VpTEV08RMJfEZbEbGGLPBi8pqlncpTPIFltkuPKS+UL0smYQnl 2JHJDST/B7n7v2aXkg7yC0vLStoBMVt5Y5exPFt6mNv6cZLno2i5y6tcL4lXYmze rMFjN144IPpmkgQxVuqMlTfSrkt5DOebFzounQhHcvCXkhhV66lo1SWqILsPy78I VlZMuZSAlfoAtAJqzS2TJnUeTEt0mu4oFSukDTp1B5dl7Woffv3sta+kxpZc7Qgs RCmI5AO3nneSwyZgyECv7RuOm4kATAQYEQIADAUCRGyPjgUbDAAAAAAKCRCrtICt wculoDIKAKDjpe4AT+dCGIWCyUhTy1ATQ2/XegCg7+i5mMSSh5ujkFl2DtlyXROh YG0= =Z1AV -----END PGP PUBLIC KEY BLOCK-----