# Herramientas automatizadas

La automatización es clave para agilizar la identificación de vulnerabilidades, aumentar la eficacia de las pruebas y ahorrar tiempo en la ejecución de las pruebas de seguridad que se quieran realizar.

De esta forma, es posible automatizar todas las pruebas posibles y poder dedicar mayor tiempo a pruebas que inicialmente solo es posible identificarlas de forma manual.

En esta sección, se detallarán algunas herramientas que permiten realizar pruebas de seguridad de forma automatizada.

## Gbounty

**gbounty** es una herramienta desarrollada por **BountySecurity** que permite la búsqueda automatizada de vulnerabilidades.

{% @github-files/github-code-block url="<https://github.com/BountySecurity/gbounty>" %}

```bash
go install -v github.com/BountySecurity/gbounty/cmd/gbounty@main
```

### Establecer objetivo/s

<table><thead><tr><th width="193">Acción</th><th width="638">Comando</th></tr></thead><tbody><tr><td>Una URL como objetivo</td><td><pre class="language-bash"><code class="lang-bash">gbounty -u https://example.com
</code></pre></td></tr><tr><td>Múltiples URL objetivo vía TXT</td><td><pre class="language-bash"><code class="lang-bash">gbounty -uf scope/urls.txt
</code></pre></td></tr><tr><td></td><td><pre><code>gbounty -rf requests.zip
</code></pre></td></tr><tr><td></td><td><pre><code>gbounty -rr request1.txt -rr request2.txt
</code></pre></td></tr></tbody></table>

```
gbounty -rr request1.txt -rr request2.txt
```

### Perfiles de escaneo

Enumerar tags de plantillas disponibles:

```
gbounty --print-tags -p /tools/gbounty-profiles
```

Esta lista de tags se puede incluir en el escáner según las pruebas que se quieran realizar, si no se quieren realizar todas, se puede añadir la lista de las que se deseen. Por ejemplo, se podría extraer los tags mostrados en el comando anterior y usar alguna IA para convertirlo al formato necesario en la herramienta:

{% code overflow="wrap" %}

```
Convierte la siguiente lista de palabras clave en una cadena de texto donde cada elemento esté en el formato -t "tag", separados por espacios: Blind XSS, Blind XXE, CORS, CVEs, Fuzzing Files, GraphQL, Open Redirect, Path_Traversal, RCE, SQLi, SQLi_BlindHost, SQLi_ContentLength, SQLi_StatusCode, SQLi_TimeBased, SSRF, SSTI, WordPress, X-Headers-BlindHost, XSS, XXE.
```

{% endcode %}

Ejemplos:

{% code overflow="wrap" %}

```bash
-t "Blind XSS" -t "XSS"

-t "Blind XXE" -t "XXE"

-t "SQLi" -t "SQLi_BlindHost" -t "SQLi_ContentLength" -t "SQLi_StatusCode" -t "SQLi_TimeBased"

-t "CVEs" -t "RCE" -t "SSRF" -t "SSTI"

-t "CORS" -t "Fuzzing Files" -t "GraphQL" -t "Open Redirect" -t "Path_Traversal"  -t "WordPress" -t "X-Headers-BlindHost"

-t "Blind XSS" -t "Blind XXE" -t "CORS" -t "CVEs" -t "Fuzzing Files" -t "GraphQL" -t "Open Redirect" -t "Path_Traversal" -t "RCE" -t "SQLi" -t "SQLi_BlindHost" -t "SQLi_ContentLength" -t "SQLi_StatusCode" -t "SQLi_TimeBased" -t "SSRF" -t "SSTI" -t "WordPress" -t "X-Headers-BlindHost" -t "XSS" -t "XXE"
```

{% endcode %}

Descargar plantillas de escaneo:

```
cd /tools
git clone https://github.com/BountySecurity/gbounty-profiles.git
```

Crear perfiles:

<https://github.com/BountySecurity/GBountyProfilesDesigner.git>

```
java -jar gbountyprofilesdesigner.jar
```

Se abrirá el programa donde se pueden crear los perfiles. Para más detalles:

<https://gbounty.bountysecurity.ai/gbounty-profiles-designer>

### Opciones generales

<table><thead><tr><th width="194">Acción</th><th>Comando</th></tr></thead><tbody><tr><td><strong>Añadir una cabecera a las peticiones realizadas</strong></td><td><pre class="language-bash" data-overflow="wrap"><code class="lang-bash">gbounty -u https://example.com -H "X-HackerOne-Research: xtormin"
</code></pre></td></tr><tr><td><strong>Incluir todas las peticiones y respuestas</strong></td><td><pre class="language-bash" data-overflow="wrap"><code class="lang-bash">gbounty -u https://example.com -a 
</code></pre></td></tr><tr><td><strong>Guardar el output en formato JSON</strong></td><td><pre class="language-bash" data-overflow="wrap"><code class="lang-bash">gbounty -u https://example.com -o "gbounty/output_$(date +'%Y%m%d_%H-%M-%S').json" -j
</code></pre></td></tr><tr><td><strong>Concurrencia</strong></td><td><pre class="language-bash" data-overflow="wrap"><code class="lang-bash">gbounty -uf scope/urls_burp.txt -c 5
</code></pre></td></tr><tr><td><strong>Perfiles de escaneo</strong></td><td><pre class="language-bash" data-overflow="wrap"><code class="lang-bash">gbounty -uf scope/urls_burp.txt -p /tools/gbounty-profiles
</code></pre></td></tr><tr><td><strong>Establecer sesión del escáner</strong></td><td><pre class="language-bash" data-overflow="wrap"><code class="lang-bash">-sos # Si se para el escáner (ej: Ctrl+C), se crea un ID que luego puede ser usado con el parámetro --from para continuar el escáner
</code></pre></td></tr><tr><td><strong>Retomar escáner</strong></td><td><pre class="language-bash"><code class="lang-bash">--from
</code></pre></td></tr></tbody></table>

### Ejemplos de comandos

```
--from
```

{% code overflow="wrap" %}

```bash
gbounty -uf scope/urls_burp.txt -H "X-HackerOne-Research: xtormin" -a -o "gbounty/output_$(date +'%Y-%m-%d_%H-%M-%S').json" -j -c 5 -p /tools/gbounty-profiles
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.xtormin.com/pentesting-en-aplicaciones-web/general/ataques-y-vulnerabilidades/herramientas-automatizadas.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
