Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
security checks — vérifications de sécurité linux | Kitploit
Outils/GitLabGitLab/abdom.seada/security-checks
Outils DéfensifsCriminalistique MémoireAnalyse des VulnérabilitésCriminalistique RéseauAudit de ConfigurationAnalyse ForensiqueAnalyse de MalwareCriminalistique NumériqueDétection d'IntrusionRéponse aux IncidentsAnalyse de Journaux
il y a 4 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
GitLab
abdom.seada/security-checks

security checks

vérifications de sécurité linux

Voir le dépôt
Partager

🔍 Miner Hunter

Kit de détection, suppression et durcissement anti-mineur de cryptomonnaie pour serveurs Linux.

Conçu à partir d'une réponse à incident réelle — détecte les mineurs qui se cachent de ps, top, htop et btop en utilisant des techniques rootkit.


📦 Installation

root@kitploit:~
git clone https://gitlab.com/abdom.seada/security-checks.git
cd security-checks
sudo bash setup.sh

🔀 Branche : master — Cet outil se trouve sur la branche master. D'autres scripts de sécurité pourront être ajoutés sur des branches séparées à l'avenir.


⚙️ Configuration

⚠️ Exécutez setup.sh une fois juste après le clonage — ne pas le faire est la cause n°1 d'erreurs.

root@kitploit:~
sudo bash setup.sh

setup.sh gère tout automatiquement :

Sortie attendue en cas de succès :

root@kitploit:~
✅ Configuration terminée — toutes les vérifications réussies !

  Prochaines étapes :
    sudo ./miner-hunter scan        # Analyse sécurisée en lecture seule
    sudo ./miner-hunter full        # Analyse → Tue → Durcit

💡 Pourquoi est-ce nécessaire ? Linux n'exécute pas un fichier sans le flag +x. Git et les transferts SCP suppriment ce flag. setup.sh corrige tous les fichiers en une seule fois — y compris les modules lib/ dont dépend le script principal.


🚀 Démarrage rapide

root@kitploit:~
sudo ./miner-hunter scan            # ✅ Sécurisé — lecture seule, aucune modification
sudo ./miner-hunter full            # ⚠️  Pipeline complet : Analyse → Tue → Durcit
sudo ./miner-hunter scan --dry-run  # 👁️  Mode aperçu — montre ce qui serait fait

📋 Commandes et Options

Commandes

Options

OptionDescription

🎭 Scénarios concrets

Situations réelles et exactement quoi exécuter dans chaque cas.


🔴 Scénario 1 — « Le CPU de mon serveur est à 100 % mais top n'affiche rien »

C'est le symptôme classique d'un rootkit. Le mineur se cache des outils espace utilisateur mais ne peut pas se cacher des compteurs de performance matériels.

root@kitploit:~
# Étape 1 : Lancez d'abord une analyse sécurisée — confirmez ce qui est présent avant de toucher à quoi que ce soit
sudo ./miner-hunter scan

Ce que vous verrez si un mineur est présent :

root@kitploit:~
🚨 [CRITIQUE]  Anomalie CPU : 97 % CPU utilisateur mais top montre au maximum 2 % par processus
🚨 [CRITIQUE]  perf a détecté 4 threads cachés consommant environ 94 % du CPU total
🚨 [CRITIQUE]  Connexion active vers 185.x.x.x:9200 (port minier connu)
🚨 [CRITIQUE]  Faux thread noyau PID=3421 NOM=[kworker/0:1] EXE=/tmp/.x/miner
root@kitploit:~
# Étape 2 : Tuez le mineur et bloquez son pool
sudo ./miner-hunter kill

# Étape 3 : Durcissez le serveur pour qu'il ne puisse pas revenir
sudo ./miner-hunter harden

🟡 Scénario 2 — « Je pense avoir été piraté mais je n'en suis pas sûr »

Vous avez remarqué quelque chose de suspect — trafic sortant inhabituel, une tâche cron que vous n'avez pas créée, un processus avec un nom étrange — mais vous n'êtes pas certain.

