# Automate everything with Shuffle

Let's begin by installing Shuffle on Ubuntu.

```bash
sudo apt update && sudo apt install -y docker.io docker-compose

sudo systemctl enable docker
sudo systemctl start docker

git clone https://github.com/Shuffle/Shuffle.git
cd Shuffle

sudo docker-compose up -d
```

After the installation is complete, access the application by navigating to `http://your-ip:3001` in your web browser.

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2F18W0Y57v7Gvvkdx3TkDM%2FScreenshot(4).png?alt=media&#x26;token=b6018892-af44-4e9c-97df-8ea37c0a6512" alt=""><figcaption></figcaption></figure>

After executing these commands, we will proceed to create an account and log in.

```bash
sudo chown -R 1000:1000 shuffle-database
sudo swapoff -a
sudo docker restart shuffle-opensearch
```

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FKCBP9UeTvgHOAV3kfvWt%2FScreenshot(5).png?alt=media&#x26;token=acbf5bf4-43ef-4b78-a75b-0b9a3f304c61" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FgjSYoVtu9AOVPhf2qtEJ%2FScreenshot(6).png?alt=media&#x26;token=8da35733-b104-4eca-ae0d-e083de6a4a56" alt=""><figcaption></figcaption></figure>

After creating the workflow, you may notice that several applications are missing. To address this, we need to take the following steps.

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2F4XYKHGJ1RHnvHyBMw8Nd%2FScreenshot(14).png?alt=media&#x26;token=1d84ca5d-f0a8-4df7-b277-c889a42e1f1c" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FYoo6aWZ0nVaH59J827r1%2FScreenshot(15).png?alt=media&#x26;token=37d12772-d862-46fc-a96e-cf8c81010e31" alt=""><figcaption></figcaption></figure>

Now, let's proceed with creating a new workflow.

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FjKthl9UgIVtpURbzPiIm%2FScreenshot(16).png?alt=media&#x26;token=dfb2b8c5-3665-4cb0-981f-f5dd74afb8ff" alt=""><figcaption></figcaption></figure>

Next, we need to set up a webhook to receive alerts from the Wazuh dashboard.

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FMr0Gjdu5LQhz4KsuU2Y2%2FScreenshot(17).png?alt=media&#x26;token=3c932b6b-212e-4348-9985-78f8505bf477" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2F8ftMDeGT72eubMD7y9wV%2FScreenshot(19).png?alt=media&#x26;token=6dbe84b1-9a89-45be-b5d0-9a1dc00f83e3" alt=""><figcaption></figcaption></figure>

On the Wazuh server, open the `/var/ossec/etc/ossec.conf` file. Insert the webhook URL within the `<hook_url>` tags.

```bash
sudo nano /var/ossec/etc/ossec.conf
```

```xml
  <integration>
    <name>shuffle</name>
    <hook_url>http://192.168.204.151:3001/api/v1/hooks/webhook_82a81730-b6b5-476f-8eab-225c6b165fda </hook_url>
    <rule_id>100002</rule_id>
    <alert_format>json</alert_format>
  </integration>
```

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2F661IbH79wqLs7SkDoFC1%2FScreenshot(21).png?alt=media&#x26;token=224188d0-6e2b-4936-865d-8ca6445508ce" alt=""><figcaption></figcaption></figure>

Here, I aim to receive alerts for Rule ID **100002**, which we previously configured for Mimikatz detection. You can modify the rule to capture additional alerts based on your requirements or adjust the alert level as needed.

After saving the changes, let's restart the Wazuh manager to apply the new configuration:​

```bash
systemctl restart wazuh-manager
```

Next, let's run Mimikatz again to verify whether the alert generated by Wazuh is successfully sent to Shuffle.

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FJyiLAoWLXyyt4Egx9iJ7%2FScreenshot(24).png?alt=media&#x26;token=6810ced1-2210-465d-aa86-109b0ad30028" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FZNcKdoumQLcxjTWHQOLl%2FScreenshot(23).png?alt=media&#x26;token=00d1b779-e0d5-4acf-b080-8eedc3c677ec" alt=""><figcaption></figcaption></figure>

Now, let's verify whether any alerts have been triggered in the Shuffle workflow.

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FhGMuDx3Gkbg57TlL0Dbl%2FScreenshot(25).png?alt=media&#x26;token=6de9c383-9a8b-4529-8128-eadf0f97b2a4" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FFkoixvfTwwU9czsXmpZK%2FScreenshot(26).png?alt=media&#x26;token=8783498f-e3de-41a3-9009-daa60f5ec4bc" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2F1QKUxs3sNjRZXLIKaqOU%2FScreenshot(27).png?alt=media&#x26;token=59905adc-9eb8-4c32-84dc-c89cbf2cbb14" alt=""><figcaption></figcaption></figure>

#### **Workflow**:

