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
ShellSweep — ShellSweeping le mal. | Kitploit
Outils/GitHubGitHub/splunk/shellsweep
Analyse StatiqueScanners de VulnérabilitésSécurité WebAnalyse de MalwareApprentissage et ÉducationDétection d'Anomalies
GitHubsplunk/shellsweep

ShellSweep

ShellSweeping le mal.

Voir le dépôt
18420il y a 29 joursVérifié par Kitploit

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 →
Partager

ShellSweep

Nettoyage des shells malveillants

Pourquoi ShellSweep

"ShellSweep" est un outil PowerShell/Python/Lua conçu pour détecter les fichiers de web shell potentiels dans un répertoire spécifié.

ShellSheep et sa suite d'outils calculent l'entropie du contenu des fichiers pour estimer la probabilité qu'un fichier soit un web shell. Une entropie élevée indique un caractère plus aléatoire, ce qui est une caractéristique des codes cryptés ou obscurcis souvent présents dans les web shells.

  • Il ne traite que les fichiers avec certaines extensions (.asp, .aspx, .asph, .php, .jsp), couramment utilisées dans les web shells.
  • Certains répertoires peuvent être exclus de l'analyse.
  • Les fichiers avec certaines empreintes peuvent être ignorés lors de l'analyse.

Comment ShellSweep trouve-t-il les shells ?

L'entropie, dans le contexte de la théorie de l'information ou de la science des données, est une mesure de l'imprévisibilité, du caractère aléatoire ou du désordre dans un ensemble de données. Le concept a été introduit par Claude Shannon dans son article de 1948 « A Mathematical Theory of Communication ».

Lorsqu'elle est appliquée à un fichier ou à une chaîne de texte, l'entropie peut aider à évaluer le caractère aléatoire des données. Voici comment cela fonctionne : Si un fichier est constitué de données totalement aléatoires (chaque octet est aussi susceptible d'être n'importe quelle valeur entre 0 et 255), l'entropie est élevée, proche de 8 (car log2(256) = 8).

Si un fichier est constitué de données hautement structurées (par exemple, un fichier texte où la plupart des octets sont des caractères ASCII), l'entropie est plus faible. Dans le cadre de la recherche de web shells ou de fichiers malveillants, l'entropie peut être un indicateur utile :

  • De nombreux scripts obscurcis ou charges utiles cryptées peuvent avoir une entropie élevée car le processus d'obscurcissement ou de cryptage donne l'impression que les données sont aléatoires.
  • Un fichier texte normal ou un fichier HTML aura généralement une entropie plus faible car le texte lisible par l'homme présente des motifs et une structure (certaines lettres sont plus courantes, les mots sont généralement séparés par des espaces, etc.). Ainsi, un fichier avec une entropie anormalement élevée peut être suspect et mériter une enquête plus approfondie. Cependant, ce n'est pas un indicateur infaillible de malveillance – il existe de nombreuses raisons légitimes pour lesquelles un fichier pourrait avoir une entropie élevée, et de nombreuses façons pour les logiciels malveillants d'éviter de provoquer une entropie élevée. Ce n'est qu'un outil parmi d'autres pour détecter les menaces potentielles.

ShellSweep inclut une fonction Get-Entropy qui calcule l'entropie du contenu d'un fichier en :

  • Comptant la fréquence d'apparition de chaque caractère dans le fichier.
  • Utilisant ces fréquences pour calculer la probabilité de chaque caractère.
  • Effectuant la somme de -p*log2(p) pour chaque caractère, où p est la probabilité du caractère. Il s'agit de la formule de l'entropie dans la théorie de l'information.

Pourquoi ShellSweepX ?

ShellSweepX porte les fonctionnalités principales de ShellSweep au niveau supérieur, offrant plusieurs avantages par rapport aux solutions EDR (Endpoint Detection and Response) traditionnelles :

  1. Concentration spécialisée : Contrairement aux solutions EDR qui jettent un filet large, ShellSweepX est spécifiquement conçu pour détecter les web shells. Cette concentration spécialisée permet une détection plus précise et efficace de ces menaces particulières.

  2. Faible consommation de ressources : ShellSweepX est léger et ne nécessite pas de processus d'arrière-plan constants ni de surveillance du système, contrairement à de nombreuses solutions EDR. Cela signifie un impact moindre sur les performances du système.

  3. Personnalisable et transparent : La nature open source de ShellSweepX permet une transparence totale dans ses méthodes de détection. Vous pouvez facilement personnaliser et affiner les paramètres de détection pour les adapter à votre environnement spécifique.

  4. Aucune dépendance aux services externes : ShellSweepX fonctionne localement sans s'appuyer sur une analyse basée sur le cloud ou des mises à jour constantes, garantissant que vos données sensibles restent sous votre contrôle.

  5. Détection multicouche : ShellSweepX utilise diverses méthodes de détection, notamment l'analyse d'entropie, la correspondance de motifs et l'analyse heuristique, offrant une approche complète de la détection des web shells.

  6. Rapports détaillés : ShellSweepX fournit des informations approfondies sur les menaces potentielles, y compris les valeurs d'entropie, les méthodes de détection et les scores de confiance, permettant une prise de décision plus éclairée.

  7. Compatibilité multiplateforme : Avec des versions disponibles en PowerShell, Python et Lua, ShellSweepX peut être déployé dans divers environnements.

