1 jun 2011

StegB64.py Herramienta de esteganografia para ocultar simulando ser Base64

Hola hoy quiero presentarles stegb64.py herramienta esteganografica que hace esteganografia Base64 basado en la tecnica que hace unos meses presente. >> ¿Base64 o no Base64?-Esteganografía Base64

La herramienta es muy facil de usar e intuitiva, pero desglosemos un poco esto.

¿Que hace Stegb64.py?

Stegb64.py ofrece la posibilidad de Ocultar un texto o Archivo dentro de una cadena de texto que simula ser Base64

¿Como hace la tecnica Stegb64.py?

Son varios pasos pero relativamente muy Faciles:

  • Obtener el binario del texto
  • Obtener el binario de cada caracter aleatorio generado de la longitud del binario del texto.
  • Sustituir cada bit del texto cada 8 bits del binario de caracteres generados
  • Construir el binario final y aplicar una sencilla regla que es usada en Base64 sobre la longitud del archivo original %3 para ver si se agrega caracteres “=” de relleno

Nota: Los caracteres aleatorios que se pueden generar son los que estan comprendidos en Base64

Al final todo se resume a aplicar las funciones de esta forma:

bin1 = bin_dump(sys.argv[2])bin2 = bin_dump(ran_char(bin1))print b64_rule(bin_file(do_lsb(bin1,bin2)))

¿Que características tiene Stegb64.py?

Primeramente decir que esta programada en Python 2.6.6, es un solo script de 16k y con solo 146 lineas de código. Es Software Libre y multisistema.

¿Y en windows que?

Bueno tambien eh compilado la version en windows asi que tambien tienen StegB64.exe, pero recomiendo usar el script directamente en python, puesto que el exe eleva su peso hasta casi 5Mb

Ejemplos de Uso:

.-Ocultar un texto

$stegb64.py -t "Stegb64" lchsdtsOLiQIFenPhSKfDErGPGOFhgmkxccbTlWrPRWcjughRlGUnYdL==$stegb64.py -t "Stegb64"tMNwntmUpGwmHqHHncgvjiDKRouLnsEopgcttfiplrygveKBvJucnQlf==$stegb64.py -t "Stegb64"tGNgHdIGbSqOPWRRHoiLpKRcVKOFxMYedYSDHFIrDLeMXQcVffuUfYHx==

Como se observa, se oculta exactamente la misma cadena, pero los resultados son diferentes, esto gracias a la flexibilidad de la aleatoriedad.

.-Recuperar de un Texto

$stegb64.py -r "tESTORXppMubliPiPiGtvFUSnCijUbUQRCuYKDrm=" hecky

Pero lo interesante de la herramienta es que lo permite hacer con archivos binarios tambien. Asi que veamos un ejemplo facil

.-Ocultando un Archivo

1234
$stegb64.py -f heckyminitrans.png out Loading...Se a ocultado heckyminitrans.png dentro de out

.-Recuperando archivo

123
$stegb64.py -rf out recovered.png Se a recuperado el mensaje oculto en recovered.png

Y los archivos no cambian ;)

Sin mas preambulo espero les agrade la simple herramienta. Y aunque StegB64 podria crecer en opciones como: Implementar password, hacer uso de algoritmo de huffman para acortar,etc… No se tiene contemplado hacerlo, puesto que no pretende ser una herramienta esteganografica segura, si no demostrar practicamente la idea de la tecnica Esteganografia Base64

El programa y codigo fuente de Stegb64 puede ser descargado desde GitHub en:http://github.com/hecky/stegb64

 Alguna duda o Comentario ya saben donde hacerlo o contactarme =)Saludos ;)Atte. heckyhecky@neobits.org

7 comentarios:

  1. que maravilla Hecky, me lo guardo! gracias...un saludo!

    ResponderEliminar
  2. Muchas gracias @vmotos un halago viniendo de ustedDr_HaCk93 un gustazo le agradara, todo sea por ocultar vuestros secretos xDcordiales Saludos ;)

    ResponderEliminar
  3. Otra para la saca. Genial @hecky como siempre :)Un abrazo!

    ResponderEliminar
  4. Muchas gracias juanan!!!Igualmente un abrazo ;)

    ResponderEliminar
  5. No funciona con python 3 habría que modificar el código.De todas formas excelente trabajo !

    ResponderEliminar
  6. Hola ivanSI en el post hacia la aclaracion "Primeramente decir que esta programada en Python 2.6.6"Python3.x no es mucho de mi agrado, jeje y le es mas facil a usted correrlo con python2.x que ami potarlo denuevo a python3.x Saludos y muchas gracias por su comentario!!

    ResponderEliminar