1. **Mimikatz Alert Trigger** – A Mimikatz alert is generated and sent to Shuffle.
2. **Alert Processing in Shuffle** – Shuffle receives the alert and extracts the SHA-256 hash of the detected file.
3. **Reputation Check** – The extracted hash is queried against VirusTotal to assess its reputation score.
4. **Alert Creation in TheHive** – The analysis details are forwarded to TheHive to generate an incident alert.
5. **Notification to SOC Analyst** – A notification is sent to the SOC Analyst through telegram bot, prompting them to initiate an investigation.

Next, we need to obtain the file's hash to verify it on VirusTotal. To do this, let's follow these steps.

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FpGPtc6FP6Q4Mv14kbDme%2FScreenshot(28).png?alt=media&#x26;token=d161a57d-abf3-49ea-945d-35376f55237a" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FJJ9uNZDYZSzkV4piqCiD%2FScreenshot(29).png?alt=media&#x26;token=e50fec93-5475-4205-8ab8-097ef35aa857" alt=""><figcaption></figcaption></figure>

Hover over the **Execution Argument**.

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FbWnoxXxLSJTdKTcPfpka%2FScreenshot(30).png?alt=media&#x26;token=d43f1bd4-abc9-4a01-b6f0-6c3ab8f42bc9" alt=""><figcaption></figcaption></figure>

Next, we need to create a regular expression specifically designed to extract only the SHA-256 hash.

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2Fht0e7zVc3bxwC1HfHNgF%2FScreenshot(32).png?alt=media&#x26;token=646a5715-dae7-4924-a91d-b62a16e9b01a" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2Fb0HDkHbeNBu0tJElGnur%2FScreenshot(33).png?alt=media&#x26;token=d5d63f5b-be93-48ee-93df-7309b937e411" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2F8CJf7HtJg88UajSFDXe9%2FScreenshot(34).png?alt=media&#x26;token=31b51f39-af42-4589-b38d-a0bdd7a683a2" alt=""><figcaption></figcaption></figure>

Let's rename it from **Wazuh\_Receive\_alerts** to **SHA256**.

We now need to submit this SHA-256 hash to VirusTotal for analysis.

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2Fip4q0y6YX5zJWUQnL5yh%2FScreenshot(36).png?alt=media&#x26;token=339cb151-a17b-464b-ad03-99125187aa78" alt=""><figcaption></figcaption></figure>

Please retrieve your API key from your VirusTotal account and enter it here.

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2F187vXumJIrdOD231PEVt%2FScreenshot(37).png?alt=media&#x26;token=e45928b5-1b5d-4fae-8de5-842aac006038" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FtFZOEK0nURm0ALAwmvEj%2FScreenshot(38).png?alt=media&#x26;token=845e39f0-12ca-46aa-9e33-65c0fe5aa1da" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FtRAX1KLY6kWlPytB0298%2FScreenshot(40).png?alt=media&#x26;token=8dffda48-6d42-4e9d-a5e7-6ba35a646778" alt=""><figcaption></figcaption></figure>

Let's run it again.

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FvURUCtrYhkS4AVobFwNE%2FScreenshot(41).png?alt=media&#x26;token=d3bd61c6-11e6-4254-a3c9-31b1fd239bd6" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FLE0hJlmDc3I0BGM8thpk%2FScreenshot(42).png?alt=media&#x26;token=8b6f23ed-f5f9-44fb-8b6c-fd47a5858456" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2Fm3f5yS39jipUI2qFuqne%2FScreenshot(44).png?alt=media&#x26;token=f205873d-59e8-4847-afe4-c791116a8d9a" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FCjpi6sv7jgnIN8cj7OG4%2FScreenshot(45).png?alt=media&#x26;token=d1d27976-1c75-4a9b-828d-8cea34153f01" alt=""><figcaption></figcaption></figure>

Let's check the **attributes**.

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2F7xy1jxF9TQgRAXrlXyqU%2FScreenshot(46).png?alt=media&#x26;token=8f593ecc-6f09-48ee-8ecb-0ad06743d622" alt=""><figcaption></figcaption></figure>

This means that 65 security scanners have identified the file as malicious.

Next, we need to forward the results provided by VirusTotal to TheHive.

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FkmINse42rftPwbfXaHuE%2FScreenshot(47).png?alt=media&#x26;token=f3a666c0-3528-4da5-adda-a0e246153d81" alt=""><figcaption></figcaption></figure>

Let's transition to TheHive and proceed with creating a new organization along with user accounts for it.

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FEl4TF2Irw02lQYb3kW3l%2FScreenshot(48).png?alt=media&#x26;token=97c1a890-2af3-4bba-b6d9-61503982c7dd" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FzZATrCTle2Qt2sd5nr9r%2FScreenshot(49).png?alt=media&#x26;token=35d2b820-aba9-4372-80f3-b2c4ef2a9b0e" alt=""><figcaption></figcaption></figure>

