Nouveau Malware Conçu Pour Résister à l’Examen des Analystes
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Le rapport examine une campagne de malware sophistiquée à plusieurs étapes impliquant quatre charges utiles distinctes conçues pour résister à l’analyse et à la détection. Celles-ci incluent PavokwiLoader, un chargeur C++ fortement obfusqué, RMMCRAT, un agent de gestion à distance personnalisé, un chargeur basé sur Python utilisant un décryptage par force brute, et un beacon Cobalt Strike. Le malware utilise des techniques d’évasion avancées, notamment l’anti-débogage, les contrôles anti-VM, le contournement d’ETW et l’injection de processus.
Enquête
Deux équipes de recherche ont collaboré pour tracer une intrusion impliquant l’empoisonnement SEO, des outils RMM personnalisés et Cobalt Strike. L’enquête a nécessité un ingénierie inverse extensive des charges utiles pour découvrir des techniques d’obfuscation complexes, y compris l’arithmétique MBA, le hachage API personnalisé et les chiffrements ROR dépendants de la position. Les analystes ont également identifié des schémas d’infrastructure et une technique spécifique utilisée pour contourner le chiffrement lié aux applications de Chrome.
Atténuation
Les organisations devraient surveiller les relations inhabituelles entre processus et parent, en particulier les cas où explorer.exe lance des processus inattendus ou suspects. Les défenseurs devraient également surveiller les changements non autorisés dans le registre sous Windows NT CurrentVersionWindows clés et la création de tâches planifiées inattendues. Les contrôles de sécurité devraient être configurés pour identifier l’utilisation suspecte de l’interface RPC APPINFO associée aux tentatives de contournement de l’UAC.
Réponse
Lorsque des activités malveillantes sont détectées, les intervenants devraient isoler les points d’extrémité affectés et les inspecter pour le %APPDATA%fontcache_ms marqueur. Examiner la télémétrie réseau pour les connexions WebSocket vers des domaines inconnus et les empreintes digitales TLS inhabituelles telles que JARM 27d40d40d00040d1dc42d43d00041d6183ff1bfae51ebd88d70384363d525c. Analyser les événements de journalisation du bloc de scripts PowerShell (ID d’événement 4104) pour les commandes obfusquées exécutées via les tuyaux stdin.
Flux d’Attaque
Nous mettons toujours à jour cette partie.
Détections
Exécution Python depuis des dossiers suspects (via cmdline)
Possibilité d’Exécution par Lignes de Commandes PowerShell Cachées (via cmdline)
Exécution de Changements de Code Page Inhabituels (via cmdline)
Chaînes PowerShell Suspectes (via cmdline)
Nom de Fichier Court (via cmdline)
Changements Suspects des Préférences de Windows Defender (via powershell)
Commandes et Contrôles Suspects par Demande DNS de Domaine de Premier Niveau (TLD) Inhabituel (via dns)
IOC (HashSha256) pour détecter : Malware Novel Construit pour Survivre à l’Analyste
IOC (HashMd5) pour détecter : Malware Novel Construit pour Survivre à l’Analyste
IOC (SourceIP) pour détecter : Malware Novel Construit pour Survivre à l’Analyste
IOC (DestinationIP) pour détecter : Malware Novel Construit pour Survivre à l’Analyste
Persistance via Clés de Registre et Tâches Planifiées [Événement de Registre Windows]
Injection de Processus via ZwCreateUserProcess et ZwQueueApcThread [Création de Processus Windows]
Exécution de Simulation
-
Narration et Commandes d’Attaque : Un adversaire a obtenu un accès initial et cherche à établir une persistance pour survivre à un redémarrage. Pour échapper à la détection par les AV courants, il décide d’utiliser une technique de détournement de registre connue mais spécifique. L’attaquant tentera de modifier la
clé de registre UserInitMprLogonScriptpour pointer vers une charge utile malveillante. Cette action est destinée à déclencher laportion selection_registryde la règle de détection en générant un événement Sysmon ID 13. -
Script de Test de Régression :
# Simulation de Persistance via UserInitMprLogonScript $registryPath = "HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon" $name = "UserInitMprLogonScript" $value = "C:WindowsTempmalicious_payload.exe" Write-Host "[+] Tentative de définition de $name dans le registre..." try { New-ItemProperty -Path $registryPath -Name $name -Value $value -PropertyType String -Force -ErrorAction Stop Write-Host "[+] Modification du registre réussie. Vérifiez le SIEM pour l'ID d'événement Sysmon 13." } catch { Write-Host "[-] Échec de la modification du registre. Assurez-vous que le script s'exécute en tant qu'administrateur." -ForegroundColor Red } -
Commandes de Nettoyage :
# Nettoyer l'entrée de registre malveillante $registryPath = "HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon" $name = "UserInitMprLogonScript" if (Get-ItemProperty -Path $registryPath -Name $name -ErrorAction SilentlyContinue) { Remove-ItemProperty -Path $registryPath -Name $name -Force Write-Host "[+] Nettoyage réussi : Clé de registre supprimée." } else { Write-Host "[-] Clé de registre non trouvée. Rien à nettoyer." }