Botnet Hunting for Vulnerabilities in Diagnostic Tools, (Tue, Aug 4th)
Mis à jour :
Activité malveillante ciblant les outils de diagnostic réseau
Une campagne récente de botnets a été observée ciblant systématiquement des outils de diagnostic réseau (ping, traceroute, gestion système) intégrés aux interfaces web de routeurs et périphériques réseau. Cette méthode de reconnaissance vise à exploiter des vulnérabilités d’injection de commandes via des paramètres mal nettoyés.
Points clés :
- Mode opératoire : Les attaquants scannent les serveurs à la recherche de fichiers
.cgiet de formulaires de diagnostic (/goform/) pour y injecter des commandes système arbitraires. - Cause racine : L’injection de commandes provient de la concaténation directe de données utilisateur avec des chaînes de caractères transmises à l’OS, mélangeant ainsi le “plan de contrôle” et le “plan de données”.
Vulnérabilités identifiées :
- CVE-2024-12856 : Injection de commande sur routeurs Four-Faith (
/apply.cgi). - CVE-2013-7179 : Vulnérabilité sur routeurs WiMAX Seowon Intech (
/cgi-bin/diagnostic.cgi). - CVE-2020-8949 : Injection potentielle sur dispositifs Gocloud (
/diag_ping.cgi). - CVE-2024-48419 : Injection potentielle sur routeurs Edimax (
/goform/diagTool).
Recommandations pour les développeurs :
- Abandonner les fonctions d’exécution shell : Éviter l’utilisation de
os.system()oushell_exec()qui interprètent les caractères spéciaux comme des séparateurs de commandes. - Privilégier les API d’exécution vectorisée : Utiliser des fonctions comme
execv(en C) ou le modulesubprocess.run(en Python) avec une liste d’arguments distincts. Cette méthode traite les entrées utilisateur comme des données brutes et non comme des instructions exécutables, neutralisant ainsi les injections même si elles contiennent des caractères malveillants (ex:;,|,&). - Validation des entrées : Bien que la séparation des arguments soit la défense prioritaire, elle doit être complétée par une validation stricte des entrées utilisateur.
