
OMIGOD! OM I GOOD? Un scanner gratuit pour détecter les machines virtuelles vulnérables à l'une des vulnérabilités "OMIGOD" découvertes par l'équipe de recherche en menaces de Wiz, plus précisément CVE-2021-38647.
Ce dépôt contient un scanner gratuit pour détecter les VM vulnérables à l'une des vulnérabilités "OMIGOD" découvertes par l'équipe de recherche en menaces de Wiz, plus particulièrement CVE-2021-38647.
Article de blog original de Wiz : https://www.wiz.io/blog/omigod-critical-vulnerabilities-in-omi-azure
Le scanner nécessite des identifiants Azure pour se connecter aux API Azure et, étant donné un abonnement et un groupe de ressources (ou par défaut, il analysera tous ceux disponibles), récupère la liste des VM Linux et indique si la machine pourrait être vulnérable.
Assurez-vous également de consulter l'outil de Microsoft pour cela : https://github.com/microsoft/OMS-Agent-for-Linux/tree/master/tools/OMIcheck
Pour s'authentifier auprès des API Azure, l'authentification via azure cli (par défaut) et par navigateur interactif sont prises en charge, vérifiez le paramètre de ligne de commande --auth.
Il n'existe pas de moyen simple de déterminer si vos machines sont vulnérables à OMI sans exécuter des commandes sur la machine Linux elle-même, ce qui est pris en charge via les API Azure en utilisant la commande RunShellScript via une extension. L'outil de Microsoft (https://github.com/microsoft/OMS-Agent-for-Linux/tree/master/tools/OMIcheck) utilise également cette approche.
Il est à noter que, même si la VM est vulnérable, elle peut ne pas exposer le serveur OMI via HTTP/HTTPS (ce qui est le par défaut) et, même si c'est le cas, ces ports peuvent être bloqués par les groupes de sécurité réseau d'Azure, donc inaccessibles. Ce n'est pas une raison pour éviter les correctifs, mais si vous avez beaucoup de VM Linux vulnérables, il peut être utile de savoir lesquelles sont les plus exposées et de prioriser vos efforts.
omigood suit cette approche plus complète et produira une sortie JSON avec plusieurs vérifications que vous pouvez déclencher via les options de ligne de commande afin de déterminer votre surface d'attaque.
Ces vérifications sont effectuées par omigood :
1.13.40. Vous pouvez consulter le script que nous exécutons ici.-e.-r. Utilisez-la à vos risques et périls !/usr/bin/id. Cette vérification est facultative car elle implique d'essayer d'exploiter la VM. Activez-la avec l'option de ligne de commande -a. Utilisez-la uniquement sur des cibles que vous êtes autorisé à tester. Utilisez-la à vos risques et périls !Le fichier de sortie JSON généré contient toutes les informations sur les VM scannées : ID, système d'exploitation, groupes de sécurité réseau, état d'alimentation, etc.
Les indicateurs ('YES'/'NO') pertinents pour les vérifications sont :
YES si l'extension OMS Agent est trouvée sur la VM.YES si la version de l'extension OMS Agent est inférieure à 1.13.40.YES si les règles du groupe de sécurité réseau semblent permettre les connexions aux ports OMI.YES si les règles de sécurité effectives semblent permettre les connexions aux ports OMI. Uniquement avec l'option de ligne de commande -e.YES si la version du serveur OMI a été récupérée via script et déterminée comme inférieure à 1.6.8-1. Uniquement avec l'option de ligne de commande -r.YES si l'état du serveur OMI a été récupéré via script et déterminé comme écoutant sur TCP et non seulement sur les sockets UNIX. Uniquement avec l'option de ligne de commande -r.usage: omigood_scanner.py [-h] [-v] [--auth {azurecli,interactivebrowser}] [-r] [-a] [-e] [-s SUBSCRIPTIONS]
[-g RESOURCEGROUPS] [-m VMS] -o OUTPUT
OMIGood scanner for CVE-2021-38647
optional arguments:
-h, --help show this help message and exit
-v, --verbose [OPTIONAL] Verbose mode: Displays additional debug details.
--auth {azurecli,interactivebrowser}
Authentication mode. Default: azurecli.
-r, --runscript [OPTIONAL] Run Script. Runs bash script on target VMs to check for OMI server, agent and
version. Disabled by default. Use at your own risk.
-a, --attack [OPTIONAL] Try to attack the host. Disabled by default. Use at your own risk.
-e, --effective [OPTIONAL] Check Effective Security Rules. Disabled by default. Requires higher permissions on
Azure.
-s SUBSCRIPTIONS, --subscriptions SUBSCRIPTIONS
[OPTIONAL] Comma separate list of subscriptions IDs. If not specified, it will try all.
-g RESOURCEGROUPS, --resourcegroups RESOURCEGROUPS
[OPTIONAL] Comma separated list of Resource Group names. If not specified, it will try all. If
specified, it will work only with a single subscription provided.
-m VMS, --vms VMS [OPTIONAL] Comma separated list of VM names. If not specified, it will try all. If specified,
it will work only with a single subscription and a single resource group provided.
-o OUTPUT, --output OUTPUT
JSON output file with results.
Les logiciels et exemples de code disponibles dans ce dépôt sont fournis "en l'état" sans garantie d'aucune sorte, explicite ou implicite. Utilisez-les à vos risques et périls.
YES-r