SynkLoader Combine Plusieurs Techniques de Discrétion et de Livraison
Detection stack
- AIDR
- Alert
- ETL
- Query
À l’intérieur de SynkLoader : Un réseau contenant des techniques d’évasion
Résumé
SynkLoader est une nouvelle famille de logiciels malveillants modulaires identifiés qui utilise une architecture multilingue pour compliquer la détection. Le logiciel malveillant s’appuie sur un chargeur basé sur Python pour déployer des modules résidents en mémoire pour le profilage du système, la persistance et le vol d’informations d’identification via un faux écran de verrouillage Windows. Il utilise également des techniques d’évasion avancées, notamment le chargement de DLL en mémoire et le chiffrement ChaCha20 personnalisé pour les communications C2.
Enquête
Les chercheurs ont découvert SynkLoader lors d’une enquête sur un incident et ont ensuite construit un émulateur C2 pour attirer les acteurs de la menace dans un environnement contrôlé. En fournissant de fausses informations système, ils ont observé le déploiement de plusieurs modules, notamment des composants de persistance et de phishing. Cette approche de la déception active a permis aux analystes de capturer une grande partie de l’arsenal de l’attaquant et de mieux comprendre ses protocoles de communication.
Atténuation
Les organisations devraient bloquer les installateurs MSI non autorisés distribués à partir de stockages cloud publics et surveiller les activités PowerShell suspectes impliquant des commandes encodées. Des contrôles stricts autour des téléchargements de fichiers Microsoft Teams et la surveillance des tâches planifiées non autorisées créées via des interfaces COM sont recommandés. Les solutions EDR devraient également détecter le chargement de DLL en mémoire et le comportement inhabituel des processus Python.
Réponse
Si une activité SynkLoader est détectée, l’hôte affecté devrait être isolé immédiatement pour limiter le mouvement latéral permis par le module TrafficRedirector. Les intervenants devraient effectuer une analyse de mémoire pour identifier les composants résidents et inspecter les tâches planifiées ou la manipulation des objets COM pour la persistance. Les journaux d’authentification devraient également être examinés pour détecter des connexions suspectes suite à un déploiement possible du module PhishLocker.
Flux d’attaque
Nous mettons encore à jour cette partie.
Détections
Chaînes PowerShell suspectes (via powershell)
Appel de méthodes .NET suspectes depuis PowerShell (via powershell)
Exécution Python à partir de dossiers suspects (via cmdline)
Énumération du système possible (via cmdline)
Énumération ou manipulation de comptes ou de groupes possible (via cmdline)
Indicateurs d’obfuscation PowerShell possibles (via powershell)
Tâche planifiée suspecte (via audit)
IOCs (HashSha256) à détecter : SynkLoader : quand vous jetez tout sauf le lave-vaisselle
Détection de l’exécution de SynkLoader à l’aide du chargeur Python [Création de processus Windows]
Détection de l’exécution PowerShell en mémoire à l’aide de valeurs hexadécimales encodées [Powershell Windows]
Détection du faux écran de verrouillage PhishLocker et de la persistance des tâches planifiées [Journal des événements de sécurité de Microsoft Windows]
Exécution de simulations
Prérequis : La vérification pré-vol de la télémétrie et du référentiel doit avoir réussi.
Raisonnement : Cette section détaille l’exécution précise de la technique adversaire (TTP) conçue pour déclencher la règle de détection. Les commandes et le récit DOIVENT refléter directement les TTPs identifiés et viser à générer exactement la télémétrie attendue par la logique de détection. Des exemples abstraits ou non liés conduiront à des erreurs de diagnostic.
-
Narration et commandes de l’attaque : Un adversaire a obtenu un accès initial et envisage d’exécuter une charge utile de deuxième étape entièrement en mémoire pour éviter de laisser une empreinte sur le disque. Pour échapper à l’antivirus simple basé sur les fichiers, ils utilisent PowerShell
Invoke-Expression(aliasé commeiex) pour exécuter une chaîne encodée en hexadécimal. Ils tentent également d’utiliser la méthode[System.Management.Automation.ScriptBlock]::Create, une technique plus avancée souvent utilisée par les chargeurs sophistiqués pour exécuter des blocs de code directement depuis la mémoire. Ces actions sont conçues pour déclencher les modèles de ligne de commande spécifiques surveillés par la règle de sécurité. -
Script de test de régression :
# Script de simulation : Déclenchement de la détection d'exécution en mémoire Write-Host "[*] Début de la simulation de validation de la détection..." -ForegroundColor Cyan # 1. Déclenchement via le modèle 'iex' (Invoke-Expression) Write-Host "[*] Exécution de la charge utile via le modèle 'iex'..." -ForegroundColor Yellow $hexPayload = "Write-Host 'ALERTE : exécution en mémoire via IEX détectée!'" $hexEncoded = [System.BitConverter]::ToString([System.Text.Encoding]::UTF8.GetBytes($hexPayload)).Replace("-", " ") # Simulation de l'exécution de la ligne de commande qui apparaîtrait dans les journaux powershell.exe -Command "iex ([System.Text.Encoding]::UTF8.GetString([System.Convert]::FromHexString('$($hexEncoded.Replace(' ', ''))')))" Start-Sleep -Seconds 2 # 2. Déclenchement via le modèle 'ScriptBlock::Create' Write-Host "[*] Exécution de la charge utile via le modèle 'ScriptBlock::Create'..." -ForegroundColor Yellow $cmd = "Write-Host 'ALERTE : exécution en mémoire via ScriptBlock détectée!'" powershell.exe -Command "& ([System.Management.Automation.ScriptBlock]::Create('$cmd'))" Write-Host "[*] Simulation terminée." -ForegroundColor Green -
Commandes de nettoyage :
# Aucun artefact persistant n'est créé par cette simulation car elle est purement en mémoire. # Cependant, nous effaçons la console pour signifier l'achèvement. Clear-Host Write-Host "[*] Nettoyage terminé. Aucun fichier n'a été écrit sur le disque." -ForegroundColor Cyan