#!/bin/bash # Script : remove_perfctl.sh # Description : Supprime toutes les traces du malware Perfctl, liste les fichiers binaires corrompus et affiche les processus réseau actifs. # Auteur : Votre assistant convivial echo "--------------------------------------------" echo "🚀 Début du nettoyage du malware Perfctl 🚀" echo "--------------------------------------------" echo # Fonction pour afficher un message amusant fun_message() { echo "✨ $1 ✨" } # Fonction pour arrêter les processus malveillants kill_malicious_processes() { fun_message "1. Arrêt des processus suspects..." processes=$(ps aux | grep -E 'perfcc|perfclean|perfctl|\.atmp' | grep -v grep) if [ -n "$processes" ]; then echo "$processes" | while read -r line; do pid=$(echo "$line" | awk '{print $2}') sudo kill -9 "$pid" echo " [🛑] Processus PID $pid arrêté." done else echo " Aucun processus suspect détecté." fi echo } # Fonction pour supprimer les fichiers et répertoires malveillants remove_malicious_files() { fun_message "2. Suppression des fichiers et répertoires malveillants..." files=( "/root/.config/cron/perfcc" "/etc/cron.d/perfclean" "/etc/cron.daily/perfclean" "/etc/cron.hourly/perfclean" "/etc/cron.weekly/perfclean" "/etc/cron.monthly/perfclean" "/usr/bin/.atmp" ) for file in "${files[@]}"; do if [ -e "$file" ]; then sudo rm -rf "$file" echo " [🧹] Supprimé : $file" else echo " [✔️] Non trouvé (déjà supprimé) : $file" fi done echo } # Fonction pour nettoyer le crontab de l'utilisateur root clean_root_crontab() { fun_message "3. Nettoyage des tâches cron malveillantes..." cron_backup="/tmp/root_cron_backup_$(date +%s)" sudo crontab -l -u root > "$cron_backup" sudo crontab -l -u root | grep -v 'perfcc' | sudo crontab -u root - echo " [💾] Sauvegarde du crontab original : $cron_backup" echo " [🗑️] Tâches cron malveillantes supprimées du crontab de root." echo } # Fonction pour lister les fichiers binaires corrompus list_corrupted_binaries() { fun_message "4. Recherche de fichiers binaires corrompus..." if ! command -v debsums >/dev/null 2>&1; then echo " [🔍] Installation de 'debsums' pour vérifier l'intégrité des paquets..." sudo apt-get update && sudo apt-get install -y debsums fi echo " [⏳] Analyse en cours, cela peut prendre un moment..." corrupted_files=$(sudo debsums -c) if [ -n "$corrupted_files" ]; then echo " [❗] Fichiers binaires corrompus détectés :" echo "$corrupted_files" else echo " [✔️] Aucun fichier binaire corrompu détecté." fi echo } # Fonction pour afficher les processus réseau actifs list_network_processes() { fun_message "5. Liste des processus réseau actifs (lsof -i)..." sudo lsof -i echo } # Fonction finale avec un message amusant final_message() { echo "--------------------------------------------" echo "🎉 Le nettoyage est terminé ! Votre système est plus propre qu'un sou neuf. 🎉" echo "N'oubliez pas de rester vigilant et de garder votre système à jour !" echo "--------------------------------------------" } # Exécution des fonctions kill_malicious_processes remove_malicious_files clean_root_crontab list_corrupted_binaries list_network_processes final_message