Este blog ya no está activo, sigue informándote aquí:

Mostrando entradas con la etiqueta Exif. Mostrar todas las entradas
Mostrando entradas con la etiqueta Exif. Mostrar todas las entradas

martes, 11 de julio de 2017

Python.- Remove Exif Data

Ya sabéis que los metadatos es algo de lo que [hemos hablado largo y tendido] y la verdad es que nunca me canso.  Así que cuando veo herramientas relacionadas con Exif no puedo evitar compartirlas.  


Remove Exif Data With Ease es una herramienta escrita en Python 2.7 y pasada por el [Py2exe] para crear un ejecutable para Windows (vamos un .exe). La cual es capaz de eliminar todos los metadatos de todas las fotos que tengamos en una carpeta creando un duplicado sin esta información y dejando la original. 

Enlace al GitHub: 

Sed Buenos ;) 

viernes, 31 de octubre de 2014

Python.- Extrayendo Metadata con PIL

Hace menos de una semana os di la vara con el tema de los metadatos Exif y os presente un [par de PoC] para ver como se podía extraer y eliminar. La verdad es el código que utilice para la PoC de extraer metadatos utilizaba una librería un poco desfasada y de la que ya me queje [en la siguiente] entrada.


Así que me había llegado hace ya semanas el libro de Python para Pentesters y sabiendo que había un capitulo donde se hablaba de metadatos, he decidido volver a mirar el código a ver si podía sacar una idea y no solo me he encontrado con una idea si no con la solución entera. Ademas, utilizando la librería PIL así que no voy a tener que importar tantas cosas cuando junte los dos scripts y va a quedar un código mas bonito. 

from PIL.Exif.Tags import TAGS 
from PIL import Image 

def testForExif(imgFileName):
try: 
   exifData =  {}
   imgFile =  Image.open(imgFileName)
   info =  imgFile._getexif()
   print info
   if info:
         for (tag,value) in info.items(): 
               decoded = TAGS-get(tag,tag)
               exifData[decoded] = value
         exifGPS =  exifData['GPSInfo']
         if exifGPS: 
              print '[*] ' + imgFiileName + 'GPS Data: ' + exifGPS
except: 
    pass
testForExif('D:\\StateXMola.png')

La verdad es que me parece una solución cojonuda, solo que la mía estaba hecha con menos lineas de código. Pero, con esto ganamos unificar librerías y trabajar con una libreria que no está en desuso. Os recomiendo encarecidamente este libro porque la verdad es que es una maravilla.  

 Mas información del libro: 
Sed Buenos ;) 

sábado, 25 de octubre de 2014

Eliminado Metadatos Exif Con Python

Ayer estuve intentando por todas las maneras borrar le información Exif por la librería que os enseñé y la verdad es que desistí después de pasar toda la mañana tocando cosas por culpa de problemas de permisos. Así que, después de toda una mañana, decidí buscar otras maneras de hacerlo. 



Me puse a mirar hasta como [trabajaba el formato Exif] en bits y mas librerías. Hasta que leyendo en foros vi que con abriendo y guardando una foto con la [libreria PIL] por defecto sobrescribía los metadatos Exif que le pongas. Así que, si no le ponemos ninguno sobrescribe nada dejándolos en blanco.

De esta manera me he creado una mini PoC  muy cutre: 

from PIL import Image

foto = Image.open( raw_input ("Foto: "))

foto.save("copiasinmeta.jpg")

Así que si cogemos la imagen de ayer y la copiasinmeta.jpg y las pasamos por la FOCA vemos, primeramente,  que el peso es significativamente diferente. 


Después la analizamos y vemos como la copiasinmeta.jp ya no posee metadatos en su interior. Mientras que la foto de ayer, la cual he llamado prerasd.jpg aun tiene sus metadatos. 


Un truco efectivo y la verdad es que me dan ganas de profundizar mucho ams en el campo de los metadatos. 

