Porte dérobée HttpTroy
Un acteur lié à la Corée du Nord, identifié sous le pseudonyme de Kimsuky, a été observé en train de déployer une porte dérobée inédite, nommée « HttpTroy », contre une cible unique en Corée du Sud. La divulgation ne précise pas de chronologie, mais les chercheurs indiquent que l'intrusion a débuté par un hameçonnage sophistiqué imitant une facture VPN afin d'inciter la victime à ouvrir l'archive malveillante.
Table des matières
Livraison et exécution initiale
L'infection a débuté par une archive ZIP se faisant passer pour une facture de matériel VPN. Elle contenait un fichier SCR Windows qui, une fois exécuté, déclenchait une chaîne d'exécution automatisée en trois étapes. La première étape consiste en un petit programme d'installation (dropper) implémenté en Golang. Ce programme d'installation contient trois ressources intégrées, dont un PDF anodin présenté à l'utilisateur comme leurre, permettant ainsi à l'activité malveillante de s'exécuter inaperçue en arrière-plan.
La chaîne d'exécution
- Petit programme d'installation Golang (contient un PDF leurre intégré et d'autres charges utiles)
- Composant de chargement nommé MemLoad
- Porte dérobée finale de la DLL baptisée HttpTroy
Persistance et comportement du chargeur
Le chargeur, MemLoad, s'exécute simultanément avec le programme d'installation et gère la persistance et le déploiement de la charge utile. Il crée une tâche planifiée nommée « AhnlabUpdate » — une tentative manifeste d'imiter AhnLab pour minimiser les soupçons — et utilise cette tâche pour garantir le chargement continu de la porte dérobée. MemLoad est également responsable du déchiffrement et de l'injection de la porte dérobée (DLL) dans l'espace de processus hôte pour son exécution.
Capacités offertes par la porte dérobée
- Téléverser et télécharger des fichiers arbitraires depuis/vers l'hôte victime
- Capturez des captures d'écran du bureau
- Exécuter des commandes avec des privilèges élevés et créer des shells inversés
- Charger et exécuter des fichiers exécutables directement en mémoire (exécution sans fichier)
- Mettre fin aux processus et supprimer les traces d'activité
Commande et contrôle et comportement du réseau
HttpTroy communique avec son contrôleur via HTTP standard en envoyant des requêtes POST à un domaine C2 identifié comme load.auraria.org. L'utilisation de HTTP POST fait que le trafic réseau se confond avec le trafic web normal, sauf si un profilage spécifique est effectué.
Techniques d’anti-analyse et d’obfuscation
L'implant utilise plusieurs niveaux d'obfuscation pour contrer l'analyse statique et la détection de signatures. Au lieu d'intégrer directement les noms et chaînes de caractères des API, il masque les appels d'API via des routines de hachage personnalisées et dissimule les artefacts textuels grâce à des manipulations de type XOR et SIMD. Surtout, il ne réutilise pas les mêmes valeurs de hachage ni les mêmes encodages de chaînes : le malware reconstruit à la volée les hachages et chaînes d'API nécessaires en utilisant diverses opérations arithmétiques et logiques, ce qui complexifie la rétro-ingénierie et la création de signatures.
Attribution et contexte
Les indicateurs comportementaux et le ciblage associent cette activité à Kimsuky. L'attaque semble être une attaque de spear-phishing ciblée visant un destinataire sud-coréen. Les chercheurs n'ont pas communiqué la date et l'heure exactes de l'incident.
Conclusion
Pour détecter et atténuer les infections potentielles impliquant HttpTroy, les organisations doivent surveiller étroitement leurs systèmes afin de repérer toute tâche planifiée suspecte, en particulier celles se faisant passer pour des mises à jour légitimes de fournisseurs. Les défenses réseau doivent être configurées pour identifier et signaler les communications HTTP POST adressées à des domaines externes inconnus ou inhabituels, permettant ainsi une inspection plus approfondie des données transmises lorsque cela est possible.
Il est également conseillé aux équipes de sécurité de restreindre ou de bloquer l'exécution de fichiers SCR inattendus et de binaires Golang non reconnus sur tous les terminaux. De plus, le déploiement de solutions de protection des terminaux robustes, capables d'identifier l'exécution de code en mémoire et de détecter les injections de processus anormales, peut réduire considérablement le risque de compromission.