Muchos formatos de archivos, además de presentar contenido, como JPEG que muestra una foto tomada, pueden contener metadatos. Esta información oculta puede ser invaluable durante las investigaciones OSINT y las pruebas de penetración. Veamos algunos casos y herramientas útiles para extraer esta información aparentemente oculta.
No Limpiar los Metadatos de las Fotos
Los tiempos en que las redes sociales conocidas no limpiaban los metadatos de las fotos de los usuarios publicadas en los perfiles ya pasaron. Extraer las coordenadas GPS no eliminadas podría ser una grave violación de la privacidad, como revelar la dirección del domicilio de un usuario. Aunque las redes sociales ahora eliminan los metadatos de las fotos, muchas aplicaciones de diferente naturaleza a menudo no lo hacen. Es importante prestar atención a este aspecto durante las pruebas para proteger a los usuarios del software probado de situaciones similares a la que le ocurrió a una periodista de televisión alemana. Ella publicó tal foto en Internet:
Los curiosos usuarios de Internet descargaron esta foto y verificaron sus metadatos. Además de la información clásica, resultó que contenía algo más. Durante el recorte del cuadro anterior, el programa gráfico conservó el original de la foto en forma de miniatura que muestra un cuadro más amplio, revelando demasiada información.
FOCA – Detección Masiva de Metadatos en Documentos
Extraer coordenadas GPS o miniaturas ocultas de una foto constituye «solo» una violación de la privacidad. Sin embargo, al verificar los documentos en busca de metadatos, podemos encontrar información que puede ayudarnos significativamente durante las pruebas de penetración. Buscar manualmente dichos archivos y revisarlos puede llevar mucho tiempo. La herramienta FOCA (Fingerprinting Organizations with Collected Archives) automatiza este proceso. Para un dominio dado, FOCA busca documentos como Microsoft Office, Open Office o PDF y luego extrae los metadatos de ellos.
Los propios metadatos de los documentos pueden contener los inicios de sesión de los usuarios que crearon el documento. Esta información puede ser utilizada para intentar iniciar sesión en la aplicación probada con la cuenta de ese usuario.
Otros datos importantes que pueden encontrarse allí son información sobre el software utilizado para crear el archivo junto con su versión. Podría resultar que el software revelado es vulnerable a algún tipo de ataque y es suficiente usar un exploit listo para infiltrarse más en el sistema.
Además de la información sobre el software, a veces los documentos también dejan anotaciones sobre la versión del sistema operativo. Mencionarlo también facilita considerablemente las pruebas de penetración. Después de todo, ahora sabemos para qué sistema compilar nuestro fragmento de código malicioso.
Otra cosa interesante que puede encontrarse en los metadatos de los documentos es la información sobre la ubicación de red de las impresoras. Esto puede ayudar a un atacante a mapear la infraestructura de la red y atacar las impresoras.
Herramienta disponible en GitHub – https://github.com/ElevenPaths/FOCA
ExifTool Scanner – Automatización durante las Pruebas de Penetración
Mientras que la herramienta discutida anteriormente funciona como un escáner de documentos independiente que busca lo que ya ha sido indexado por los motores de búsqueda, no nos ayudará en el reconocimiento manual. Después de todo, los documentos a menudo se generan a pedido en forma de acceso de descarga única. Aquí es donde entra en juego un complemento de Burp Suite llamado ExifTool Scanner. Supervisará pasivamente el tráfico en busca de archivos que contengan metadatos y extraerá información útil para nosotros. En una de las auditorías, la aplicación probada dejó información sobre la herramienta que generaba dinámicamente PDFs y la versión del sistema en la que se ejecutaba.
Herramienta disponible en BApp Store y en GitHub – https://github.com/portswigger/exiftool-scanner
Curioso – Eliminar Metadatos Puede Ser Peligroso
En 2021, GitLab pagó 20,000 dólares por descubrir un error que, como resultado de eliminar metadatos, condujo a la ejecución remota de código en el servidor. Era suficiente colocar el siguiente código en los metadatos de la imagen:
(metadata
(Copyright "\
" . qx{echo vakzz >/tmp/vakzz} . \
" b ") )
La versión vulnerable de ExifTool realiza una verificación en la línea 31 de exiftool/lib/Image/ExifTool/DjVu.pm, que es responsable de eliminar los atributos que usan $ (variables Perl) o @ (matrices Perl) para garantizar la seguridad. Esto se hace porque este contenido luego se usa en la función eval [9] en la línea 34, que ejecuta el contenido como código. Para activar la función vulnerable, se debe crear un archivo DjVu válido con una anotación que contenga la carga útil, que será ejecutada por la función eval como código Perl.
Para leer más sobre esta vulnerabilidad, visita: A Case Study on CVE-2021-22204: ExifTool RCE.