Wallet ESE Database Artifact Staged By An Unexpected Process - CVE-2026-49176 - BROAD
SIGMA detection rule by Adama ASSIONGBON (SOC & CTI Consultant), https://linkedin.com/in/adama-assiongbon-9029893a · Unknown
Detects creation of Wallet ESE database artifacts by a process other than WalletService itself, consistent with staging for CVE-2026-49176 exploitation. SOC L1 should verify the source, affected host, user, process or request fields, timing, and related activity.
Détecte la création d'artefacts de base de données ESE du Wallet (wallet.db et fichiers associés) par un processus autre que WalletService lui-même, cohérent avec la phase de préparation (staging) d'une exploitation de CVE-2026-49176. Cette règle BROAD sert de signal de hunting et d'alerte précoce, avant que l'escalade de privilèges ne soit confirmée par la règle STRICT. La sélection initiale ne couvrait que le fichier "wallet.db" ; elle a été élargie aux fichiers auxiliaires ESE (wallet.jfm, wallet.chk, edb*.log) car un attaquant peut créer la base sous un nom de fichier temporaire avant de la renommer, ce qui ne génère pas toujours un nouvel événement de création sur le nom final "wallet.db". Rejouée contre le PoC public 777erp/CVE-2026-49176_BOF (BOF Cobalt Strike) : la base ESE piégée y est créée par le processus Beacon lui-même sous un chemin de staging arbitraire se terminant par "\Wallet\wallet.db", ce que selection_wallet_artifact détecte sans modification puisque le processus créateur n'est ni svchost.exe ni un outil de sauvegarde/synchronisation connu. Un second challenge offensif a révélé AM7 : les filtres ne matchaient que sur le nom de fichier (filter_main_walletservice_legitimate, filter_main_backup_or_sync_tools), sans jamais vérifier le chemin complet. Un utilisateur standard peut renommer son propre binaire de staging en "svchost.exe" ou "robocopy.exe" depuis n'importe quel répertoire inscriptible pour déclencher ces filtres et rendre la règle silencieuse sur sa propre création de wallet.db. Les filtres ont été ancrés à leur chemin d'installation légitime (C:\Windows\System32 pour svchost.exe/robocopy.exe/les composants de recherche Windows, "\Microsoft OneDrive\" pour OneDrive), et filter_main_backup_or_sync_tools a été scindé en trois filtres nommés pour que chaque ancrage de chemin corresponde au bon outil. Le SOC L1 doit vérifier la source, l’hôte affecté, l’utilisateur, les champs de processus ou de requête, la chronologie et les activités associées.
title: Wallet ESE Database Artifact Staged By An Unexpected Process - CVE-2026-49176 - BROAD
id: 04dbc913-0d24-4ddd-bbef-18b39b2f238f
status: experimental
description: |
Detects creation of Wallet ESE database artifacts by a process other than WalletService itself, consistent with staging for CVE-2026-49176 exploitation. SOC L1 should verify the source, affected host, user, process or request fields, timing, and related activity.
Détecte la création d'artefacts de base de données ESE du Wallet (wallet.db et fichiers associés) par un processus autre que WalletService lui-même, cohérent avec la phase de préparation (staging) d'une exploitation de CVE-2026-49176. Cette règle BROAD sert de signal de hunting et d'alerte précoce, avant que l'escalade de privilèges ne soit confirmée par la règle STRICT. La sélection initiale ne couvrait que le fichier "wallet.db" ; elle a été élargie aux fichiers auxiliaires ESE (wallet.jfm, wallet.chk, edb*.log) car un attaquant peut créer la base sous un nom de fichier temporaire avant de la renommer, ce qui ne génère pas toujours un nouvel événement de création sur le nom final "wallet.db". Rejouée contre le PoC public 777erp/CVE-2026-49176_BOF (BOF Cobalt Strike) : la base ESE piégée y est créée par le processus Beacon lui-même sous un chemin de staging arbitraire se terminant par "\Wallet\wallet.db", ce que selection_wallet_artifact détecte sans modification puisque le processus créateur n'est ni svchost.exe ni un outil de sauvegarde/synchronisation connu. Un second challenge offensif a révélé AM7 : les filtres ne matchaient que sur le nom de fichier (filter_main_walletservice_legitimate, filter_main_backup_or_sync_tools), sans jamais vérifier le chemin complet. Un utilisateur standard peut renommer son propre binaire de staging en "svchost.exe" ou "robocopy.exe" depuis n'importe quel répertoire inscriptible pour déclencher ces filtres et rendre la règle silencieuse sur sa propre création de wallet.db. Les filtres ont été ancrés à leur chemin d'installation légitime (C:\Windows\System32 pour svchost.exe/robocopy.exe/les composants de recherche Windows, "\Microsoft OneDrive\" pour OneDrive), et filter_main_backup_or_sync_tools a été scindé en trois filtres nommés pour que chaque ancrage de chemin corresponde au bon outil. Le SOC L1 doit vérifier la source, l’hôte affecté, l’utilisateur, les champs de processus ou de requête, la chronologie et les activités associées.
references:
- https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-49176
- https://nvd.nist.gov/vuln/detail/CVE-2026-49176
- https://github.com/DavidCarliez/CVE-2026-49176_LPE_POC
- https://github.com/777erp/CVE-2026-49176_BOF
- https://securityonline.info/cve-2026-49176-walletservice-eop/
author: Adama ASSIONGBON (SOC & CTI Consultant), https://linkedin.com/in/adama-assiongbon-9029893a
date: 2026-08-03
modified: 2026-08-04
related:
- id: 93d9f8b6-9a83-4f3f-9e20-94188916c371
type: derived
tags:
- attack.privilege-escalation
- attack.t1068
- cve.2026-49176
logsource:
product: windows
category: file_event
detection:
# WalletService is the only process expected to create these files, under the real
# (non-redirected) per-user Documents\Wallet path.
selection_wallet_artifact:
TargetFilename|endswith:
- '\Wallet\wallet.db'
- '\Wallet\wallet.jfm'
- '\Wallet\wallet.chk'
- '\Wallet\edb.log'
- '\Wallet\edbtmp.log'
# Path-anchored (not just filename) so an attacker cannot bypass this filter by naming
# their own staging binary "svchost.exe" from an arbitrary user-writable directory (AM7).
filter_main_walletservice_legitimate:
Image: 'C:\Windows\System32\svchost.exe'
filter_main_onedrive_sync:
Image|endswith: '\OneDrive.exe'
Image|contains: '\Microsoft OneDrive\'
filter_main_robocopy:
Image:
- 'C:\Windows\System32\robocopy.exe'
- 'C:\Windows\SysWOW64\robocopy.exe'
filter_main_search_indexing:
Image:
- 'C:\Windows\System32\SearchProtocolHost.exe'
- 'C:\Windows\System32\SearchIndexer.exe'
condition: selection_wallet_artifact and not 1 of filter_main_*
fields:
- UtcTime
- EventID
- Computer
- User
- Image
- TargetFilename
- CreationUtcTime
- ProcessId
falsepositives:
- Backup, restore or folder-sync tooling copying a user profile that includes a pre-existing Wallet folder (tune filter_main_backup_or_sync_tools)
- A user manually copying their own legitimate Wallet folder between machines during a profile migration
- Antivirus or indexing engines touching file creation metadata while scanning (rare, tune by Image path)
level: medium