
Exploit completo para D-Link DCS-5020L, POC de crash para otros que también son vulnerables.
El exploit existe en el servidor de los dispositivos, alphapd, al procesar wireless.htm
antes de mostrarlo al usuario. Si se proporciona WEPEncryption en la
URL, esto provoca un desbordamiento de búfer si el valor tiene más de 0x28 bytes. Una
URL de la forma:
http://IP_ADDRESS/wireless.htm?WEPEncryption=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBB
ejercitará el exploit y comenzará la ejecución en 0x42424242.
Nota: El exploit requiere credenciales para tener éxito. Las credenciales predeterminadas son admin con una contraseña en blanco.
Exploit completo que aprovecha un desbordamiento de búfer en el servidor alphapd para ejecutar un comando arbitrario en el dispositivo. Ha sido probado en el DCS-5020L con todas las versiones disponibles del firmware, así como con el firmware más reciente del DCS-930L. Se pueden añadir más dispositivos y versiones leyendo los comentarios en el archivo overflow. Puede que añada más dispositivos y versiones según el tiempo lo permita, pero no es una prioridad alta. El commit inicial de este proyecto tiene algunos ejemplos más simples en Python2.
A continuación se muestra la lista de dispositivos afectados por este exploit. Todas las versiones del firmware son actualmente vulnerables.
DCS-930L
DCS-931L
DCS-932L
DCS-933L
DCS-934L
DCS-5009L
DCS-5010L
DCS-5020L
DCS-5025L
DCS-5030L
https://www.shodan.io/search?query=Server%3A+alphapd
Este proyecto está escrito en Python 3 y no se ejecutará en Python 2.
python3 exploit.py -i 192.168.0.100 -P 80 -u admin -p ""
Vídeo - https://www.youtube.com/watch?v=ijcbkY3dtso Salta al minuto 13:15 para escuchar sobre el exploit real.
Blog de 4 partes