EnCase 7.09.04: Extrayendo Contraseñas de Llaveros OS X



EnCase 7.09.04 está disponible ahora y contiene varias mejoras para hacer de su investigación más eficiente y comprensiva. Las investigaciones digitales de hoy presentan una lucha constante para mantener conjuntos de habilidades investigativas comprensivas mientras mejora continuamente la eficiencia haciendo frente al crecimiento exponencial de la evidencia y la diversidad de malversación. EnCase 7.09.04 hace de los reportes más eficientes con la Plantilla Flexible de Reportes y reduce el esfuerzo del investigador al habilitar el descifrado de los dispositivos con encriptación McAfee con EnCase Examiner de 64 bits. EnCase 7.09.04 expande las capacidades investigativas más fuertes basadas en Windows de las máquinas OS X, aumentando la habilidad de descifrar y extraer contraseñas de llaveros OS X.

Para tener acceso a éste lanzamiento registre su dongle  y recibirá un email de MyAccount con los links de descarga.

En este artículo, revisaremos la información que puede ser extraída de los llaveros al mismo tiempo de proveer muestras  de técnicas basadas en EnScript para exponer estos datos en EnCase.
Hace poco menos de un año, Simon Key de la División de Entrenamiento de Guidance Software publicó un blogpost informativo sobre el descifrado de llaveros OS X. Este post se hizo bastante popular ya que miles de investigadores absorbieron la técnica. Subsecuentemente, la aplicación dumpkeychain en EnCase App Central, usada para analizar y extraer datos de llavero se convirtió en una de las aplicaciones más descargadas. Si no ha revisado el post de Simon en su totalidad, le proporcionaré la versión condensada.

Cuando un usuario se logea en una máquina OS X, sus credenciales son almacenadas de una manera segura y protegidas por OS X. Cuando quiera que se registra en una página web, o un punto de wi fi es conectado, o cuando un servidor de email es logeado dentro de un cliente de correo, OS X comúnmente ofrece almacenar las contraseñas para uso posterior. Estas contraseñas son almacenadas en archivos de llavero en un sistema de usuario por usuario o a través de todo el equipo para toda la máquina. Naturalmente, los archivos de llavero son protegidos con múltiples niveles de seguridad y no son fáciles de sacar a la luz. No son fácilmente accesibles desde OS X como un usuario, pero son accesibles para EnCase. Si un investigador ha conseguido las credenciales de login OS del usuario, es un proceso mecánico, repetible para acceder a todas las contraseñas almacenadas en un llavero.

Por supuesto, hay herramientas disponibles que realizan esta actividad de manera admirable. Notablemente, Password Forensic  tiene la habilidad de descifrar con credenciales adecuadas y además atacar los archivos de llavero OS X si usted no cuenta con credenciales. Passware tiene un producto realmente increíble y Guidance lo recomienda bastante a todos los investigadores. Pero no todos los investigadores tienen acceso a licencias de Passware y si usted está dentro de ellos: esta publicación es para usted.

En cuanto a la versión 7.09.04, EnCase incluye la habilidad de extraer contraseñas de usuarios OS X y archivos de llavero de sistema.

Podemos destilar el proceso en unos cuantos pasos:

1.       Analizar y descifrar llaveros del usuario/sistema

2.       Extraer y almacenar secretos

3.       Usar secretos para encontrar más evidencias, combatir el mal, luchar por el bien, etc.
Esta captura de pantalla representa mi usuario de llavero en mi MacBook Pro en una vista al vivo en EnCase:


En cuanto a la versión 7.09.04, EnCase no provee una interfaz gráfica para descifrar y analizar este llavero, pero sí tenemos acceso mediante EnScript API.

Aprender EnScript está realmente fuera del alcance de este post, pero si está interesado en aprender más, el Entrenamiento de Guidance Software ofrece el curso definitivo en programación EnScript, o si usted es un desarrollador, siempre puede apuntarse al EnCase App Central Developer Network para tener acceso a un SDK EnCase Forensic libre de costo, muestras de código, documentación de desarrollador y más.

