La campagne ClickFix utilise des leurres Amazon pour déployer des logiciels malveillants
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Des acteurs malveillants abusent des résultats sponsorisés de la recherche Google pour « amazon business » afin de rediriger les utilisateurs vers une page de connexion Amazon usurpée. Le site utilise une technique d’ingénierie sociale ClickFix pour tromper les victimes en exécutant une commande via la boîte de dialogue Exécuter de Windows. Cette commande exploite le programme hérité finger pour télécharger et lancer une chaîne de logiciels malveillants en plusieurs étapes impliquant Doina, Lumma Stealer et NetSupport RMM.
Investigation
Huntress a enquêté sur plusieurs incidents liés à une campagne ClickFix sur le thème d’Amazon. Les analystes ont rétro-conçu la chaîne d’infection et identifié le finger utilitaire abusé en tant que LOLBIN pour récupérer un fichier .plan . L’enquête a retracé le déploiement d’IronPython, du RAT Doina, et finalement de Lumma Stealer via un chargeur basé sur Node.js.
Atténuation
La principale défense est la sensibilisation des utilisateurs aux faux CAPTCHAs qui instruisent les utilisateurs à exécuter des commandes terminales. Les organisations devraient envisager de désactiver la boîte de dialogue Exécuter de Windows pour les utilisateurs qui n’en ont pas besoin à travers des contrôles de sécurité des points de terminaison gérés. La surveillance du trafic inhabituel sur le port TCP 79 utilisé par finger et des indicateurs de malvertising dans les journaux Web peuvent également aider à une détection précoce.
Réponse
Lorsque cette activité est détectée, isolez les points de terminaison affectés pour empêcher toute exfiltration de données ou mouvement latéral supplémentaire. Passez en revue et bloquez les domaines C2 à thème barbecue identifiés et les adresses IP malveillantes. Effectuez une chasse approfondie pour les logiciels RMM non autorisés tels que NetSupport et les processus Node.js suspects s’exécutant depuis des emplacements non standards, y compris C:ProgramData.
Flux d’attaque
Nous sommes encore en train de mettre à jour cette partie.
Détections
Appel de méthodes .NET suspectes depuis Powershell (via powershell)
Exécution de binaire NodeJS depuis un emplacement inhabituel (via cmdline)
LOLBAS Finger (via cmdline)
LOLBAS Conhost (via cmdline)
Usage suspect de CURL (via cmdline)
IOCs (HashSha256) pour détecter : La campagne ClickFix à thème Amazon sert un malware irrésistible
IOCs (SourceIP) pour détecter : La campagne ClickFix à thème Amazon sert un malware irrésistible
IOCs (DestinationIP) pour détecter : La campagne ClickFix à thème Amazon sert un malware irrésistible
Détection du Port 79/tcp et Port non standard pour les communications du client NetSupport [Connexion réseau Windows]
Exécution de l’utilitaire Finger et IronPython pour exécution de script malveillant [Création de processus Windows]
Exécution de simulation
-
Narratif d’attaque & Commandes : Un adversaire a obtenu un accès initial et tente d’établir une persistance ainsi qu’un commandement et contrôle (C2). Pour se fondre dans le trafic administratif courant et exploiter les vulnérabilités de protocole connues, ils utilisent un script Python pour initier une connexion sur le Port 79 (protocole Finger). Simultanément, ils tentent d’utiliser une instance de NetSupport Client pour transférer des outils, ciblant spécifiquement une IP malveillante connue (172.148.201.106) sur le port 725 pour maintenir une porte dérobée.
-
Script de test de régression :
# Script de simulation pour déclencher une règle de détection # Exigence : Python doit être installé sur la cible Write-Host "[+] Démarrage de la simulation..." # 1. Déclencheur Sélection Un : Connexion au Port 79 Write-Host "[+] Déclencheur de connexion au Port 79 (Finger)..." python -c "import socket; s = socket.socket(socket.AF_INET, socket.SOCK_STREAM); s.connect(('127.0.0.1', 79)); s.close()" # 2. Déclencheur Sélection Deux : Connexion à 172.148.201.106 sur le Port 725 Write-Host "[+] Déclencheur de connexion NetSupport (IP : 172.148.201.106, Port : 725)..." python -c "import socket; s = socket.socket(socket.AF_INET, socket.SOCK_STREAM); s.connect(('172.148.201.106', 725)); s.close()" Write-Host "[+] Simulation terminée." -
Commandes de nettoyage :
# Aucun artefact persistant créé par ce script; # cependant, assurez-vous que tous les processus python temporaires sont arrêtés. Stop-Process -Name "python" -ErrorAction SilentlyContinue