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

martes, 3 de noviembre de 2015

Obtener la contraseña de Lync (Skype for Business) con PowerShell desde el Windows Credential Manager

Por vicisitudes de la vida me ha tocado enredar con el almacén de credenciales (Windows Credential Manager) en Microsoft Windows 7 - funciona igual en Windows 8, Windows 10 o Window Server 2012 -, todo gracias a ese preciado producto de Microsoft que es Outlook y su integración con Active Directory. Para lo que quiero hacer, Powershell es algo así como la herramienta definitiva ya que igual te vale para administrar los sistemas eficientemente como para hacer Pentesting con PowerShell en una red Windows. En el artículo de hoy, el uso de PowerShell podría decirse que su uso es para ambos fines, y que dependerá de cada uno el uso que se le quiera dar.


Figura 1: Obtener la contraseña de Lync con PowerShell

Para simplificar aún más las cosas voy a hacer uso del script Credman.ps1 del bello JimmyJoeBob Alooba que permite gestionar el almacén de credenciales de máquinas Windows, y que en este caso vamos a utilizar con la cuenta del propio usuario de la máquina - sin ser administrador del equipo -.

Acceso a datos de Windows Credential Manager

El funcionamiento es sencillo. Tras descargarlo, hay que firmar el script digitalmente, ya que tenemos aplicada la política AllSigned como forma de fortificación de ejecución de software en nuestros equipos Windows. En un primer intento, tras ejecutarlo y lista mis credenciales, sin sacar una contraseña alguna por el momento.


Figura 2: Listando credenciales almacenadas en Windows Credential Manager de Windows

Hay que comentar que en el almacén de credenciales de Microsoft no solo se guarda información permanente - lo que marcamos como "recordar contraseña" -, sino que también aparece información volátil y de sesión. Y aquí es donde entra en juego Microsoft Lync 2013.

Las credenciales de MS Lync (Skype for Business)

Supongo que si digo que actualmente se llama "Skype for Business" queda todo explicado sobre la idea de la herramienta. Una de las mejores posibilidades es la de integrarse en Active Directory e integrarse con líneas de telefonía dentro de la estrategia de Comunicaciones Unificadas que muchas empresas aplican. Además, se enlaza con Microsoft Outlook para obtener contactos, almacenar conversaciones, etcétera.

Una vez que se ha instalado en el equipo Microsoft Lync 2013 y se ha iniciado sesión, el comportamiento del script cambia. Si volvemos a lanzar exactamente el mismo script podemos ver que salen mis contraseñas de Microsoft Lync 2013 en texto claro.


Figura 3: Con Microsoft Lync con una sesión activa se muestran las credenciales

Si alguien es capaz de acceder durante unos instantes a mi sesión de escritorio y lanzar el script, en PowerShell podría robar mis credenciales para conectarse al correo electrónico, recursos de red, tal vez VPNs, etcétera. También podría hacer llamadas telefónicas a través de otra instancia de Microsoft Lync utilizando mi identidad y cargar todas las llamadas a mi cuenta.

Las credenciales de la cuenta de Microsoft Lync quedan ahí mientras que la sesión está abierta e incluso pasado un buen rato después de que se cierre la sesión se sigue mostrando Solo se borra automáticamente si se vuelve a abrir Microsoft Lync con otra cuenta o si reiniciamos la sesión. La explicación de por qué están las credenciales ahí se debe a la integración del servicio con todos los servicios. En algún momento necesitará autenticarse en otros servicios y por eso recuerda la contraseña en la sesión, aunque tal vez debería guardarla cifrada en el Windows Credential Manager.


Figura 4: En Windows Credential Manager se muestra que
la cuenta tiene la contraseña guardada, pero no se ve.

Una última prueba que queda por hacer es ver si la GUI del administrador de credenciales también muestra la contraseña o no.


Figura 5: Edición de datos de la credencial

