Introduction
Security Arsenal has tracked a concerning shift in the threat landscape: cybercriminals are bypassing traditional email defenses (SEGs) by weaponizing Microsoft Teams. In recent campaigns, attackers utilize vishing (voice phishing) via Teams calls to manipulate targets into granting access or downloading malicious payloads. This social engineering vector serves as the initial access point for Chaos ransomware, a cryptor known for aggressive encryption tactics and data exfiltration.
For defenders, this highlights a critical gap in the "new perimeter." While email filters are mature, real-time communication platforms like Teams often lack the same level of inspection and friction. Once the user is socially engineered on this trusted platform, the resulting Chaos ransomware deployment leads to rapid operational disruption. Immediate action is required to harden collaboration environments and detect these behavioral anomalies.
Technical Analysis
The Attack Chain
-
Initial Access (The Vishing Vector): Attackers exploit the open nature of Microsoft Teams external communication. They create external tenants that appear legitimate or spoof internal identities.
- Technique: The adversary sends a Teams chat invitation or initiates a voice call to the target. They pose as IT support, vendors, or executives, claiming an urgent issue requiring the user to download a "fix" or approve an MFA prompt.
- Platform: Microsoft Teams (M365).
-
Execution (Chaos Ransomware): Upon successful social engineering, the user is typically tricked into downloading a malicious file (often masquerading as a PDF or software update) or granting remote access. This leads to the execution of Chaos ransomware.
- Malware: Chaos Ransomware (distinct for its speed and ability to target Windows systems).
- Behavior: Unlike sophisticated operators who focus on persistence, Chaos often moves directly to encryption. It enumerates drives, encrypts files using strong algorithms (often AES or ChaCha20), and may attempt to delete Volume Shadow Copies to prevent recovery.
CVE Status
This threat is technique-based, not vulnerability-based. There is no CVE for "Microsoft Teams Vishing." The exploit is trust. Therefore, patching is not applicable; defense relies entirely on configuration hardening, user awareness, and behavioral detection.
Detection & Response
Defending against this requires a two-pronged approach: monitoring for the initial access indicators (Teams anomalies) and detecting the payload execution (Ransomware behaviors).
SIGMA Rules
The following Sigma rules detect the precursor activity (Guest user invitations from unusual locations or volumes) and the specific behavior of Chaos ransomware (deleting shadow copies).
---
title: Microsoft Teams External User Invitation - Potential Vishing Setup
id: 8a2f1b44-9d3e-4a5c-b612-3e4a5f901234
status: experimental
description: Detects the addition of external users to Microsoft Teams, often a precursor to vishing attacks. Attackers add targets as guests to initiate calls.
references:
- https://attack.mitre.org/techniques/T1566/
author: Security Arsenal
date: 2026/04/22
tags:
- attack.initial_access
- attack.t1566
logsource:
product: m365
service: audit
detection:
selection:
Operation|contains:
- 'Add member'
- 'Invite external user'
TargetType: 'Group'
condition: selection
falsepositives:
- Legitimate B2B collaboration with external partners
level: low
---
title: Chaos Ransomware Behavior - Vssadmin Shadow Copy Deletion
id: 9b3g2c55-0e4f-5b6d-c723-4f5b9g012345
status: experimental
description: Detects attempts to delete Volume Shadow Copies using vssadmin, a common tactic used by Chaos ransomware to prevent recovery.
references:
- https://attack.mitre.org/techniques/T1490/
author: Security Arsenal
date: 2026/04/22
tags:
- attack.impact
- attack.t1490
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith: '\\vssadmin.exe'
CommandLine|contains:
- 'delete shadows'
- 'resize shadowstorage'
condition: selection
falsepositives:
- System administration scripts (rare)
level: critical
---
title: Potential Chaos Ransomware Execution Pattern
id: 1c4d3e66-1f5g-6c7e-d834-5g6c0h123456
status: experimental
description: Detects execution of binaries from suspicious directories often used by Chaos droppers, followed by rapid file system modifications or encryption markers.
references:
- https://attack.mitre.org/techniques/T1486/
author: Security Arsenal
date: 2026/04/22
tags:
- attack.impact
- attack.t1486
logsource:
category: process_creation
product: windows
detection:
selection:
ParentImage|endswith:
- '\\ms_teams.exe'
- '\browser.exe'
- '\\outlook.exe'
Image|contains:
- '\\Downloads\'
- '\\AppData\\Local\\Temp\'
Image|endswith:
- '.exe'
- '.bat'
- '.cmd'
filter_legit:
Image|contains:
- '\\Microsoft\\TeamsMeetingAddin\'
- '\\Microsoft\\Teams\'
condition: selection and not filter_legit
falsepositives:
- Users launching legitimate installers from Downloads
level: high
KQL (Microsoft Sentinel / Defender)
Use this KQL query to hunt for external Teams invites that may be part of a vishing campaign, correlating with potential follow-up suspicious process execution.
// Hunt for Teams External Invites correlated with process execution
let TeamInvites = OfficeActivity
| where TimeGenerated > ago(7d)
| where Operation == \"MemberAdded\" or Operation == \"GuestUserInvited\"
| extend UserId = tolower(UserId), TargetUser = tolower(TargetUserOrGroupName)
| project TimeGenerated, Operation, UserId, TargetUser, ClientIP;
let SuspiciousProcesses = DeviceProcessEvents
| where TimeGenerated > ago(7d)
| where ProcessCommandLine contains \"delete shadows\"
or (FolderPath contains @\"\\Downloads\\" and ProcessVersionInfoOriginalFileName != \"Teams.exe\")
| project DeviceName, InitiatingProcessFileName, ProcessCommandLine, TimeGenerated;
TeamInvites
| join kind=inner SuspiciousProcesses on $left.UserId == $right.InitiatingProcessFileName
| summarize count() by bin(TimeGenerated, 1h), UserId, DeviceName
| sort by count_ desc
Velociraptor VQL
This VQL artifact hunts for processes attempting to delete shadow copies (a key Chaos tactic) and checks for the presence of ransom notes typically associated with Chaos variants.
-- Hunt for Chaos Ransomware Indicators
SELECT
Pid,
Name,
CommandLine,
Exe,
Username
FROM pslist()
WHERE Name =~ \"vssadmin.exe\"
AND CommandLine =~ \"delete shadows\"
-- Check for Ransom Notes in User Directories
SELECT FullPath, Size, Mtime
FROM glob(globs=\"/*/*/readme.txt\", root=string(env=\"SystemDrive\"))
WHERE Size < 100000
-- Chaos notes are often small text files
LIMIT 50
Remediation Script (PowerShell)
Use this PowerShell script to audit and harden the Microsoft Teams external access configuration to prevent unsolicited vishing attempts.
<#
.SYNOPSIS
Harden Microsoft Teams against external vishing attacks.
.DESCRIPTION
This script checks the current Teams federation and guest access settings
and recommends/configures strict blocking for external domains not allow-listed.
#>
Write-Host \"[+] Auditing Microsoft Teams External Access Policies...\" -ForegroundColor Cyan
# Check if Teams PowerShell Module is installed
if (-not (Get-Module -ListAvailable -Name MicrosoftTeams)) {
Write-Host \"[!] MicrosoftTeams PowerShell module not found. Please install it first.\" -ForegroundColor Red
exit
}
try {
Connect-MicrosoftTeams -ErrorAction Stop
}
catch {
Write-Host \"[!] Failed to connect to Microsoft Teams. Ensure you have Global Admin rights.\" -ForegroundColor Red
exit
}
# Get Current Federation Configuration
$fedConfig = Get-CsTenantFederationConfiguration
Write-Host \"[+] Current Federation Configuration:\" -ForegroundColor Yellow
Write-Host \" AllowFederatedUsers: $($fedConfig.AllowFederatedUsers)\"
Write-Host \" AllowedDomains: $($fedConfig.AllowedDomains -join ', ')\"
# Recommended Hardening: Block all domains except specific allowed list
# NOTE: This requires updating your specific allow-list before running.
$hardenedDomains = @{
\"AllowFederatedUsers\" = $false;
\"AllowedDomains\" = @{\"Allow\" = @(\"contoso.com\", \"trustedpartner.com\")}; # UPDATE THIS LIST
\"BlockedDomains\" = @{\"Block\" = @()}
}
Write-Host \"\"
Write-Host \"[!] SECURITY RECOMMENDATION:\" -ForegroundColor Magenta
Write-Host \" Configure 'Teams Meeting Policy' to block anonymous users and 'External Access Policy' to only allow specific domains.\"
Write-Host \" Run: Set-CsExternalAccessPolicy -EnableFederationAccess $true -EnablePublicCloudAccess $false -AllowFederatedUsers $false\"
Write-Host \" Then run: Set-CsTenantFederationConfiguration -AllowedDomains @{Allow='allowed.com'}\"
Disconnect-MicrosoftTeams
Write-Host \"[+] Audit complete.\" -ForegroundColor Green
Remediation
Immediate Actions
- Revoke External Access: Audit the "Guest" users in your Azure AD tenant. Remove any guests that were added recently without a valid business ticket. Use the
Get-AzureADUser -Filter \"UserType eq 'Guest'\"PowerShell command to list them. - User Communication: Immediately notify all staff of the vishing campaign. Explicitly state: "IT will never ask you to approve MFA or download software via an unsolicited Teams call from an unknown number."
Long-term Hardening
- Restrict Microsoft Teams External Access:
- Navigate to the Microsoft Teams Admin Center > Users > External access.
- Set "Let Teams users chat with users in an external organization" to "Allow only specific external domains".
- Populate the allow-list strictly with verified partners. Block all others by default.
- Manage Meeting Policies:
- Set the Global Meeting Policy to disable "Anonymous users can join a meeting" unless absolutely necessary for public webinars.
- Enable Safe Links for Teams:
- Ensure Microsoft Defender for Office 365 Safe Links policies are applied to Teams, not just Outlook. This provides a layer of inspection for links sent via chat.
Related Resources
Security Arsenal Incident Response Services AlertMonitor Platform Book a SOC Assessment incident-response Intel Hub
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.