A new FBI alert highlights a disturbing shift in Nation-State TTPs: Russian Intelligence services are actively targeting the Hospitality sector to exploit Signal recovery keys. For high-value executives, diplomats, and security professionals traveling through hotels, this represents a critical failure in the assumed security of end-to-end encrypted (E2EE) communications.
The attack vector bypasses the mathematical strength of Signal's encryption by targeting the operational recovery mechanisms. If an actor gains access to your 30-digit recovery key—often through physical access to an unattended device in a hotel room or via infostealer malware on compromised hotel Wi-Fi networks—they can potentially decrypt message backups or, in conjunction with device passcode compromise, clone the identity. This is not a theoretical vulnerability; it is an active exploitation campaign designed to harvest intelligence from traveling targets.
Technical Analysis
Threat Actor: Russian Intelligence (State-Sponsored) Target: Hospitality Sector (Specifically high-value guests/executives) Mechanism: Signal Recovery Key Extraction and Misuse
Signal utilizes a 30-digit numeric recovery key to allow users to restore their message history. This key is stored locally on the device and, optionally, in cloud storage (Google Drive or iCloud).
In the context of the Hospitality sector, the attack chain typically involves:
- Initial Access: Physical access to the guest’s device ("evil maid" scenario) or compromise via malicious captive portals/hotel Wi-Fi.
- Credential/Key Harvesting: Deployment of forensic tools or malware to read the Signal configuration directory or intercept cloud backup credentials.
- Key Extraction: Locating the
config.or distinct SQLite databases where the recovery key is stored or intercepting the clipboard during use. - Exfiltration/Decryption: Using the extracted key to decrypt stolen cloud backups or prepare for device cloning.
Unlike traditional protocol exploits, this focuses on the client-side hygiene and physical security layer. The severity is High, as it undermines the confidentiality of E2EE without triggering a cryptographic warning on the network.
Detection & Response
Detecting the theft of a recovery key is challenging, as it often looks like legitimate file access. However, in a targeted environment, we can hunt for processes accessing Signal's internal storage that are not the Signal application itself, or modifications to the linked device registry.
SIGMA Rules
---
title: Potential Signal Recovery Key Access
id: 9e8f1a23-4c5d-6e7f-8a9b-0c1d2e3f4a5b
status: experimental
description: Detects non-Signal processes accessing Signal configuration files where recovery keys are stored.
author: Security Arsenal
date: 2026/05/12
tags:
- attack.credential_access
- attack.t1552.001
logsource:
category: file_access
product: windows
detection:
selection:
TargetFilename|contains:
- '\AppData\Roaming\Signal\'
- '\AppData\Local\Signal\'
filter_legit:
Image|endswith:
- '\Signal.exe'
- '\signal-desktop.exe'
condition: selection and not filter_legit
falsepositives:
- Backup software scanning AppData
- Antivirus scans
level: high
---
title: Signal Desktop Database Anomaly
id: b1f2c3d4-5e6a-7b8c-9d0e-1f2a3b4c5d6e
status: experimental
description: Detects unexpected processes interacting with Signal SQL databases.
author: Security Arsenal
date: 2026/05/12
tags:
- attack.collection
- attack.t1005
logsource:
category: file_access
product: windows
detection:
selection:
TargetFilename|contains: 'sql.db'
TargetFilename|contains: 'Signal'
filter:
Image|contains: 'Signal'
condition: selection and not filter
falsepositives:
- Indexing services
level: medium
KQL (Microsoft Sentinel / Defender)
This query hunts for processes accessing Signal directories, excluding the main executable.
DeviceFileEvents
| where Timestamp > ago(7d)
| where TargetFolderPath has @"AppData\\Roaming\\Signal" or TargetFolderPath has @"AppData\\Local\\Signal"
| where InitiatingProcessFileName !in ("Signal.exe", "signal-desktop.exe")
| project Timestamp, DeviceName, InitiatingProcessAccountName, InitiatingProcessFileName, TargetFileName, ActionType
| order by Timestamp desc
Velociraptor VQL
A VQL artifact to audit Signal configuration files for recent access times, indicating potential reading of the key material.
-- Hunt for Signal config files accessed recently
SELECT FullPath, Mtime, Atime, Size, Mode
FROM glob(globs="%%AppData%%/Roaming/Signal/*")
WHERE Atime > now() - TimeSpan(hours=24)
Remediation Script (PowerShell)
Use this script to audit the integrity of the Signal installation and identify potential unauthorized modifications to the configuration.
# Audit Signal Configuration Integrity
$signalPath = "$env:APPDATA\Signal"
$logFile = "$env:TEMP\Signal_Audit_$(Get-Date -Format 'yyyyMMdd').log"
function Write-Log {
param ([string]$message)
Add-Content -Path $logFile -Value "$(Get-Date -Format 'HH:mm:ss') - $message"
}
if (Test-Path $signalPath) {
Write-Log "[INFO] Signal directory found: $signalPath"
# Get all files in Signal directory
$files = Get-ChildItem -Path $signalPath -Recurse -Force -ErrorAction SilentlyContinue
foreach ($file in $files) {
# Check for suspicious access (LastAccessTime in last 24h)
if ($file.LastAccessTime -gt (Get-Date).AddHours(-24)) {
# Ignore if the Signal process is currently running (legitimate access)
$signalProcess = Get-Process -Name "Signal" -ErrorAction SilentlyContinue
if (-not $signalProcess) {
Write-Log "[WARN] File accessed recently but Signal not running: $($file.FullName) | Accessed: $($file.LastAccessTime)"
}
}
}
} else {
Write-Log "[INFO] Signal installation not found."
}
Write-Log "[INFO] Audit complete. Log saved to $logFile"
Remediation
- Immediate Identity Check: Open Signal Desktop or Mobile > Settings > Linked Devices. Immediately remove any device that is not recognized. This severs the attacker's ability to read new messages.
- Safety Number Rotation: If compromise is suspected, verify the "Safety Number" with your primary contacts. This ensures you are communicating with the legitimate party and not a cloned account.
- Recovery Key Regeneration: In Signal Settings > Privacy, turn "Signal Backup" off, then back on (if backups are required) to generate a new recovery key. Ensure the old key is destroyed securely.
- Physical Security: In the Hospitality sector, physical attacks are prevalent. Never leave a device unlocked in a hotel room or conference center. Use privacy screens and hardware security keys (FIDO2) for workstation locking (YubiKey).
- Disable Cloud Backups for High-Risk Travel: For executives traveling to high-threat zones, disable cloud backups of Signal entirely. This removes the vector where a stolen recovery key + cloud compromise = total history loss.
- Network Hygiene: Utilize a corporate always-on VPN when connecting to hotel Wi-Fi to prevent Man-in-the-Middle (MitM) attempts that facilitate the initial malware delivery.
Related Resources
Security Arsenal Healthcare Cybersecurity AlertMonitor Platform Book a SOC Assessment healthcare Intel Hub
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.