Aquí están los bits importantes de EnScript code. Los contenidos pueden ser descargados aquí.



Comencemos por la línea 42: Primero, queremos iterar a través de todos los ítems de nuestro caso. Esta es la forma más directa de exponer entradas de archivos de sistema para inspección.
Una vez estamos al corriente, para los propósitos de esta muestra, queremos identificar un archivo de llavero específico para analizar. De hecho, yo conozco la localización de mi usuario de llavero del TruePath identificado en la primera captura de pantalla, así que he poblado una variables “llaveroTruePath” con esta información.



En la línea 42, creamos una instancia a CredentialClass para facilitar el almacenamiento de los secretos extraídos del llavero.

En las líneas 45 a la 46, creamos una instancia; EntryFlyClass y la populamos con los contenidos del archivo de llavero.

En la línea 47, llamamos a un nuevo método, “DumpKeyChain”, la cual acepta el EntryFlyClass que acabamos de crear y un parámetro de contraseña, una variable de cadena previamente poblada.

El método DumpMacKeyChain descifra el llavero y analiza los secretos contenidos en el mismo, pero no están todavía accesibles para un usuario para una investigación. En este punto, usted podría empezar a imprimir contraseñas a la Consola, pero podemos hacer más que eso.



Finalmente en la línea 48, utilizamos un método AddToSecureStorage, que está definido en nuestro script de muestra. AddToSecureStorage creará una credencial dentro de la pestaña de Secure Storage dentro de su caso, haciendo más fácil revisar los secretos extraídos. Cuando está poblado, Secure Storage se ve así:



Como puede ver, hay un número alarmante de información almacenado en mi llavero. No es un chiste: hay más contraseñas almacenadas en un llavero de las que conoce; ¡Es por ello que le pidió al llavero que las recuerde! Por ejemplo:

·         Las líneas 41 y 42, más arriba, representan una contraseña almacenada en el cache de un servidor interno de Guidance Software.

·         Las líneas 45 y 46 representan contraseñas almacenadas por Safari ( contraseñas guardadas a sitios web)

·         Líneas 39 y 40 representan credenciales para descifrar un archivo DMG encriptado “MyEnCryptedStash.dmg”.


Cuando vemos la pestaña "Texto" vemos el secreto descifrado a la vista. Esta es la contraseña de la DMG encriptada. Podemos tomar fácilmente esta contraseña y descifrar y montar el DMG en nuestro caso. Localizamos la DMG, y realizada de una vista de estructura del archivo de la entrada:


Ahora, coloque la contraseña de Secure Storage.


 Esta captura de pantalla muestra el DMG cifrado, descifrado y montado en EnCase, los datos son visibles y puestos a la luz.



Mientras el descifrado y la capacidad de extracción, descritos en este post, existan a través del API EnScript, sabemos que accesos más simples a esta tecnología son incluso más eficientes. Más adelante este verano, estamos planeando en hacerlo incluso más fácil de usar esta poderosa tecnología mediante:

·         Analizar archivos de llavero mediante la interfaz de usuario de EnCase, poblando automáticamente Secure Storage con secretos extraídos

·         Descifra automáticamente archivos como DMGs, paquetes cuando las contraseñas se encuentran dentro de Secure Storage

Espero que esto les dé un poco más conocimiento en cómo estamos trabajando para permitir que EnCase encuentre más evidencia y haga de sus investigaciones más eficientes.

Siéntase a gusto de compartir con nosotros su feedback, preguntas, comentarios y preocupaciones conmigo. Puedo ser contactado en Twitter, @kenm_encase.

Ken Mizota es Gerente de Productos en Guidance Software, entre algunas de sus especialidades podemos nombrar que ha sido Gerentes de Proyectos, Arquitectura de Sistemas y Procesos de Ingeniería. Traducido del original en ingles, EnCase 7.09.04: Extracting Passwords from OS X Keychains

RELACIONADOS




No hay comentarios :

Publicar un comentario