Bien que ShellSweepX ne remplace pas une solution EDR complète, il constitue un outil spécialisé puissant dans votre arsenal de sécurité, en particulier pour les environnements où les web shells représentent une menace importante.

Comparaison des fonctionnalités

ShellScan

ShellScan offre la possibilité d'analyser plusieurs répertoires de web shells connus et d'afficher les valeurs d'entropie moyenne, médiane, minimale et maximale par extension de fichier.

Passez à ShellScan.ps1 quelques répertoires de web shells, de n'importe quelle taille. J'ai utilisé :

  • https://github.com/tennc/web shell
  • https://github.com/BlackArch/web shells
  • https://github.com/tarwich/jackal/blob/master/libraries/

Cela fournira un ensemble d'entraînement décent pour obtenir des valeurs d'entropie.

Exemple de sortie :

root@kitploit:~
Statistiques pour les fichiers .aspx :
Entropie moyenne : 4.94212121048115
Entropie minimale : 1.29348709979974
Entropie maximale : 6.09830238020383
Entropie médiane : 4.85437969842084
Statistiques pour les fichiers .asp :
Entropie moyenne : 5.51268104400858
Entropie minimale : 0.732406213077191
Entropie maximale : 7.69241278153711
Entropie médiane : 5.57351177724806

ShellCSV

Tout d'abord, décomposons l'utilisation de ShellCSV et comment il aide à identifier l'entropie des fichiers légitimes sur le disque. L'idée est que les défenseurs peuvent l'exécuter sur des serveurs Web pour collecter tous les fichiers et les valeurs d'entropie afin de mieux comprendre quels chemins et extensions sont les plus courants dans leur environnement de travail.

Voir ShellCSV.csv comme exemple de sortie.

ShellSweep

Blog : Ghost in the Web Shell: Introducing ShellSweep

Tout d'abord, choisissez votre version : Python, PowerShell ou Lua.

  • En fonction des résultats de ShellScan ou ShellCSV, modifiez les valeurs d'entropie selon les besoins.
  • Modifiez les extensions de fichier selon les besoins. Inutile de rechercher ASPX sur une application non ASPX.
  • Modifiez les chemins. Je ne recommande pas d'analyser tout le C:; il y a beaucoup à filtrer.
  • Modifiez les filtres nécessaires.
  • Exécutez-le !

Si vous êtes arrivé jusqu'ici, c'est la partie où vous itérez sur le réglage. Vous avez trouvé un nouveau shell ? Collectez l'entropie et modifiez selon les besoins.

ShellSweepPlus

Blog : Introducing ShellSweepPlus: Open-Source Web Shell Detection

ShellSweepPlus est un script PowerShell avancé conçu pour détecter et analyser les web shells potentiels dans les environnements Web. Il s'appuie sur les fonctionnalités principales de ShellSweep, offrant des fonctionnalités et des capacités de détection améliorées.

Principales fonctionnalités :

  1. Analyses dynamiques : Paramètres d'analyse personnalisables incluant les chemins de répertoire, les exclusions et l'ignorance d'empreinte.
  2. Seuils d'entropie de précision : Utilise une table de hachage imbriquée sophistiquée pour des seuils d'entropie adaptés à diverses extensions de fichier.
  3. Détection multicouche : Intègre les méthodes de détection 'basée sur l'entropie', 'basée sur l'écart-type', 'mode mixte' et 'basée sur l'heuristique' avec des pondérations dynamiques.
  4. Analyse statique avancée du code : Emploie une liste étendue de motifs suspects pour une détection approfondie.
  5. Analyse d'entropie : Calcule et analyse l'entropie du contenu du fichier pour identifier le contenu malveillant potentiellement obscurci ou crypté.
  6. Présentation détaillée des résultats : Produit les menaces potentielles dans un format JSON structuré pour une analyse et une analyse faciles.
  7. Journalisation complète : Inclut une journalisation détaillée pour des informations approfondies sur les opérations du script.
  8. Analyse heuristique : Implémente une détection basée sur l'heuristique pour identifier les anomalies et les web shells zero-day potentiels.

Utilisation :

  1. Spécifiez les répertoires à analyser dans la variable $DirectoryPaths.
  2. Personnalisez $suspiciousPatterns selon les besoins de votre environnement.
  3. Utilisez $excludePaths pour ignorer des répertoires spécifiques.
  4. Utilisez $ignoreHashes ou $ignoreHashesFilePath pour exclure les fichiers jugés sûrs.
  5. Exécutez le script dans PowerShell 5.1 ou une version ultérieure.

Exemple de sortie :

