SOC Prime Bias: Moyen

27 Avr 2026 18:17

Faux Document, Véritable Accès : L’Usurpation de Foxit Permet un Contrôle VNC Discret

Author Photo
Ruslan Mikhalov Chef de la Recherche sur les Menaces chez SOC Prime linkedin icon Suivre
Faux Document, Véritable Accès : L’Usurpation de Foxit Permet un Contrôle VNC Discret
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

Les acteurs de la menace distribuent des exécutables malveillants qui semblent être des installateurs légitimes de Foxit PDF. Le faux installateur récupère un paquet MSI nuisible qui place des composants UltraVNC dans un répertoire thématique GPU factice et maintient la persistance via une clé de registre Run. Une fois installé, le malware configure un serveur VNC caché qui initie des connexions sortantes vers un domaine malveillant, fournissant aux attaquants un accès à distance furtif au système compromis.

Enquête

L’enquête a découvert des fichiers faux tels que datei.exe and personalfoxypdf.msi, qui ont téléchargé et installé UltraVNC dans C:intel-GPU. Un script de commandes a ensuite énuméré les GUID de profil réseau, créé des exceptions de pare-feu, écrit un identifiant unique dans IDD.txt, et ajouté une entrée de registre Run pour lancer gpu.exe avec des paramètres qui se connectaient à hallonews.servemp3.com:5500. Les chercheurs ont également observé le malware forçant la terminaison de rundll32.exe et affichant une image de passeport factice pour distraire la victime.

Atténuation

Les organisations devraient appliquer une liste blanche d’applications, valider les signatures de code des installateurs avant l’exécution, bloquer les fichiers MSI non fiables et surveiller les entrées de registre Run pointant vers des exécutables inconnus. Le trafic sortant vers des domaines suspects devrait également être restreint. La sensibilisation des utilisateurs reste essentielle, notamment à propos des risques de lancement d’installateurs inattendus déguisés en logiciels de confiance.

Réponse

Si cette activité est détectée, isolez immédiatement l’endpoint affecté, terminez le processus UltraVNC, supprimez le C:intel-GPU répertoire et supprimez l’entrée de registre Run malveillante. Réinitialisez tous les identifiants potentiellement exposés, effectuez une enquête médico-légale complète, et mettez à jour les règles de détection pour couvrir les indicateurs de compromission identifiés.

Flux d’attaque

Exécution de simulation

Prérequis : Le contrôle préréglage de télémétrie & baseline doit avoir été réussi.

Narratif de l’attaque & Commandes

  1. Créez le répertoire caché “intel-GPU” pour imiter un chemin de fournisseur de GPU légitime.
  2. Déposez des payloads malveillants (gpu.exe, , etc.) dans ce répertoire. L'exécutable est une copie du binaire du serveur UltraVNC renommé pour le camouflage., etc.) into that directory. The executable is a copy of the UltraVNC server binary renamed for camouflage.
  3. Déployez un script de commandes (gpu.cmd) qui :
    • Ajoute une règle de pare-feu autorisant le VNC entrant (port 5900).
    • Enregistre le service VNC pour la persistance via sc create.
    • Écrit une configuration minimale pour , etc.) dans ce répertoire. L'exécutable est une copie du binaire du serveur UltraVNC renommé pour le camouflage..
  4. Exécutez le script de commandes en utilisant cmd.exe (Exécution de proxy binaire signé).

Ces étapes génèrent exactement les événements de création de fichiers répertoriés dans la règle de détection, plus des événements de création de processus auxiliaires et de règles de pare-feu qui peuvent être utilisés pour l’enrichissement.

Script de test de régression

# -------------------------------------------------
#  Simulation de contrôle VNC furtif – PowerShell
# -------------------------------------------------
# 1. Préparer le répertoire caché
$targetDir = "$env:ProgramDataintel-GPU"
if (-Not (Test-Path $targetDir)) {
    New-Item -Path $targetDir -ItemType Directory -Force | Out-Null
    # Masquer le dossier (optionnel)
    attrib +h $targetDir
}

# 2. Déposer des fichiers GPU factices (ce sont des espaces réservés bénins pour la démo)
$files = @("gpu.txt","gpu.exe","gpu.cmd","UltraVNC.ini","IDD.txt")
foreach ($f in $files) {
    $path = Join-Path $targetDir $f
    Set-Content -Path $path -Value "Placeholder for $f" -Encoding ASCII -Force
}

# 3. Écrire un UltraVNC.ini minimal (la vraie config serait plus étendue)
@"
[VNC]
Password=redteam
"@ | Set-Content -Path (Join-Path $targetDir "UltraVNC.ini") -Encoding ASCII -Force

# 4. Créer un script de commandes qui ajoute une règle de pare-feu et enregistre le service
$batchPath = Join-Path $targetDir "gpu.cmd"
@"
@echo off
rem Add firewall rule for VNC (port 5900)
netsh advfirewall firewall add rule name=`"UltraVNC`" dir=in action=allow protocol=TCP localport=5900
rem Register UltraVNC service (using the renamed exe)
sc create UltraVNC binPath= `""$targetDirgpu.exe`"" start= auto
"@ | Set-Content -Path $batchPath -Encoding ASCII -Force

# 5. Exécuter le script de commandes via cmd.exe (proxy binaire signé)
Start-Process -FilePath "cmd.exe" -ArgumentList "/c `"$batchPath`"" -WindowStyle Hidden -Wait

Write-Host "Simulation VNC furtif terminée."

Commandes de nettoyage

# -------------------------------------------------
#  Nettoyage des artefacts VNC furtifs
# -------------------------------------------------
$targetDir = "$env:ProgramDataintel-GPU"

# Remove firewall rule
netsh advfirewall firewall delete rule name="UltraVNC" > $null 2>&1

# Delete the service
sc stop UltraVNC > $null 2>&1
sc delete UltraVNC > $null 2>&1

# Remove the directory and all files
if (Test-Path $targetDir) {
    Remove-Item -Path $targetDir -Recurse -Force
}

Write-Host "Nettoyage terminé."