Les cybercriminels ciblent les développeurs avec de faux entretiens d’embauche dans le but de les inciter à installer une porte dérobée Python. Exploitant leur confiance dans le processus de candidature

Une nouvelle campagne, appelée Dev Popper, cible les développeurs de logiciels avec de faux entretiens d’embauche dans le but de les inciter à installer un cheval de Troie Python (RAT) à distance. Les développeurs sont invités à effectuer des tâches soi-disant liées à la maintenance, telles que le téléchargement et l’exécution de code depuis GitHub, dans le but de légitimer l’ensemble du processus. Cependant, l’objectif des acteurs malveillants est d’amener leurs cibles à télécharger des logiciels malveillants qui collectent des informations système et permettent un accès à distance à l’hôte. Selon les analystes de Securonix, la campagne est probablement orchestrée par des cybercriminels nord-coréens, même si les liens ne sont pas suffisamment solides pour en permettre l’attribution.

L’ingénierie sociale est une tactique avancée utilisée par les cybercriminels pour manipuler des individus afin qu’ils divulguent des informations confidentielles ou prennent des mesures qu’ils ne feraient normalement pas. L’objectif de l’attaquant est d’amener l’utilisateur à se compromettre sans le savoir ou à compromettre son lieu de travail. Contrairement aux méthodes de piratage traditionnelles qui reposent sur l’exploitation, l’ingénierie sociale cible les vulnérabilités humaines en exploitant la manipulation psychologique. Cette méthode joue sur des traits humains fondamentaux comme la confiance, la peur ou le désir d’être simplement utile.

Dans le cas de la campagne d’attaque Dev Popper observée par Securonix, une autre forme d’ingénierie sociale a été observée ; il s’agit de cibler des groupes professionnels spécifiques tels que les développeurs de logiciels. Cette technique, bien que peu répandue pour le moment, est toujours d’actualité et Securonix souligne qu’elle a été signalée à plusieurs reprises dans le passé par des cybercriminels nord-coréens.

En bref, les attaquants organisent de faux entretiens d’embauche pour les développeurs en se faisant passer pour des recruteurs légitimes. Au cours de ces entretiens frauduleux, les développeurs sont souvent invités à effectuer des tâches impliquant le téléchargement et l’exécution de logiciels à partir de sources apparemment légitimes, telles que GitHub. Le logiciel contenait une charge utile Node JS malveillante qui, une fois exécutée, compromettait le système du développeur.

Cette méthode est efficace car elle tire parti de l’engagement professionnel du développeur et de sa confiance dans le processus de candidature, où le refus d’exécuter les actions de l’intervieweur pourrait compromettre l’opportunité d’emploi. Les attaquants adaptent leur approche pour paraître aussi crédible que possible, souvent en imitant de vraies entreprises et en reproduisant des processus d’entretien réels. Cette apparence de professionnalisme et de légitimité donne à la cible un faux sentiment de sécurité, facilitant le déploiement de logiciels malveillants sans éveiller les soupçons.

Chaîne d’infection en plusieurs étapes

Les attaquants prennent contact en se faisant passer pour des employeurs cherchant à pourvoir des postes de développeurs de logiciels. Au cours de l’entretien, les candidats sont invités à télécharger et à effectuer ce qui est présenté comme une tâche de codage standard à partir d’un référentiel GitHub. Le fichier est une archive ZIP contenant un package NPM, qui comprend un fichier README.md ainsi que des répertoires frontend et backend.

Dans le répertoire Backend se trouve un seul fichier JavaScript qui, à première vue, semble être un simple extrait de code utilisant Mongoose, un package Node.js qui permet de modéliser des objets MongoDB dans un environnement asynchrone.

Cependant, un examen plus attentif révèle une énorme ligne de code très obscurcie lors du défilement vers la droite. Un exemple de la taille de cette ligne peut être vu en regardant la barre de défilement dans la figure ci-dessus.

Supprimer le JavaScript de imageDetails.js et le placer dans son propre fichier facilite un peu son analyse. Le code est obscurci à l’aide de plusieurs couches d’obscurcissement, y compris des substitutions en base64 et des variables.

Une fois que le développeur exécute le package NPM, un fichier JavaScript obscurci (imageDetails.js) caché dans le répertoire backend est activé, exécutant des commandes curl via le processus Node.js pour télécharger une archive supplémentaire (p.zi) à partir d’un serveur externe.

Le fichier .npl est techniquement un fichier Python, sans extension, et utilise un point de départ. pour indiquer au système d’exploitation qu’il s’agit d’un fichier caché. Selon les paramètres du système d’exploitation, ce fichier peut ou non être masqué à la vue de l’utilisateur.

Le fichier contient une grande charge utile base64 et utilise une combinaison de manipulation de chaînes et de décodage pour exécuter le code Python caché à l’intérieur. Le codage Base64 et la logique XOR sont utilisés pour le contenu de la chaîne mise en cache. Ceci est ensuite exécuté sous forme de code Python en utilisant exec().

L’archive contient donc la charge utile pour l’étape suivante, un script Python (npl) obscurci qui fonctionne comme un RAT.

611d4d9bd7.jpg

Exécuter du code Python

Securonix explique que la première chaîne de code décodé s’exécute et collecte des informations sur le système et le réseau d’un ordinateur infecté, puis envoie ces données à un serveur distant :

  • Type de système d’exploitation
  • le nom d’hôte
  • Version du système d’exploitation
  • Nom d’utilisateur de l’utilisateur connecté
  • Un identifiant unique pour l’appareil (uuid) généré en hachant l’adresse MAC et le nom d’utilisateur.

La deuxième chaîne décodée et exécutée est beaucoup plus longue que la première et contient bien plus de fonctionnalités. Une fois exécuté, le script fonctionne de la même manière qu’un RAT (Remote Access Trojan), permettant à l’attaquant d’interagir à distance avec la machine de la victime. Après avoir analysé la partie décodée du script, Securonix a observé les capacités suivantes :

  • Création de réseaux et de sessions : Utilisé pour les connexions persistantes : Cette fonctionnalité permet d’établir des connexions TCP persistantes, notamment en structurant et en envoyant des données au format JSON.
  • Interaction avec le système de fichiers : Contient des fonctions pour parcourir les répertoires et filtrer les fichiers en fonction d’extensions spécifiques et exclure des répertoires. Il peut également localiser et éventuellement exfiltrer les fichiers qui ne correspondent pas à certains critères (tels que la taille et l’extension du fichier).
  • Exécution de commandes à distance : Le script contient plusieurs fonctions qui permettent l’exécution de commandes et de scripts du shell système. Celles-ci incluent la navigation dans le système de fichiers et l’exécution de commandes shell.
  • Traitement et transmission des données : Fonctionnalité de codage des données sur une connexion TCP établie. Il gère la réception des données, le décodage des différents codages de caractères et la gestion des erreurs et timeouts de transmission.
  • Exfiltration et téléchargement : Pour l’exfiltration, le script Python est capable d’envoyer des fichiers vers un serveur FTP distant avec la possibilité de filtrer les fichiers en fonction de leur extension. D’autres fonctionnalités permettent d’automatiser ce processus en collectant des données à partir de divers répertoires d’utilisateurs tels que les documents et les téléchargements.
  • Sauvegarde du presse-papiers et des frappes : Le script inclut des fonctionnalités permettant de surveiller et d’exfiltrer le contenu du presse-papiers et les frappes au clavier.

Recommandations Sécuronix

Lorsqu’il s’agit d’attaques d’ingénierie sociale, il est essentiel de maintenir un état d’esprit axé sur la sécurité, en particulier dans des situations intenses et stressantes comme les entretiens d’embauche. Les attaquants à l’origine des campagnes DEV#POPPER en abusent, sachant que la personne à l’autre bout du fil est très distraite et bien plus vulnérable. En matière de prévention et de détection, l’équipe Securonix Threat Research recommande ce qui suit :

  • Faites prendre conscience aux gens qu’ils sont la cible d’attaques d’ingénierie sociale, tout comme la technologie est exploitée. Il est essentiel de rester très vigilant et d’assurer une sécurité continue, même dans des situations de stress élevé, pour prévenir le problème.
  • En cas d’exécution de code, les répertoires de stockage de logiciels malveillants doivent être surveillés, en particulier les activités liées aux scripts dans les répertoires globalement inscriptibles. Dans le cas de cette campagne, les acteurs malveillants se sont installés dans des sous-répertoires trouvés dans le répertoire %APPDATA% de l’utilisateur.
  • Surveillez l’utilisation de langages de script autres que ceux par défaut, tels que Python, sur les terminaux et les serveurs qui ne les exécuteraient normalement pas. Cela peut être réalisé en exploitant des journaux supplémentaires au niveau des processus, tels que Sysmon et PowerShell, pour élargir la couverture de détection des journaux.

Conclusion

Bien que les auteurs de l’attaque Dev Popper ne soient pas connus, la tactique consistant à utiliser des appâts pour infecter les gens avec des logiciels malveillants est toujours très répandue, nous devons donc rester vigilants quant aux risques.

Les chercheurs notent que la méthode exploite l’engagement professionnel du développeur et sa confiance dans le processus de candidature à un emploi, où le refus d’exécuter les actions de l’intervieweur pourrait compromettre l’opportunité d’emploi, la rendant très efficace. Les pirates informatiques nord-coréens ont utilisé la tactique de fausses offres d’emploi dans de nombreuses opérations au fil des ans pour compromettre leurs cibles sur diverses plateformes.

Source : Sécuronix

Et toi ?

Que pensez-vous de l’utilisation des offres d’emploi comme appât pour propager des logiciels malveillants ? Pensez-vous que cette tactique est efficace et pourquoi ?

Comment les développeurs peuvent-ils se protéger contre de telles attaques ? Avez-vous des conseils précis pour vérifier l’authenticité des offres d’emploi et des entretiens ?

Selon vous, quelles mesures les entreprises devraient-elles prendre pour accroître la sécurité des candidats pendant le processus de recrutement ?

Quelles autres méthodes d’ingénierie sociale avez-vous rencontrées dans le domaine de la cybersécurité ? Partagez vos expériences ou vos connaissances.

Pensez-vous qu’il est important d’attribuer les attaques à des acteurs malveillants spécifiques ? Pourquoi ou pourquoi pas ?

 
For Latest Updates Follow us on Google News
 

PREV La Zambie autorise Tertiary Minerals à explorer le cuivre de Mupala
NEXT Al Karama Holding envisage de vendre 66 % de sa participation dans le courtier d’assurance Upcar