
Déterminez si votre environnement de calcul est réellement vulnérable à une vulnérabilité spécifique en tenant compte de tous les facteurs qui affectent l'exploitabilité *réelle* (exécution, configuration, permissions, existence d'une atténuation, OS, etc..)
Auteur : 2022 - Aujourd'hui, Rezilion
Description : Validation des vulnérabilités
Développement : Janvier 2022 - Aujourd'hui
Documentation : Voir le site web, README
‘Am I Exploitable ?’ est un projet open source en Python qui répond au besoin de valider si votre système est exploitable face à des vulnérabilités spécifiques. Le projet peut vous aider à comprendre si vous êtes exploitable face à une vulnérabilité donnée et vous expliquer quel est le composant vulnérable ou non vulnérable dans votre système. Le projet peut créer un graphe qui présente le flux de validation en fonction des vérifications de vulnérabilités que nous effectuons. MI-X prend en charge une sortie lisible par machine. Les résultats peuvent être exportés dans trois formats de fichiers différents : json, csv et text. Après l’exécution de l’outil, vous verrez le flux de validation – il affichera quelles vérifications ont été effectuées sur l’hôte/le conteneur, suivies des recommandations de remédiation et d’atténuation. Nous souhaitons créer une communauté de chercheurs et de programmeurs capables d’ajouter des vérifications de vulnérabilités pour de nouvelles vulnérabilités ou pour des vulnérabilités critiques ou célèbres. Dès qu’une nouvelle vulnérabilité apparaît, nous pouvons proposer ce service qui aide les personnes à valider si elles sont exploitables ou non. De plus, les vérifications de vulnérabilités écrites jusqu’à présent peuvent être enrichies avec certaines vérifications que nous aurions pu manquer.
Un exemple de graphe de flux pour CVE-2021-4034 (alias PwnKit) :
Chacun est libre d’utiliser « Am I Exploitable ? » selon les conditions de la licence AGPL-3.0 (voir le fichier LICENSE).
am_i_exploitable.py - Le fichier principal qui gère les entrées utilisateur et les appels aux CVEs.cves - Paquet Python contenant un fichier Python pour chaque vulnérabilité actuellement prise en charge.modules - Paquet Python contenant des modules.
Les modules sont des implémentations de code utilisées dans différents fichiers CVE.L’outil prend en charge les distributions Linux suivantes :
Ubuntu, Debian, Red Hat, Centos, Fedora, SUSE, SLES, Amazon
Prise en charge partielle d’Alpine
Prise en charge partielle de Windows
Avant d’installer MI-X, assurez-vous que votre machine dispose des éléments suivants :
openjdk10)Pour installer les prérequis :
Vérifiez votre distribution OS à l’aide de la commande suivante :
cat /etc/os-release
Identifiez le gestionnaire de paquets utilisé par votre distribution OS :
apt - Ubuntu, Debian
yum - Red Hat, CentOS, Fedora, SUSE, SLES, Amazon
apk - Alpine
Installez les paquets pertinents à l’aide du gestionnaire de paquets de votre distribution OS
Pour exécuter MI-X correctement, vous devez installer graphviz et le module Python packaging à l’aide de pip :
pip install -r requirements.txt
Les tout derniers développements sont disponibles via git.
git clone https://github.com/Rezilion/mi-x.git
cd mi-x && python3 am_i_exploitable.py
Commande modèle d’analyse
python3 am_i_exploitable.py -v cve_yyyy_xxxx -c True -g True -f json
Analysez la machine exécutant des conteneurs à la recherche de log4shell.
python3 am_i_exploitable.py -v log4shell -c True -f json

Spécifie la vulnérabilité qui sera vérifiée (non défini par défaut).
Syntaxe :
Si l’argument n’est pas défini, un message de menu apparaîtra présentant les vulnérabilités actuellement prises en charge.
Analyse tous les conteneurs en cours d’exécution sur l’hôte (False par défaut).
Analyse des conteneurs spécifiques sur l’hôte en saisissant les noms des conteneurs en cours d’exécution séparés par des espaces (non défini par défaut).
Exporte les résultats dans l’un des trois formats de sortie possibles : json, csv, text
Spécifie s’il faut afficher la description de la vulnérabilité ou non (True par défaut).
Spécifie s’il faut afficher l’organigramme de validation (False par défaut).
Aide pour comprendre comment exécuter le code
Vous avez trouvé un problème ou une excellente idée ? Faites-le-nous savoir :
Les contributions sont appréciées et peuvent être effectuées via GitHub.
Voir CONTRIBUTING.md pour plus d’informations sur la façon de les soumettre.
« Am I Exploitable ? » est testé sur Windows et sur les systèmes d’exploitation Linux les plus courants. La documentation (README) et les informations de débogage (définissez le paramètre de débogage sur « True ») devraient couvrir la plupart des questions et problèmes.
Les bogues peuvent être signalés via GitHub ou en envoyant un e-mail à l’adresse ci-dessus.
Merci à la communauté d’utiliser et de soutenir les logiciels open source.
Les nombreux commentaires, bogues/correctifs et questions sont la clé du succès et de la motivation continue pour développer des outils comme celui-ci.