Malware_Perfctl_delet.bash
· 3.5 KiB · Bash
Surowy
#!/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
| 1 | #!/bin/bash |
| 2 | |
| 3 | # Script : remove_perfctl.sh |
| 4 | # Description : Supprime toutes les traces du malware Perfctl, liste les fichiers binaires corrompus et affiche les processus réseau actifs. |
| 5 | # Auteur : Votre assistant convivial |
| 6 | |
| 7 | echo "--------------------------------------------" |
| 8 | echo "🚀 Début du nettoyage du malware Perfctl 🚀" |
| 9 | echo "--------------------------------------------" |
| 10 | echo |
| 11 | |
| 12 | # Fonction pour afficher un message amusant |
| 13 | fun_message() { |
| 14 | echo "✨ $1 ✨" |
| 15 | } |
| 16 | |
| 17 | # Fonction pour arrêter les processus malveillants |
| 18 | kill_malicious_processes() { |
| 19 | fun_message "1. Arrêt des processus suspects..." |
| 20 | processes=$(ps aux | grep -E 'perfcc|perfclean|perfctl|\.atmp' | grep -v grep) |
| 21 | if [ -n "$processes" ]; then |
| 22 | echo "$processes" | while read -r line; do |
| 23 | pid=$(echo "$line" | awk '{print $2}') |
| 24 | sudo kill -9 "$pid" |
| 25 | echo " [🛑] Processus PID $pid arrêté." |
| 26 | done |
| 27 | else |
| 28 | echo " Aucun processus suspect détecté." |
| 29 | fi |
| 30 | echo |
| 31 | } |
| 32 | |
| 33 | # Fonction pour supprimer les fichiers et répertoires malveillants |
| 34 | remove_malicious_files() { |
| 35 | fun_message "2. Suppression des fichiers et répertoires malveillants..." |
| 36 | files=( |
| 37 | "/root/.config/cron/perfcc" |
| 38 | "/etc/cron.d/perfclean" |
| 39 | "/etc/cron.daily/perfclean" |
| 40 | "/etc/cron.hourly/perfclean" |
| 41 | "/etc/cron.weekly/perfclean" |
| 42 | "/etc/cron.monthly/perfclean" |
| 43 | "/usr/bin/.atmp" |
| 44 | ) |
| 45 | for file in "${files[@]}"; do |
| 46 | if [ -e "$file" ]; then |
| 47 | sudo rm -rf "$file" |
| 48 | echo " [🧹] Supprimé : $file" |
| 49 | else |
| 50 | echo " [✔️] Non trouvé (déjà supprimé) : $file" |
| 51 | fi |
| 52 | done |
| 53 | echo |
| 54 | } |
| 55 | |
| 56 | # Fonction pour nettoyer le crontab de l'utilisateur root |
| 57 | clean_root_crontab() { |
| 58 | fun_message "3. Nettoyage des tâches cron malveillantes..." |
| 59 | cron_backup="/tmp/root_cron_backup_$(date +%s)" |
| 60 | sudo crontab -l -u root > "$cron_backup" |
| 61 | sudo crontab -l -u root | grep -v 'perfcc' | sudo crontab -u root - |
| 62 | echo " [💾] Sauvegarde du crontab original : $cron_backup" |
| 63 | echo " [🗑️] Tâches cron malveillantes supprimées du crontab de root." |
| 64 | echo |
| 65 | } |
| 66 | |
| 67 | # Fonction pour lister les fichiers binaires corrompus |
| 68 | list_corrupted_binaries() { |
| 69 | fun_message "4. Recherche de fichiers binaires corrompus..." |
| 70 | if ! command -v debsums >/dev/null 2>&1; then |
| 71 | echo " [🔍] Installation de 'debsums' pour vérifier l'intégrité des paquets..." |
| 72 | sudo apt-get update && sudo apt-get install -y debsums |
| 73 | fi |
| 74 | echo " [⏳] Analyse en cours, cela peut prendre un moment..." |
| 75 | corrupted_files=$(sudo debsums -c) |
| 76 | if [ -n "$corrupted_files" ]; then |
| 77 | echo " [❗] Fichiers binaires corrompus détectés :" |
| 78 | echo "$corrupted_files" |
| 79 | else |
| 80 | echo " [✔️] Aucun fichier binaire corrompu détecté." |
| 81 | fi |
| 82 | echo |
| 83 | } |
| 84 | |
| 85 | # Fonction pour afficher les processus réseau actifs |
| 86 | list_network_processes() { |
| 87 | fun_message "5. Liste des processus réseau actifs (lsof -i)..." |
| 88 | sudo lsof -i |
| 89 | echo |
| 90 | } |
| 91 | |
| 92 | # Fonction finale avec un message amusant |
| 93 | final_message() { |
| 94 | echo "--------------------------------------------" |
| 95 | echo "🎉 Le nettoyage est terminé ! Votre système est plus propre qu'un sou neuf. 🎉" |
| 96 | echo "N'oubliez pas de rester vigilant et de garder votre système à jour !" |
| 97 | echo "--------------------------------------------" |
| 98 | } |
| 99 | |
| 100 | # Exécution des fonctions |
| 101 | kill_malicious_processes |
| 102 | remove_malicious_files |
| 103 | clean_root_crontab |
| 104 | list_corrupted_binaries |
| 105 | list_network_processes |
| 106 | final_message |
| 107 |