root@kitploit:~
# Lancez une analyse complète — totalement sécurisée, lecture seule, aucune modification
sudo ./miner-hunter scan

# Puis lisez le rapport structuré
sudo ./miner-hunter report

Le rapport dans /root/miner_evidence_*/report.txt classe chaque résultat par sévérité :

  • Entrées [CRITIQUE] → passez immédiatement à kill
  • Entrées [ATTENTION] → examinez manuellement avant d'agir
  • Rapport vide → le serveur semble propre

🟠 Scénario 3 — « J'ai tué le mineur manuellement mais il revient sans cesse »

Le mineur possède un mécanisme de persistance — une tâche cron, un service systemd, une entrée PM2 ou une porte dérobée dans un profil shell qui le relance après l'avoir tué.

root@kitploit:~
sudo ./miner-hunter scan

Recherchez ces éléments dans la sortie :

root@kitploit:~
⚠️  [ATTENTION]  Entrée cron suspecte : * * * * * /tmp/.x/update
🚨 [CRITIQUE]   Service systemd malveillant : /etc/systemd/system/update-check.service
🚨 [CRITIQUE]   Processus PM2 'app-worker' a 8432 redémarrages — probable boucle de relance du mineur
🚨 [CRITIQUE]   Porte dérobée dans le profil shell détectée dans /root/.bashrc
root@kitploit:~
# kill supprime TOUS les artefacts de persistance — pas seulement le processus en cours
sudo ./miner-hunter kill

# Puis durcissez pour installer le watchdog afin d'être alerté si quelque chose se relance
sudo ./miner-hunter harden

💡 Après kill, le watchdog cron s'exécute toutes les 5 minutes et journalise dans /var/log/miner_hunter/watchdog_alerts.log — vous saurez immédiatement si quelque chose revient.


🔵 Scénario 4 — « Je veux durcir un serveur frais avant que quoi que ce soit n'arrive »

Durcissement proactif avant le déploiement — pas de mineur, pas d'incident, juste verrouiller les choses.

root@kitploit:~
# Exécutez harden seul — scan ou kill n'est pas nécessaire
sudo ./miner-hunter harden

Cela va :

  • Auditer votre configuration SSH et afficher les paramètres recommandés
  • Vérifier que fail2ban est actif avec une prison sshd
  • Créer une baseline d'intégrité de /usr/bin (sommes MD5 — pour détecter plus tard les binaires falsifiés)
  • Installer un watchdog cron qui vérifie toutes les 5 minutes des indicateurs de mineur
  • Persister les règles iptables existantes lors des redémarrages via un service systemd

⚫ Scénario 5 — « Le mineur a survécu au kill — le CPU est toujours élevé »

Après kill, l'étape de vérification rapporte que le mineur est peut-être toujours actif :

root@kitploit:~
⚠️  LE MINEUR A PEUT-ÊTRE RÉAPPARU
CPU : 89 % | Connexions minage : 1
Les blocages du pare-feu sont en place — le mineur ne peut pas atteindre le pool
Envisagez un REDÉMARRAGE ou une RÉINSTALLATION DU SYSTÈME
root@kitploit:~
# 1. Les blocages du pare-feu sont déjà en place — le mineur NE PEUT PAS atteindre son pool
#    Confirmez que les blocages sont actifs :
iptables -L OUTPUT -n | grep DROP

# 2. Lancez une seconde analyse pour voir ce qui a survécu
sudo ./miner-hunter scan

# 3. Vérifiez la présence d'un rootkit sous forme de module noyau cachant le processus
lsmod | grep -iE 'diamorphine|reptile|kovid|rootkit'

# 4. Un taint non nul = des modules noyau hors arbre chargés (indicateur de rootkit)
cat /proc/sys/kernel/tainted

Si la valeur de taint du noyau est non nulle ou si un module rootkit connu apparaît — le mineur a un contrôle au niveau du noyau. La voie la plus sûre à ce stade est une réinstallation complète du système d'exploitation à partir d'un instantané connu comme propre.


🟣 Scénario 6 — « Je veux une surveillance continue sans lancer d'analyses manuellement »

