SpiderLabs Blog

Microsoft Teams and Skype Logging Privacy Issue | Trustwave

Written by Reegun Jayapaul | Jan 11, 2021 6:00:00 AM

Description:

This blog post focuses on the privacy issues that Microsoft Teams & Skype desktop clients pose. The log database in both clients stores all the chats and images as plain non-encrypted data. The chats are encrypted via network as mentioned here https://docs.microsoft.com/en-us/microsoftteams/teams-security-guide but not encrypted at rest in local storage.

With Supervision policies, only the authorized person can monitor chats, but due to the non-encrypted storage, any account with administrative privileges can view the chats of the users from the target machine. This issue may pose a violation of regulatory compliance and/or risk management.

One can easily locate the chat database files and exfiltrate via any offensive medium.

Offensive Approach:

Steps to Reproduce:

1. For Chats:

  1. In Windows – Locate:
    1. Microsoft Teams –
      1. %appdata%\Microsoft\Teams\IndexedDB\https_teams.microsoft.com_0.indexeddb.leveldb\
    2. Skype –
      1. %appdata%\\Microsoft\Skype for Desktop\IndexedDB\file__0.indexeddb.leveldb
  1. In MacOS – Locate:
    1. Microsoft Teams –
      1. ~/Library/Application Support/Microsoft/Teams/IndexedDB/https_teams.microsoft.com_0.indexeddb.leveldb/
    2. Skype –
      1. ~/Library/Application Support/Microsoft/Skype for Desktop/IndexedDB/file__0.indexeddb.leveldb/
  1. The current logging is under .log extension. The old logs have an .ldb extension.
  2. Grab those logs
  3. Extract the chats with a simple grep command

Microsoft Teams –

Command : Strings 000103.log | grep “<div>”


Skype –

Command : strings 000067.ldb | grep "content"

 

2. For Images:

  1. In Windows – Locate:
    1. Microsoft Teams –
      1. %appdata%\Microsoft\Teams\Cache\
    2. Skype –
      1. %appdata%\Microsoft\Skype for Desktop\Cache\
  1. In MacOS – Locate:
    1. Microsoft Teams –
      1. ~/Library/Application Support/Microsoft/Teams/Cache/
    2. Skype –
      1. ~/Library/Application Support/Microsoft/Skype for Desktop/Cache/
  1. You can find the files with no extension.
  2. Read the file with any hex editors and identify the images with file headers.
  3. Rename and open

Affected Versions:

Windows:

Microsoft Teams – 1.3.00.30866
Skype for Desktop –  8.66.0.77

MacOS:

Microsoft Teams – 1.3.00.30874
Skype for Desktop - 8.66.0.74

Findings:

Using the above steps an attacker can grab:

  1. Normal chats and images
  2. Deleted chats and images
  3. Unseen chats and images which were deleted from other users
  4. Skype’s Private chat’s, which are meant to be encrypted end-to-end
  5. Skype’s deleted private chat’s, which are meant to be encrypted end-to-end

A seasoned log folder could have multiple backups of old chats:

Impact:

  1. An open risk to leakage of confidential information contained in chat
  2. A low profile malware payload can grab and upload the files to a C2 server
  3. High possibilities for an Insider attack
  4. Failure of Data Risk Management and Regulatory compliance
  5. Failure of GDPR Compliance

Trustwave Recommendations:

From the Threat Hunting perspective,

  1. Monitor the above paths for any abnormal access like Username and Users parameters are different
  2. Monitor for file behaviors like copy and delete for the above folders

Mitigations

A quick workaround for this issue is to deny read/write permissions for the standard user accounts to folders “IndexedDB” and “Cache” to prevent the creation of the logs as you can see in the screenshot below:

We reported this issue to Microsoft through our responsible disclosure program. They responded, "We determined that this behavior is considered to be by design."

Trustwave is exercising extra vigilance in monitoring this kind of traffic. We regularly monitor and improve our threat hunting plans for all global cyber events and all organizations can undertake similar operations within their environment. Contact Trustwave about engaging professional threat hunting.