
Scanner automatizado para a vulnerabilidade de upload de arquivo não autenticado CVE-2019-12102 no Kentico CMS. Verifica domínios, valida com parâmetro hash e exibe alvos potencialmente e confirmadamente vulneráveis.
O Scanner CVE-2019-12102 é uma ferramenta automatizada para varrer a vulnerabilidade de Upload de Arquivo Não Autenticado / Exposição de Arquivo no Kentico CMS versões 11 a 12. Essa vulnerabilidade é causada por um controle de acesso inadequado no endpoint /cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx. A ferramenta verifica se um domínio é vulnerável, analisando a resposta do endpoint e salva os resultados em arquivos separados para domínios Potencialmente Vulneráveis e Confirmados como Vulneráveis.
A vulnerabilidade CVE-2019-12102 permite que atacantes:
O endpoint vulnerável (/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx) pode ser acessado sem autenticação se o parâmetro hash não for validado corretamente. Se a URL redirecionar para /CMSMessages/accessdenied.aspx?resstring=dialogs.missinghashtext&hash=, o domínio é considerado vulnerável.
Ctrl+C).requests, coloramaClone este repositório:
git clone https://github.com/Egi08/CVE-2019-12102-Scanner.git
cd CVE-2019-12102-Scanner
Instale as dependências:
pip install -r requirements.txt
(Se o arquivo requirements.txt não existir, crie-o com o seguinte conteúdo):
requests
colorama
Prepare um arquivo de entrada (domains.txt) contendo uma lista de domínios, um domínio por linha. Exemplo:
example.com
another-example.com
vulnerable-site.com
python cve_2019_12102_scanner.py -l <arquivo_entrada> -p <arquivo_saida_potencial> -c <arquivo_saida_confirmado>
-l, --list: Caminho para o arquivo contendo a lista de domínios (obrigatório).-p, --potentially: Arquivo de saída para domínios Potencialmente Vulneráveis (opcional, padrão: potentially_vulnerable.txt).-c, --confirmed: Arquivo de saída para domínios Confirmados como Vulneráveis (opcional, padrão: confirmed_vulnerable.txt).python cve_2019_12102_scanner.py -l domains.txt -p potentially_vulnerable.txt -c confirmed_vulnerable.txt
[*] Iniciando scanner de vulnerabilidade para CVE-2019-12102...
[*] Verificando: http://example.com
[-] Não Vulnerável: http://example.com/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx
[*] Verificando: http://vulnerable-site.com
[+] Potencialmente Vulnerável: http://vulnerable-site.com/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx
[+] Confirmado como Vulnerável: http://vulnerable-site.com/CMSMessages/accessdenied.aspx?resstring=dialogs.missinghashtext&hash=13b203251094c6c51e1f7974b22e84538003b9c23754bc7b24a19891e6d476bf
[+] Resultados salvos:
Domínios potencialmente vulneráveis salvos em potentially_vulnerable.txt
Domínios confirmados como vulneráveis salvos em confirmed_vulnerable.txt
potentially_vulnerable.txt)http://vulnerable-site.com/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx
confirmed_vulnerable.txt)http://vulnerable-site.com/CMSMessages/accessdenied.aspx?resstring=dialogs.missinghashtext&hash=13b203251094c6c51e1f7974b22e84538003b9c23754bc7b24a19891e6d476bf
Teste Ético:
Timeout:
requests.get:
response = requests.get(full_url, timeout=20) # Timeout de 20 segundos
Tratamento de Erros:
Salvamento Seguro:
Ctrl+C).Parâmetro Hash:
test_hash atualmente usa o hash de exemplo (13b203251094c6c51e1f7974b22e84538003b9c23754bc7b24a19891e6d476bf). Ajuste-o se necessário.Contribuições são bem-vindas! Se você deseja contribuir, por favor:
git checkout -b feature/nome-da-sua-funcionalidade
git commit -m "Adicione suas alterações aqui"
git push origin feature/nome-da-sua-funcionalidade
Este projeto está licenciado sob a Licença MIT. Consulte o arquivo LICENSE para mais detalhes.
Com esta documentação, você pode facilmente fazer upload do script para o GitHub e fornecer instruções claras para outros utilizarem a ferramenta.