Now, let's create new users.

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FrWyfTgJgc77qldqmgbZO%2FScreenshot(50).png?alt=media&#x26;token=d2f6818e-c9a6-4c51-aaf6-03ece21905b5" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2Fm8XNKjxf6OKJ0MFHALbW%2FScreenshot(51).png?alt=media&#x26;token=f1895ed7-27ef-4303-85ee-9c94315cc8e0" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2F2G8x7BzRkREQdDt3TLYV%2FScreenshot(52).png?alt=media&#x26;token=1ef2f1de-e53a-415f-b9ba-c4c54eb7e67b" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2F5hWLUdZv3CkuUTt6kpLJ%2FScreenshot(53).png?alt=media&#x26;token=2d470350-5c7e-4c31-8222-65d027182402" alt=""><figcaption></figcaption></figure>

Now, we need to set a password for Omar's account and generate an API key for the SOAR account.

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FeVocuKw0Ox576H9lhBSj%2FScreenshot(54).png?alt=media&#x26;token=bf4f86e3-f6c8-4de3-95d5-5c0413d06023" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2Flf8ravSZkY2ougl7eTB1%2FScreenshot(55).png?alt=media&#x26;token=e3044cd9-af14-4a0c-8eb4-a4bf51edb8af" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2F90T9ECnaHxacgpc3UJB4%2FScreenshot(56).png?alt=media&#x26;token=94e4135d-0eee-459e-a7e3-36cd3dba17a5" alt=""><figcaption></figcaption></figure>

Now, we will use this API key to establish a connection with Shuffle.

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FRxKRLXGDFRyWDtMSPBXn%2FScreenshot(57).png?alt=media&#x26;token=bd0b243a-a6fe-4a03-a630-d80dee899c18" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FZWQ3tYS4VKAX5jpT5Kyx%2FScreenshot(58).png?alt=media&#x26;token=a2af5528-f4c5-43fb-9e2c-968f2ea3731f" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2F2sLgXUMWPDBiP8tOSqP2%2FScreenshot(61).png?alt=media&#x26;token=fcc40332-d02f-491a-a328-f3db1012598a" alt=""><figcaption></figcaption></figure>

Certain fields need to be completed.

```json
Summary -> Mimikatz Activity Detected on host: $exec.text.win.system.computer and the Process Id: $exec.text.win.eventdata.processId and the Commandline: $exec.text.win.eventdata.commandLine
Description -> Mimikatz Detected on host:$exec.text.win.system.computer
```

Let's execute the workflow again.

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2Fi11IKLqk3DYeQJiW4GUw%2FScreenshot(64).png?alt=media&#x26;token=81a49dc9-2f60-44b8-a0f3-1a61fe701756" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FS7CEeis0WuOBym9BtzcK%2FScreenshot(65).png?alt=media&#x26;token=bb8f99fd-ee2b-4756-83cb-b910f7a31900" alt=""><figcaption></figcaption></figure>

Next, we need to rerun the process to ensure everything functions correctly.

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FaUl0BBLt3JaEImqCk27l%2FScreenshot(67).png?alt=media&#x26;token=179086d9-b7dd-4b02-8e7e-95b7b792fb63" alt=""><figcaption></figcaption></figure>

Now, let's log in to TheHive using the previously created account, "Omar," to check for any alerts.

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FHfpAazTxngWercLZgeBQ%2FScreenshot(68).png?alt=media&#x26;token=80c99034-a840-4f91-bcd0-82e62b474446" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FrcBRyyOXUb5dhoWff2Xj%2FScreenshot(69).png?alt=media&#x26;token=452af348-34b2-492f-87db-ffcb650b96e6" alt=""><figcaption></figcaption></figure>

The alert has been successfully sent to TheHive. The next step is to notify the analyst via telegram boot.

You can see how to create telegram boot to send alerts via this link: <https://faresbltagy.gitbook.io/footprintinglabs/weinnovate-training/soar/send-alerts-to-email-and-telegram-bot>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FV1bt3gRQtMsSt8SUDZ5j%2FScreenshot(73).png?alt=media&#x26;token=2afdf5e3-362a-4a79-a286-558f3e988c52" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2Fm7gEUtbd6rd4ZlPE7kvF%2FScreenshot(76).png?alt=media&#x26;token=90a3a1a6-d9d5-4155-bdaf-2a78630d4c3b" alt=""><figcaption></figcaption></figure>

```json
Time:$exec.text.win.eventdata.utcTime\n Title: $exec.title\n Host: $exec.text.win.system.computer\n
```

Now, let's rerun the process and verify the functionality of our Telegram bot.

<figure><img src="https://2537271824-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIswWWP3l0rGuQmG2WUcr%2Fuploads%2FbODkgsku2mmnbEKaEqq7%2FScreenshot(78).png?alt=media&#x26;token=13be5b82-8145-42fe-94b9-02ba6a6ec45c" alt=""><figcaption></figcaption></figure>
