---
title: "SharpRhino : une menace nouvelle, pourtant bien connue"
description: "Hunters International, un groupe de cybercriminels bien connu pour ses opérations de ransomware-as-a-service, a commencé à utiliser un nouveau malware RAT (cheval de Troie à distance). Le premier incident signalé a été repéré au début du mois d'août 2024 et a été baptisé SharpRhino en raison du langage C# qu'il utilise. Le cheval de Troie envoyé a l'apparence d'un logiciel légitime et permet l'accès distant à la machine de la victime. Grâce à ce logiciel, les criminels peuvent exécuter différentes commandes et propager d'autres malwares."
canonical_url: https://www.acronis.com/fr/tru/posts/sharprhino-an-old-new-threat/
locale: fr
last_updated: 2026-10-11
---

*   [Accueil](https://www.acronis.com/fr/tru/)
*   [Tous les articles](https://www.acronis.com/fr/tru/posts/)
*   [Acronis Threat Research Unit](https://www.acronis.com/fr/tru/authors/acronis-threat-research-unit/)

31 mars 2025

# SharpRhino : une menace nouvelle, pourtant bien connue

Hunters International, un groupe de cybercriminels bien connu pour ses opérations de ransomware-as-a-service, a commencé à utiliser un nouveau malware RAT (cheval de Troie à distance). Le premier incident signalé a été repéré au début du mois d'août 2024 et a été baptisé SharpRhino en raison du langage C# qu'il utilise. Le cheval de Troie envoyé a l'apparence d'un logiciel légitime et permet l'accès distant à la machine de la

Auteur: **[Acronis Threat Research Unit](https://www.acronis.com/fr/tru/authors/acronis-threat-research-unit/)**

Autres langues disponibles :[English](https://www.acronis.com/en/tru/posts/sharprhino-an-old-new-threat/)  
[Deutsch](https://www.acronis.com/de/tru/posts/sharprhino-an-old-new-threat/)  
[Español](https://www.acronis.com/es/tru/posts/sharprhino-an-old-new-threat/)  
[Italiano](https://www.acronis.com/it/tru/posts/sharprhino-an-old-new-threat/)  
[日本語](https://www.acronis.com/ja/tru/posts/sharprhino-an-old-new-threat/)  
[Português](https://www.acronis.com/pt/tru/posts/sharprhino-an-old-new-threat/)

## Résumé

*   SharpRhino est basé sur le projet open source ThunderShell.
*   Il est distribué aux victimes sous la forme d'un programme d'installation NSIS qui dépose des scripts PowerShell
*   Les scripts PowerShell contiennent des assemblages .NET encodés.
*   La charge active .NET sert à communiquer avec le serveur C2
*   Des commandes peuvent être exécutées à distance
*   Le trafic réseau est chiffré avec RC4 et encodé au format Base64

## Introduction

[Hunters International](https://www.acronis.com/en-eu/cyber-protection-center/posts/hunters-international-new-ransomware-based-on-hive-source-code/), un groupe de cybercriminels bien connu pour ses opérations de ransomware-as-a-service, a commencé à utiliser un nouveau malware RAT (cheval de Troie à distance). Le premier incident signalé a été repéré au début du mois d'août 2024 et a été baptisé SharpRhino en raison du langage C# qu'il utilise. Le cheval de Troie envoyé a l'apparence d'un logiciel légitime et permet l'accès distant à la machine de la victime. Grâce à ce logiciel, les criminels peuvent exécuter différentes commandes et propager d'autres malwares.

## Détails techniques

### Présentation

L'échantillon analysé est distribué aux victimes sous la forme d'un programme d'installation créé avec Nullsoft Scriptable Install System. Ce fichier comporte la mention « Angryip.org » dans sa description et un certificat numérique valide, mais le nom de l'entreprise est faux et il n'existe pas.

![Image 1: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/6ebeebec8dc94a9939c46d88f46111f6.png)

Il contient un programme d'installation supplémentaire, une archive protégée par mot de passe et d'autres fichiers qui seront utilisés lors de l'exécution du malware.

![Image 2: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/4b5ffe10cbd9a5b550ab01a74ef16f60.png)

### Installation

À l'exécution, l'échantillon dépose tous les fichiers dans le dossier « C:\ProgramData\Microsoft\WindowsUpdate24 » et exécute un fichier « ipscan-3.9.1-setup.exe », programme d'installation du logiciel légitime Angry IP Scanner.

![Image 3: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/08f92cf5acf2adc4ad1a381d4bde10a5.png)

Ce programme d'installation occupe l'utilisateur, tandis que le malware extrait les fichiers de l'archive UpdateFull.zip protégée par mot de passe. Pour décompresser l'archive, il utilise un programme 7za.exe intégré. Dans la ligne de commande, nous pouvons voir le mot de passe de l'archive :

_C:\ProgramData\Microsoft\WindowsUpdate24\7za.exe x C:\ProgramData\Microsoft\WindowsUpdate24\UpdateFull.7z -pTG98HJerxsdqWE45 -oC:\ProgramData\Microsoft\WindowsUpdate24_

Le contenu de l'archive est le suivant :

![Image 4: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/c59d1f1a6eb3a738165c54d1bb4515b6.png)

Après extraction, l'échantillon crée un nouveau dossier — « C:\ProgramData\Microsoft\LogUpdateWindows » — où il copie les fichiers extraits de l'archive. L'utilisation de deux dossiers d'installation différents peut aider les attaquants à se maintenir sur le système si l'un des dossiers est supprimé, car les fichiers qu'ils comportent sont identiques. Une nouvelle clé de la base de registre est ajoutée au chemin « HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run » qui pointe vers le fichier « Microsoft.AnyKey.lnk ». Ce fichier est un raccourci, qui contient la cible suivante :

_C:\ProgramData\Microsoft\LogUpdateWindows\Microsoft.AnyKey.exe abnormal c:\programdata\%username%0 cmd /c C:\ProgramData\Microsoft\LogUpdateWindows\LogUpdate.bat_

L'exécutable « Microsoft.AnyKey.exe », également extrait de l'archive, est un programme légitime faisant partie des outils Node.js pour Visual Studio et portant le nom de « Microsoft.NodejsTools.PressAnyKey.exe ».

### Exécution

Les fichiers « LogUpdate.bat » et « WindowsUpdate.bat » ont la même fonctionnalité, mais ils chargent des fichiers différents.

![Image 5: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/f9fe7002d32e48acea953f950472c74b.png)

Les fichiers « Wiaphoh7um.t » et « kautix2aeX.t » contiennent tous deux des données avec obfuscation. Les données brutes de ces fichiers et la clé sont différentes, mais les résultats seront identiques. Après le processus de décodage, l'échantillon définit ces données comme un assemblage .NET et invoque une méthode avec certains paramètres.

![Image 6: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/a859199aae89cc2b3e31aa4213a2ee33.png)

Après le vidage mémoire de toutes les données du script, nous pouvons observer les variables suivantes :

Les variables $var1, $var2, $var3 déterminent les assemblages référencés et, lorsqu’elles sont concaténées, forment la chaîne suivante :

_System.Drawing.dllSystem.Web.Extensions.dllSystem.Windows.Forms.dll_

$var4 est différent pour chaque fichier et contient l'adresse d'un serveur C2. Le tableau ci-dessous représente les arguments utilisés dans l'appel d'assemblage .NET pour chaque fichier :

![Image 7: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/a1b3f898ccd81f705dc2cebd8c046c65.png)

« $fjwZrHB1k2RF » est l'assemblage .NET chargé en mémoire. Après le vidage mémoire des données, nous pouvons observer du code C#. Le script PowerShell appelle une fonction de l'espace de noms « Bzxmlpi » et de la classe « OyrWkb ». Au début de cette classe, nous pouvons observer certaines importations supplémentaires et des noms de variables illisibles.

![Image 8: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/0c1cc43a0a98c2792a85ac2f9f2ee859.png)

Ce fichier est en réalité une version modifiée du projet open source « [ThunderShell](https://github.com/Mr-Un1k0d3r/ThunderShell/blob/master/data/payloads/stager.cs) ». Plusieurs modifications ont été apportées au projet source :

*   Suppression des fonctions de chargement de l'enregistreur de frappe, de captures d'écran et d'assemblages .NET, ainsi que des commandes du serveur correspondant à ces fonctions.
*   Toutes les classes, fonctions et variables ont été renommées.
*   Ajout de valeurs par défaut qui seront utilisées si la charge active est exécutée sans argument.

![Image 9: Comparaison entre le code SharpRhino et le code ThunderShell](https://staticfiles.acronis.com/images/content/66e5f82384953ced9541b98b24d4eba1.png)

Comparaison entre le code SharpRhino et le code ThunderShell

Cette fonction génère d'abord une chaîne aléatoire de 16 octets. Lors de l'initialisation de la classe Random, l'échantillon utilise les valeurs actuelles de date, d'heure et d'identifiant de traitement comme graine. Ensuite, il récupère certaines variables d'environnement, telles que COMPUTERNAME, USERDOMAIN et USERNAME. Toutes ces données seront formatées :

![Image 10: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/c200e95c1a6423db0a05ed3d5060614f.png)

La chaîne suivante est alors générée :

![Image 11: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/cab82ae79e427649e0fc51ad9958dfcb.png)

L'échantillon transmet ensuite cette chaîne à une fonction qui l'envoie au serveur. Ici, il chiffre les données en RC4 avec une clé passée en deuxième argument.

![Image 12: Routine de chiffrement RC4](https://staticfiles.acronis.com/images/content/c6966492dbc8dcefc89e34c19a1cc373.png)

Routine de chiffrement RC4

Après le processus de chiffrement, il ajoute des données à la requête et encode également la chaîne chiffrée au format Base64. Toutes ces données sont ensuite envoyées au serveur.

![Image 13: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/727003ea4050ce706aa702fa5c3da66a.png)

Lors de cette première connexion, la réponse du serveur est ignorée. Lorsque l'échantillon entre dans une boucle, il se connecte à nouveau au serveur, mais les deux arguments sont « null ». Ensuite, la réponse est enregistrée et comparée aux valeurs enregistrées. Si la commande « delay » est reçue, l'échantillon prend un argument supplémentaire et modifie la valeur qui sera transmise à la fonction dormante. Si la commande « exit » était obtenue, elle interromprait la boucle et la procédure d'exécution. Si elle venait à obtenir des données autres que « delay » ou « exit », elle créerait un nouveau thread avec une fonction qui prendrait les données obtenues comme argument. Toutes ces actions seront répétées avec un délai de 95 secondes entre chaque itération de la boucle.

![Image 14: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/18388c3c078daeaa9cde6cafbe85c3a1.png)

La réponse du serveur est transmise à la fonction de désérialisation de la classe « zWxFlnVASjHYb », qui récupère et stocke les données suivantes : ‘UUID’, ‘ID’ et ‘Data’.

![Image 15: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/f1cab4b727cab3a8c09b31d4ebfe887b.png)

### Serveur C2

Bien que le lien présenté dans l'échantillon soit déjà hors ligne, nous pouvons utiliser le serveur du projet source pour voir comment fonctionne la communication. Nous devons d'abord modifier la configuration du serveur. Y figurent un certain nombre de champs, dont l'adresse IP du serveur, la clé de chiffrement, les paramètres de l'interface utilisateur et les paramètres HTTP et HTTPS. Deuxièmement, nous devons modifier les paramètres « callback-url », « gui-host » et « encryption-key ». Nous allons reprendre les paramètres de la clé de chiffrement d'un échantillon de SharpRhino.

![Image 16: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/852f0dac79c040dcd1bebda68992c127.png)

Le serveur est une application Python qui nécessite un serveur Redis en cours d'exécution. Une fois démarrée, elle affiche des informations sur le serveur.

![Image 17: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/53cc38232cb393fc17ac463069dee7be.png)

L'adresse d'une interface utilisateur web y figure. L'utilisateur est invité à s'identifier. Peu importe le nom d'utilisateur saisi, le mot de passe doit lui provenir du fichier de configuration. Une fois la connexion établie, le tableau de bord s'affiche. Il contient des informations sur les sessions et les journaux.

![Image 18: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/faf67ddd4ff72ce2992e594ddc70774c.png)

La charge active peut être créée dans l'interface web. Vous devez fournir l'adresse IP du serveur et le type de charge active.

![Image 19: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/841dc24b87ceea8c2febe00bce808bd2.png)

Après qu'il a sélectionné une session, l'attaquant peut interagir avec elle. La commande « help » affiche toutes les commandes utilisables dans la session.

![Image 20: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/480612b87739bab808c3ceec2bbe153a.png)

### Communications avec C2

Ces commandes contiennent des chaînes prédéfinies qui seront ajoutées aux données que l'attaquant entre en tant qu'arguments. Par exemple, l'utilisation de la commande « shell [command] » ajoutera « cmd.exe /c » au début de la chaîne qui sera envoyée. La commande « ps » envoie le script PowerShell au client :

![Image 21: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/120fcca60813372ee54e4b9342132f85.png)

La commande adressée au client est chiffrée avec RC4 et encodée au format Base64. Elle contient les paramètres ID et UUID, où ID est l'identifiant du client et UUID est l'identifiant de la commande.

![Image 22: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/b00b475f6b561207e10f5d3fe4bdbc27.png)

Toutes ces données sont transmises au nouveau thread. Ce thread a pour but d'utiliser des modules PowerShell pour exécuter des commandes spécifiées.

![Image 23: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/461302089492615515e48a1f4f84b105.png)

L'échantillon récupère alors le résultat de la commande exécutée. Ces données sont ensuite chiffrées et renvoyées au serveur.

![Image 24: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/df0088014406477bd6d414e2869b76b3.png)

## Conclusion

Hunters International a utilisé ThunderShell, un ancien projet open source qui n'avait pas été mis à jour depuis près de quatre ans, pour propager des malwares aux victimes. Le malware est distribué sous la forme d'un programme d'installation de l'utilitaire Angry IP Scanner, mais il dépose et exécute des scripts PowerShell malveillants. Grâce aux fonctionnalités de PowerShell, ces scripts exécutent des assemblages .NET encodés, sans qu'il faille d'exécutable compilé supplémentaire. Le code malveillant est invoqué et exécuté en mémoire.

Même si le code d'origine a été modifié, il conserve sa fonctionnalité principale : l'exécution de commandes à distance sur les systèmes ciblés. C'est le danger de ces projets open source. S'ils sont généralement développés à des fins éducatives ou de tests d'intrusion, ils peuvent être utilisés pour perpétrer des attaques réelles.

## Détecté par Acronis

![Image 25: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/00b44fd74cc04d53b8880d2a84811791.png)

![Image 26: SharpRhino : une menace nouvelle, pourtant bien connue](https://staticfiles.acronis.com/images/content/d70e42baca8abf387f5e32dc0cc369b6.png)

## Indicateurs de compromission (IoC)

### Fichiers

Nom du fichier 

SHA256

ipscan-3.9.1-setup.exe

09b5e780227caa97a042be17450ead0242fd7f58f513158e26678c811d67e264

kautix2aeX.t

9a8967e9e5ed4ed99874bfed58dea8fa7d12c53f7521370b8476d8783ebe5021

 LogUpdate.bat 

 d2e7729c64c0dac2309916ce95f6a8253ca7f3c7a2b92b452e7cfb69a601fbf6 

 UpdateFull.7z 

 fe07d238cd17be4b5f8396a27dc395e675732be17aed103033fff56c18009e6d 

 Wiaphoh7um.t 

 3f1443be65525bd71d13341017e469c3e124e6f06b09ae4da67fdeaa6b6c38

 WindowsUpdate.b

b57ec2ea899a92598e8ea492945f8f834dd9911cff425abf6d48c660e747d722

### Indicateurs réseau

 URL 

https://cdn-server-1.xiren77418.workers.dev

https://cdn-server-2.wesoc40288.workers.dev

Articles connexes

[Actualités Acronis sur les cybermenaces – Juillet 2026](https://www.acronis.com/fr/tru/posts/acronis-cyberthreats-update-july-2026/)  
[Rapport Acronis sur les cybermenaces – Juin 2026](https://www.acronis.com/fr/tru/posts/acronis-cyberthreats-update-june-2026/)  
[Rapport Acronis sur les cybermenaces – Mai 2026](https://www.acronis.com/fr/tru/posts/acronis-cyberthreats-update-may-2026/)  
[Rapport Acronis sur les cybermenaces – Avril 2026](https://www.acronis.com/fr/tru/posts/acronis-cyberthreats-update-april-2026/)