root@kitploit:~
json
{
"TotalFilesScanned": 1000,
"Potential web shells": 5,
"ScanDuration": "00:05:30"
}

ShellSweepPlus fournit une solution puissante et flexible pour la détection des web shells, combinant plusieurs techniques d'analyse pour améliorer la précision et détecter même les menaces sophistiquées.

Questions

N'hésitez pas à ouvrir un problème Git ou à consulter le Wiki.

Merci

Si vous avez apprécié ce projet, n'oubliez pas de mettre une étoile au projet et de le partager avec votre famille et vos amis.

Télécharger l’outil
Fonctionnalité/AspectShellSweepShellSweepPlusShellSweepX
Détection par référenceUtilise des valeurs d'entropie codées en dur pour des extensions de fichier spécifiquesDétection dynamique de référence qui calcule l'entropie à la voléeUtilise une combinaison de détection basée sur l'entropie et de prédiction par apprentissage automatique
Extensions de fichierTraite les fichiers avec les extensions : .asp, .aspx, .asax, .jspx, .html, .ashxTraite les fichiers avec les extensions : .asp, .ashx, .asax, .jspx, .html, .aspxExtensions de fichier configurables via l'API
Calcul d'entropieCalcule l'entropie du contenu du fichier pour détecter les web shells potentielsDétection améliorée basée sur l'entropie, recoupement avec des mots-clés suspectsCalcul d'entropie avancé avec analyse par blocs
Fonction d'exclusionPeut exclure certains répertoires de l'analysePeut exclure certains répertoires de l'analyseExclusions configurables via l'API
Ignorance d'empreinteIgnore les fichiers avec des empreintes spécifiquesIgnore les fichiers avec des empreintes spécifiquesIgnorance d'empreinte configurable via l'API
SortieSi des web shells potentiels sont trouvés, affiche le nom du fichier, la valeur d'entropie et l'empreinte. Sinon, affiche « Aucun mal identifié aujourd'hui. »Si des web shells potentiels sont trouvés, affiche le nom du fichier, la valeur d'entropie, l'empreinte, la date de dernière modification, la méthode de détection et le score de confiance au format JSON. Sinon, affiche « Aucun web shell potentiel détecté. »Sortie JSON détaillée incluant les métadonnées du fichier, l'entropie, les résultats de prédiction et les correspondances YARA
Entropie et écart-typeUtilise les valeurs d'entropieCalcule la moyenne et l'écart-type des valeurs d'entropie pour chaque extension de fichierCalcule à la fois l'entropie et l'écart-type pour une analyse avancée
Détection en mode mixteNon présentUtilise une combinaison de détection basée sur l'entropie, de détection basée sur l'écart-type et de détection en mode mixte (utilisant l'écart-type avec des seuils codés en dur)Combine la détection basée sur l'entropie, la prédiction par apprentissage automatique et la correspondance de règles YARA
Analyse statique de codeNon présentMécanisme de détection basé sur des motifs analysant le code de manière statique pour identifier et signaler les motifs malveillants connusUtilise des règles YARA pour la détection basée sur des motifs
Analyse heuristiqueNon présentIntroduit la fonction Perform-HeuristicAnalysis pour détecter les anomalies basées sur des règles heuristiques, améliorant la détection des web shells zero-dayImplémente une prédiction basée sur l'apprentissage automatique pour l'analyse heuristique
Présentation détaillée des résultatsNon présentPrésente les menaces potentielles dans un format JSON structuré, incluant le chemin du fichier, l'entropie, l'écart-type, l'empreinte, la date de dernière modification, la méthode de détection et le score de confianceFournit des résultats complets incluant toutes les méthodes d'analyse dans un format JSON structuré
Journalisation complèteNon présentIncorpore des commandes Write-Verbose tout au long du script pour une journalisation détaillée et une transparence opérationnelleImplémente une journalisation détaillée dans les composants agent et serveur
Score de confianceNon présentCalcule un score de confiance basé sur la méthode de détection et l'ajuste en fonction de la présence de motifs suspectsUtilise la confiance de prédiction de l'apprentissage automatique et la combine avec d'autres méthodes de détection pour un score complet
Conception modulaireNon présentUtilise des fonctions séparées pour différentes tâches (par exemple, Process-File, Create-ResultObject, Adjust-ConfidenceScore), favorisant la réutilisabilité et la maintenabilité du codeConception hautement modulaire avec des composants séparés pour les fonctions d'agent, de serveur et d'analyse
Prise en charge multiplateformePowerShell uniquementPowerShell uniquementPrend en charge les implémentations PowerShell, Python et Bash
Intégration APINon présentNon présentAPI complète pour la configuration, la soumission des résultats et la gestion
Analyse assistée par IANon présentNon présentIncorpore des capacités de triage et d'analyse basées sur l'IA
Gestion des règles YARANon présentNon présentPermet d'ajouter, mettre à jour et supprimer des règles YARA via l'API
Interface WebNon présentNon présentFournit une interface Web pour la visualisation et l'analyse des résultats