Après harden, le watchdog cron est déjà installé. Voici comment l'utiliser :

root@kitploit:~
# Surveillez le journal d'alerte en temps réel
tail -f /var/log/miner_hunter/watchdog_alerts.log

# Confirmez que la tâche cron watchdog est enregistrée
cat /etc/cron.d/miner-watchdog

# Vérifiez les modifications des binaires de /usr/bin depuis votre baseline
md5sum --check /var/lib/miner_hunter/usrbin_baseline.md5 --quiet

Toute sortie de la dernière commande signifie qu'un binaire système a été modifié après votre baseline — enquêtez immédiatement.


🔬 Ce qu'il détecte

Détection des processus cachés

Profilage CPU

TechniqueCe qu'elle détecte
Profilage PMC matériel perfConsommateurs CPU cachés — les rootkits ne peuvent pas falsifier les compteurs matériels

Analyse réseau

Mécanismes de persistance


⚔️ Processus Kill — Étape par étape

Lorsque vous exécutez sudo ./miner-hunter kill, voici la séquence exacte :

  1. 🔥 Bloquer les IPs des pools miniers au pare-feu — les règles iptables DROP sont appliquées avant de tuer, afin que le mineur ne puisse pas se reconnecter même s'il réapparaît
  2. 💀 Tuer le chef de groupe de threads — cible d'abord le TGID (PID du chef de groupe de threads) avec SIGKILL
  3. 🧹 Balayer tous les threads de travail — tue tous les PIDs du même groupe de threads sur toute la plage de PIDs
  4. 🗑️ Supprimer les artefacts — configurations, binaires, webshells et fichiers de persistance du mineur
  5. 🔄 Nettoyer PM2 — supprime les entrées du mineur du gestionnaire de processus Node.js et sauvegarde la liste
  6. ✅ Vérifier — relance perf et vérifie /proc/net/tcp pour confirmer que le CPU a chuté et que les connexions ont disparu

🛡️ Durcissement post-incident — Ce qui est appliqué


📁 Structure du projet

root@kitploit:~
security-checks/               ← racine du dépôt (branche master)
├── miner-hunter               # Point d'entrée — c'est ce que vous exécutez
├── setup.sh                   # ⚙️ Configuration initiale — exécutez une fois après le clonage
├── lib/
│   ├── common.sh              # Utilitaires partagés : journalisation, couleurs, aides
│   ├── detect_hidden.sh       # Détection de processus cachés et rootkits
│   ├── detect_cpu.sh          # Profilage CPU via perf & /proc
│   ├── detect_network.sh      # Détection de connexions à des pools miniers
│   ├── detect_persistence.sh  # Détection de mécanismes de persistance
│   ├── kill_miner.sh          # Suppression de processus et d'artefacts
│   └── harden.sh              # Durcissement post-incident
├── README.md
└── LICENSE

📋 Prérequis


📤 Fichiers de sortie

Chaque exécution génère :


🌍 Origine réelle

Cet outil a été construit lors d'une réponse à incident active contre un mineur de cryptomonnaie qui :

  • S'est renommé next pour se fondre parmi les processus Next.js sur un serveur Node.js
  • A utilisé un chef de groupe de threads renommé en kthreadd — un véritable nom de thread noyau
  • A supprimé son binaire du disque tout en restant actif en mémoire (/proc/PID/exe → (deleted))
  • Était complètement invisible pour ps, top, htop et btop
  • Ne pouvait être détecté que via le profilage des compteurs CPU matériels perf

📄 Licence

MIT

