ActualitéCyber

Among Us : quand le jeu est devenu le masque d’un ransomware

Dans cet article, nos équipes vous proposent une de leurs analyses qui fait suite à la découverte en janvier 2021 d’une nouvelle famille de ransomwares appelée CobraLocker ainsi qu’un petit outil open-source pour récupérer les fichiers chiffrés par cette variante.

TEHTRIS, dans un souci d’amélioration continue, intègre systématiquement ces nouvelles détections à ses outils.

Les ransomwares n’épargnent pas le jeu vidéo

La tendance actuelle à utiliser des ransomwares pour se faire de l’argent facile n’épargne pas le domaine du jeu vidéo. CobraLocker est un ransomware se faisant passer soit pour la suite de Among Us, soit pour une édition horreur du jeu. Petit rappel, Wikipédia définit Among Us comme « un jeu vidéo d’ambiance multijoueur en ligne développé et édité par le studio InnerSloth, sorti en 2018 sur Android, iOS, Chrome OS puis Windows, en 2020 sur Nintendo Switch et en 2021 sur PlayStation 4 et PlayStation 5 »[1].

Ce jeu est disponible sur toutes les plateformes.

L’objectif de CobraLocker est de chiffrer les fichiers et de verrouiller la machine de la victime afin de la forcer à payer une rançon de 300$. Il vise les PC sous Windows.

[1] Wikipédia : https://fr.wikipedia.org/wiki/Among_Us

Pour la variante AmongUs2, l’affichage de la rançon ne se fait pas automatiquement à cause d’un bug dans le programme : il faut l’exécuter manuellement (le fichier se nomme LogonUI.exe dans C:).

Le ransomware en action après avoir cliquer sur le AmongUs2.exe

Cette version semble avoir été un échec, puisque aucune transaction n’a été effectuée à cette adresse.

La variante Horror Edition est bien plus intéressante : celle-ci affiche une image visant à effrayer la victime pendant quelques secondes, puis affiche le message « Do you want to play a game? ».

La rançon est cette fois-ci en russe.

Récupération de données

Une analyse du malware a permis de révéler que les fichiers peuvent être déchiffrés grâce à la clé de chiffrement AES 256 que l’on retrouve avec le code. Nous allons vous expliquer comment.

Situation : deux fichiers importants sont chiffrés par la variante AmongUs2 de CobraLocker.

Pour déchiffrer les fichiers, notre outil, CLDecipher a besoin du nom de la variante (–variant=2), du dossier contenant les fichiers à récupérer (–in=important_files) et du dossier dans lequel écrire les fichiers récupérés (–out=recovered).
On retrouve alors les fichiers déchiffrés dans le répertoire récupéré.
L’outil est disponible à cette adresse : https://github.com/tehtris-hub/MalwareTool/tree/main/CobraLocker

Analyse du malware

Dropper

CobraLocker étant développé en C# .NET, on peut utiliser un décompilateur .NET pour le reverser.

On remarque la présence d’un Form qui, à son chargement, crée deux fichiers AmongUs.exe dans C: depuis la ressource Ressources.AmongUs.

Le fichier extrait est également un exécutable .NET, qui s’occupe à la fois de limiter les interactions de l’utilisateur avec la machine, de chiffrer les fichiers et de déposer la rançon.

Locker (AmongUs.exe)

Afin de limiter les capacités de l’utilisateur, CobraLocker effectue plusieurs opérations visant le gestionnaire de tâches, l’éditeur de registres et l’interface de login.

On remarque une première commande qui permet de supprimer l’exécutable du gestionnaire de tâches et l’interface d’authentification utilisateur. L’auteur a oublié le /c à passer à l’argument pour que cmd.exe exécute la commande, ce qui empêche la suppression de LogonUI.exe, et comme nous allons le voir par la suite, l’affichage de la rançon.

Cette commande permet à CobraLocker de supprimer l’exécutable du gestionnaire de tâches et l’interface d’authentification utilisateur.

CobraLocker insiste particulièrement sur la désactivation du gestionnaire de tâches, puisqu’il le désactive ensuite à l’aide d’une clé de registre…

… puis désactive l’éditeur de registre… juste au cas où !

Enfin, il désactive l’ouverture de explorer.exe à l’ouverture de la session, en affectant « empty » à la clé WinLogon :

Comment CobraLocker déclenche ses fonctionnalités ?

CobraLocker utilise alors quatre timers qui servent à déclencher les différentes fonctionnalités du ransomware.

  • Timer 1 (suppression des desktop.ini)
    Un premier timer gère la suppression des desktop.ini.
  • Timer 2 (fermer les fenêtres)
    Le second timer sert à fermer les fenêtres de divers outils.
  • Timer 3 (chiffrement)
    Un troisième timer exécute le chiffrement des fichiers. On remarque une fonction Start_Encrypt() avec une chaîne de caractères particulièrement longue nommée « password », qui permet de dériver la clé de chiffrement AES256.

Dans cette même fonction, on voit les répertoires ciblés par le chiffrement, qui sont les répertoires Desktop, Downloads et Pictures de l’utilisateur courant.

L’auteur semble également avoir oublié quelques lignes de code, puisque cette variante n’applique pas le chiffrement aux répertoires Documents, bien qu’il s’y intéresse au même titre que Desktop, Downloads et Pictures.

Cette même fonction fait appel à EncryptFile pour chaque fichier, fonction qui va créer un hash sha256 du mot de passe puis envoyer la clé et le contenu du fichier à chiffrer à AES_Encrypt.

AES_Encrypt permet de chiffrer les données à partir de la clé, à laquelle on applique un sel [1,2,3,4,5,6,7,8].

L’implémentation et le sel utilisés pour le chiffrement sont intrigants. Après quelques recherches, on découvre que l’auteur a copié/collé son code depuis ce site : https://www.codeproject.com/Articles/769741/Csharp-AES-bits-Encryption-Library-with-Salt

La version Horror Edition de CobraLocker utilise la même technique, mais avec un mot de passe différent.

Ces informations ont permis de développer l’outil de déchiffrement présenté précédemment.

  • Timer 4 (rançon)
    Le quatrième timer permet de remplacer LogonUI.exe par la rançon, celle-ci étant droppée depuis les ressources de AmongUs.exe. Cette étape échoue (en effet, il n’arrive pas à déposer la rançon dans C:windowssystem32 car LogonUI.exe n’a pas été supprimé), ce qui force la victime à exécuter elle-même LogonUI.exe dans c: afin d’afficher la rançon.

Conclusion

Bien que l’opération semble avoir été un échec, CobraLocker est un cas intéressant car les cybercriminels se sont montrés imaginatifs pour piéger leurs victimes mais maladroits pendant le développement du malware.

NomSHA256Rôle
AmongUs2.exebdcc8754a9f75c2fe1f909af669ac59f25d635139f3634f525e4189db604e3f0Dropper
AmongUs2.exeff53667fe3745601d6d04668cd854813f650087be2872876de71d412b70eb0cdDropper
AmongUs.exe (Horror Edition)ba28a0615626a40254c4e4167e0b3f8bc82bdd83f42b225605c34268c38ef0b5Ransomware
AmongUsLauncher.exe88d55af8d84c1909e9ccf962e59f71dacf158eb9fd671920a23b7390103bd58fRansomware
AmongUsLauncher.exeec621d94c847976baa8b3ead1bb98c2a0951432ba21181f09fb1c55dcddd98c3Ransomware