Un développeur blockchain partage son calvaire pendant les vacances lorsqu’il a été approché sur LinkedIn par un « recruteur » pour un travail de développement Web.

Le recruteur en question a demandé au développeur de télécharger des packages npm à partir d’un référentiel GitHub, et quelques heures plus tard, le développeur a découvert que son portefeuille MetaMask avait été vidé.

Un exercice de travail à emporter vide le portefeuille crypto de dev
Murat Çeliktepe, basé à Antalya, un développeur blockchain et Web, a expliqué cette semaine comment il avait été approché par un « recruteur » sur LinkedIn avec une offre d’emploi Upwork qui semblait légitime.

Dans le cadre de l’entretien d’embauche, le recruteur a demandé à Çeliktepe de télécharger et de déboguer le code dans deux packages npm— »web3_nextjs » et « web3_nextjs_backend » hébergés sur un référentiel GitHub. Cependant, quelques instants plus tard, le développeur a découvert que son portefeuille MetaMask avait été vidé—avec plus de 500 $siphonnés de son compte, sur la base des informations vues par Breachtrace.

Message du recruteur au développeur sur LinkedIn

L’offre d’emploi Upwork demande au candidat de « corriger les bugs et la réactivité [sic] sur le site Web » et prétend payer entre 15 et 20 dollars de l’heure pour une tâche qui devrait prendre moins d’un mois.

Offre d’emploi, telle qu’elle apparaissait à l’époque sur Upwork

Çeliktepe, dont la photo de profil LinkedIn porte la balise » #OpenToWork », a décidé d’essayer ce défi et a téléchargé les référentiels GitHub partagés par le recruteur, dans le cadre de « l’entretien technique ». »

Il n’est pas inhabituel que des entretiens techniques légitimes impliquent une sorte d’exercice à emporter ou d’affectation de preuve de concept (PoC) impliquant l’écriture de code ou le débogage, ce qui rend l’attrait très convaincant même pour les personnes techniquement averties, comme les développeurs.

L’un des projets npm sur GitHub que le développeur a été invité à télécharger

Notez que les applications présentes dans lesdits dépôts GitHub [1, 2] sont des projets npm valides, compte tenu de leur format et du package inclus.manifeste json, mais ceux-ci ne semblent pas avoir jamais été publiés sur npmjs.com, le plus grand registre open source de projets JavaScript.

« Mon portefeuille MetaMask était complètement vidé… sous prétexte du processus d’entretien et de l’attribution du poste, tout mon portefeuille a été complètement vidé d’une manière dont je ne comprends pas encore exactement comment », a écrit Çeliktepe en turc sur les réseaux sociaux.

« Je vais partager les codes ci-dessous, je serais très heureux si quelqu’un pouvait m’aider à comprendre comment. »

Conformément aux instructions d’affectation, le développeur a cloné les deux référentiels GitHub et a commencé à déboguer son instance pour trouver le problème tout en exécutant les applications frontales et backend localement sur sa machine.

À la suite de la tâche, il a assisté à une session Google Meet avec l’homme qui l’avait approché sur LinkedIn et lui a expliqué la solution—et c’était tout, du moins c’est ce que pensait le développeur. Sauf que, quelques heures plus tard, le développeur a remarqué que son solde Ethereum avait été vidé.

Parmi les transactions récentes partagées par le développeur et vues par Breachtrace, il y en a une sortante pour 0,225 ETH—environ 538 USD envoyés à une autre adresse cryptographique la semaine dernière.

L’adresse Ethereum du développeur affiche les transactions sortantes

Plus de développeurs ciblés dans la même arnaque
Malgré l’examen du code présent dans les deux référentiels, le développeur n’est toujours pas sûr des mécanismes exacts de cette attaque qui l’a conduit à perdre de l’argent et demande l’aide de la communauté pour comprendre la même chose.

Son appel a été rapidement suivi par ce qui semblait être des robots cryptographiques opportunistes et des comptes frauduleux, l’incitant à entrer en contact avec de fausses adresses Gmail et Google forms « MetaMask support ».

Certains membres de la communauté légitimement concernés se sont toutefois levés pour offrir leurs idées.

Un chasseur de primes de bogues basé à Istanbul a émis l’hypothèse que les projets npm exécutés par le développeur ont effectivement ouvert les moyens à l’attaquant de déployer un shell inversé, en ouvrant le port 5000 sur sa machine qui a commencé à « écouter » les connexions.

Breachtrace a confirmé la présence du code décrit dans l’application principale [1, 2] « web3_nextjs_backend », mais nous n’avons pas été en mesure de confirmer de manière indépendante si les attaquants ont effectivement accédé à la machine du développeur via ce vecteur d’attaque.

De plus, Çeliktepe dit qu’il n’a jamais gardé le secret « 12 mots » ou ce qui est officiellement connu sous le nom de Phrase de récupération secrète de MetaMask (SRP) sur son ordinateur et ne comprend donc pas comment son portefeuille MetaMask a été piraté, même si des attaquants auraient eu accès à sa machine.

Breachtrace a en outre observé la présence d’une « clé publique principale » ou d’une clé publique étendue dans le package qui semble aider à générer des adresses Bitcoin.

Il y a aussi des demandes de réseau avec des données envoyées à flickthebean.onrendre[.] com par plusieurs fichiers dans web3_nextjs. Mais encore une fois, que tout cela fasse partie d’un simple exercice de quasi-entretien d’embauche ou que l’attaque de vol de crypto reste floue.

D’autres théories proposées par les membres de la communauté impliquent que, plutôt que la machine du développeur soit infectée par des logiciels malveillants, le projet illicite npm a copié ses mots de passe à partir d’un navigateur Web activé pour le remplissage automatique, ou que son trafic réseau a été intercepté par le code qu’il a volontairement exécuté pendant le « entretien technique. »

Quel que soit le vecteur d’attaque, Çeliktepe n’est pas le seul à avoir été ciblé de cette manière, et cela aussi par le même « recruteur ». »

Un autre développeur de blockchain et chercheur en sécurité, Bartu Bozkurt, a déclaré qu’il avait également été approché pour le « travail » sur LinkedIn, quelques jours auparavant, et appelle cela un « type de piratage très connu. »

Un autre développeur, Mehmet Selim, confirme également avoir reçu un message du même recruteur qui avait contacté Çeliktepe.

En tant que tels, les développeurs Web et les chercheurs en sécurité doivent garder un œil sur les fausses offres d’emploi sur les plateformes de développement de carrière, car il pourrait s’agir d’escroqueries. C’est une bonne idée de terminer tous les exercices de travail à emporter, aussi bénins soient-ils, sur une machine (virtuelle) distincte de votre appareil principal.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *