> For the complete documentation index, see [llms.txt](https://www.xtormin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.xtormin.com/pentesting-en-aplicaciones-web/general/ataques-y-vulnerabilidades/herramientas-automatizadas.md).

# 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 %}
