
Exploit completo para D-Link DCS-5020L, POC de crash para outros que também são vulneráveis.
A exploração existe no servidor dos dispositivos, alphapd, ao processar wireless.htm
antes de exibi-lo ao usuário. Se WEPEncryption for fornecido na
URL, isso leva a um estouro de buffer se o valor for maior que 0x28 bytes. Uma
URL da forma:
http://IP_ADDRESS/wireless.htm?WEPEncryption=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBB
exercitará a exploração e começará a executar em 0x42424242.
Nota: A exploração requer credenciais para ser bem-sucedida. As credenciais padrão são admin com senha em branco.
Exploit completo que aproveita um estouro de buffer no servidor alphapd para executar um comando arbitrário no dispositivo. Foi testado no DCS-5020L com todas as versões disponíveis do firmware, bem como com o firmware mais recente do DCS-930L. Mais dispositivos e versões podem ser adicionados lendo os comentários no arquivo overflow. Posso adicionar mais dispositivos e versões conforme o tempo permitir, mas não é uma prioridade alta. O commit inicial deste projeto tem alguns exemplos mais simples em Python2.
Abaixo está a lista de dispositivos afetados por este exploit. Todas as versões do firmware estão atualmente vulneráveis.
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 projeto é escrito em Python 3 e não será executado sob Python 2.
python3 exploit.py -i 192.168.0.100 -P 80 -u admin -p ""
Vídeo - https://www.youtube.com/watch?v=ijcbkY3dtso Vá para 13:15 para ouvir sobre o exploit em si.
Blog em 4 Partes