Como se puede ver, parece que no. El interfaz gráfico sí que tiene alguna protección para no mostrar esa información sensible. Ni siquiera se muestra el campo con herramientas como WinSpy. Este funcionamiento es similar a cómo se guarda la cuenta de la sesión de Windows cuando se autentica en un equipo con un usuario de Windows Live.


Figura 6: Windows Credential Manager en Windows 8 con
almacenamiento de datos de Windows Live

La ventaja de este sistema tan sencillo de usar el script para listar las identidades frente a usar una herramienta más agresiva como Mimikatz o los volcados de memoria - para el caso de Microsoft Lync o cualquier otro sistema que almacene credenciales temporalmente sin cifrar - es que no es bloqueado por el sistema antimalware del sistema ni necesitamos privilegios de administrador para acceder a los datos. Al fin y al cabo no es más que utilizar herramientas del propio sistema como PowerShell con los permisos de usuario.

Autor: Jdeisusi

Fuente: http://www.elladodelmal.com/2015/10/obtener-la-contrasena-de-lync-skype-for.html

viernes, 7 de agosto de 2015

Recuperar mensajes borrados en Skype

 Hace no demasiado he leído el artículo en DragonJar sobre cómo realizar un análisis forense a una aplicación Skype utilizando una pequeña utilidad llamada Skype Forensic. Este programa busca los ficheros de la aplicación en un equipo y los analiza para sacar las conversaciones y los contactos que allí han tenido lugar.
Figura 1: Skype Forensic
La mayoría de los datos que almacena Skype son guardados en bases de datos SQLite, con lo que es posible verlos manualmente con cualquier visor aunque esta herramienta simplifica un poco esta tarea y saca, por ejemplo, todas las conversaciones que han tenido lugar.
Figura 2: Tabla Chats de la Base de datos main.db de Skype 

La gracia de Skype es que al ser un SQLite, aunque se borren los mensajes de la tabla que los almacena, estos quedan en páginas borradas de la base de datos, por lo que un análisis a bajo nivel podría recuperar la información que allí se encuentra.
Figura 3: Borrado de un mensaje de Skype en una conversación en OS X
En la base de datos principal de cada cuenta de Skype del sistema, que se encuentra dentro de una carpeta con el nombre de usuario, hay una base de datos SQLite llamada main.db. Dentro de esta base de datos - extraíble desde un terminal AndroidiPhone, un Mac OS X o un sistema Windows, hay una tabla llamada Conversations que mantiene los hilos de las conversaciones y otra llamada Chats, donde se almacenan los mensajes enviados.
Estos mensajes pueden ser borrados, y dentro de la app se verá que el mensaje ha sido borrado porque en el hilo aparecen saltos en los mensajes, pero utilizando una recuperador de páginas perdidas en SQLite es posible sacarlo.
Figura 4: Visualización de mensaje borrado en Skype
Esta tarea es posible hacerla con Recover Messages, ya que no solo vale para reccuperar los mensajes borrados de WhatsApp, SMS o Line, y al igual que ya vimos que se podía hacer para sacar los ficheros borrados de la base de datos wc.db de Subversion, se puede utilizar para sacar las conversaciones borradas de Skype.
El funcionamiento es sencillo, se sube el fichero, se analiza, y en Raw Data se podrán ver los datos recuperados en bruto.
Figura 5: Raw Recovered data de una base de datos de Skype en Recover Messages
Si se analiza el fichero completo, se puede descargar un fichero con todos los datos recuperados, dónde se podrán ver las conversaciones borradas por el usuario en Skype aunque no aparezcan en la visualización del la base de datos con un visor SQLite.
Figura 6: Un ejemplo de una base de datos de Skype analizada con Recover Messages
Si algún día te topas con un análisis forense de Skype, ten presente que no basta con analizar sólo la base de datos, y que haciendo una inspección a bajo nivel tal vez sea posible sacar más información de la que se ve a simple vista.
Saludos Malignos!

Fuente: http://www.elladodelmal.com/2013/09/recuperar-mensajes-borrados-en-skype.html