Télécharger l’outil
ÉtapeCe qu'elle fait
✅ Permissionschmod +x sur miner-hunter et tous les scripts lib/*.sh
✅ RépertoiresCrée /var/log/miner_hunter/ et /var/lib/miner_hunter/ (root uniquement, 700)
✅ DépendancesVérie perf, mpstat, iptables, fail2ban, bc, strings — installe automatiquement les manquants
✅ Auto-testExécute ./miner-hunter --version pour confirmer que tout est bien câblé
CommandeDescriptionModifie le système ?
scanAnalyse de détection complète — processus cachés, CPU, réseau, persistance❌ Non
killTue les mineurs identifiés, bloque les IPs des pools, supprime les artefacts⚠️ Oui
hardenDurcissement post-incident — SSH, pare-feu, watchdog, baseline d'intégrité⚠️ Oui
fullExécute scan → kill → harden avec des invites de confirmation entre les phases⚠️ Oui
reportAffiche le dernier rapport d'analyse❌ Non
-d, --dry-run
Prévisualise toutes les actions sans appliquer de changements
-e, --evidence DIRSauvegarde les preuves dans un répertoire personnalisé au lieu de /root/miner_evidence_*
-h, --helpAffiche l'aide
-v, --versionAffiche la version
TechniqueCe qu'elle détecte
Comparaison /proc vs psProcessus invisibles pour les outils espace utilisateur
Détournement LD_PRELOADBibliothèques partagées malveillantes hookant libc pour cacher des processus
Rootkits modules noyauDiamorphine, Reptile, Kovid et autres rootkits connus
Faux threads noyauMineurs se faisant passer pour [kworker], [kthreadd], [kswapd]
Binaires système modifiésps, top, ls, ss, netstat remplacés
Échantillonnage delta /procComptabilité CPU directe au niveau noyau par PID
Détection d'anomalie CPUCPU %user élevé sans processus visible pour l'expliquer
TechniqueCe qu'elle détecte
Lecture directe /proc/net/tcpConnexions actives — contourne les ss/netstat hookés
Détection de ports miniersPorts 3333, 4444, 5555, 7777, 9200, 14433, 14444, 45560
Résolution de domaines miniersRésout les domaines de pools connus et recoupe avec les connexions actives
Mappage socket-à-PIDRetrouve quel processus possède chaque connexion minière
EmplacementCe qui est vérifié
Cron/etc/cron*, /var/spool/cron/, tous les crontabs utilisateurs
SystemdTous les fichiers d'unités et minuteries pour des entrées suspectes
Règles UdevExécution déclenchée par le matériel lors d'événements de périphérique
PM2Entrées du gestionnaire de processus Node.js avec des compteurs de redémarrage extrêmes
Profils shell.bashrc, .bash_profile, /etc/profile, /etc/profile.d/*
SSHTous les fichiers authorized_keys de tous les utilisateurs
WebshellsFichiers PHP dans les répertoires de projets Node.js
Configs XMRigconfig.json dans les emplacements courants de dépôt de mineur
ActionDétail
Persistance du pare-feuService systemd pour restaurer les blocages iptables des mineurs à chaque redémarrage
Audit SSHVérifie PermitRootLogin, PasswordAuthentication, MaxAuthTries — affiche les valeurs recommandées
Vérification Fail2banVérifie que la prison sshd est active et rapporte les IPs actuellement bannies
Watchdog mineurTâche cron toutes les 5 min — vérifie l'anomalie CPU, LD_PRELOAD, ports miniers, webshells PHP
Baseline /usr/binCalcule les sommes MD5 de tous les binaires dans /usr/bin pour une future détection de falsification
PrérequisDétail
OSLinux — testé sur Ubuntu 24.04 LTS, Debian 13
PrivilègesDoit être exécuté en tant que root (sudo)
Installé automatiquement par setup.shperf, mpstat (sysstat), bc, strings (binutils)
Recommandéfail2ban — signalé si manquant, pas installé automatiquement
Requis (non installé automatiquement)iptables — doit être présent pour les phases kill/harden
SortieEmplacementContenu
Répertoire de preuves/root/miner_evidence_YYYYMMDD_HHMMSS/Binaires capturés, rapports perf, configurations du mineur
Fichier de journal/var/log/miner_hunter/run_YYYYMMDD_HHMMSS.logJournal d'exécution complet avec horodatage
Rapportevidence_dir/report.txtRésumé structuré des résultats avec sévérités
Alertes watchdog/var/log/miner_hunter/watchdog_alerts.logAlertes continues après harden
Baseline d'intégrité/var/lib/miner_hunter/usrbin_baseline.md5Sommes de contrôle de /usr/bin après harden