Sed Buenos ;) 


viernes, 24 de octubre de 2014

Pyexiv2.- Extrayendo Metadatos EXIF En Python

En la entrada de ayer vimos una herramienta para limpiar los metadatos de diferentes tipos de archivo. Además, os dije que tenia ganas de ver como podía montarme un script propio para este tema. Así que esta mañana me he estado dando de cabezazos con diferentes librerías hasta que he encontrado Pyexiv2.


Por lo que he leído en la documentación con esta librería seria muy fácil limpiar archivos que utilicen el formato EXIF. Yo me he montado un miniscript funcional para entender como funciona la librería y ver lo que es capaz de extraer antes de borrar. 

from pyexiv2 import ImageMetadata, ExifTag

image = ImageMetadata(raw_input("Foto: "))
image.read()
for item in image.exif_keys: 
tag = image[item]
print tag

Esto es facil si antes hemos hecho una lectura de la documentación de Pyexiv2: 
Con image =  ImageMetadata() y image.read() cargamos el archivo que nosotros queramos. 

Si os miráis la documentación image,exif_keys revela todas la lista de Exif tags que podemos mirar en una imagen. 

Lista de Tags: 

  • metadata.exif_keys:
    • ['Exif.Image.ImageDescription','Exif.Image.XResolution', 'Exif.Image.YResolution', 'Exif.Image.ResolutionUnit', 'Exif.Image.Software', 'Exif.Image.DateTime', 'Exif.Image.Artist', 'Exif.Image.Copyright', 'Exif.Image.ExifTag', 'Exif.Photo.Flash', 'Exif.Photo.PixelXDimension', 'Exif.Photo.PixelYDimension']
Por lo tanto, si tenemos una lista podemos utilizar un bucle for para que por cada objeto de la lista nos imprima el nombre del objeto llamado tag y el valor.  

for item in image.exif_keys: 
tag = image[item]
print tag

Haciendo la prueba he elegido la siguiente imagen, la cual posee muchísimos metadatos.


Bingo así que tenemos toda la información de los metadatos de la foto con su versión de sistema operativo, marca, resoluciones, etc.


Para mañana he de mirar como eliminar toda esta información y a ponerme un poco al día con el formato EXIF.

Sed Buenos ;) 

viernes, 16 de agosto de 2013

Exif y Exif Reader.- Se Lo Que Hicisteis En La Ultima Fotografía

En pleno mes de agosto, tiempo de relax y diversión, dan ganas de sacar a relucir esas cámaras ultimo modelo para inmortalizar nuestras vacaciones. Pero, es muy posible que entre tanto ajetreo se acaben "perdiendo" y con ello toda la información que contenían. No espero que todos esteis familiarizados con  Exif (Exchangeable image file format), un formato de almacenamiento de metadata ,el cual, es utilizado por todas las cámaras del mercado en cada fotografía. Así qué empezaremos dando una pincelada rápida. 


Exif es un formato utilizado en formatos JPEG, TIFF, RIFF o WAV (aunque no siempre pero si se utiliza mucho). Ojo, no funciona con PNG o JPEG 2000. Este tipo de formato nos permite poder leer información muy detallada de como se ha hecho la fotografía, donde se ha hecho (en el caso de que el equipo tuviera un dispositivo GPS), cuando se hizo y mucho mas información. Además solo hace falta descargarse Exif Reader para poder verlo. (¿Cuanta información podrían sacar de nuestra cámara de fotos/móvil en el caso de que cayera en malas manos?) 


Aunque lo mejor de todo esto es que, si no hemos tenido cura de estos metadatos al editar una fotografía es posible poder ver como era antes del cambio. Pero, tranquilos Photoshop y las nuevas versiones de Paint, ya se encargan de que no os pase esto. Os dejo la descarga de Exif Reades para que lo probéis con vuestras fotografías. 
Sed Buenos ;)