> For the complete documentation index, see [llms.txt](https://securitylayer.gitbook.io/securitylayer/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://securitylayer.gitbook.io/securitylayer/pentesting-tools/tools/dig.md).

# Dig

*Ver maquinas:* [***Baby (HTB)***](/securitylayer/maquinas-y-modulos-de-htb/windows-easy/baby.md)

*Dig es una herramienta de línea de comandos que se utiliza para realizar consultas a los servidores de nombres y obtener respuestas sobre registros específicos (como IPs, servidores de correo, alias, etc.).*

*A diferencia de comandos más simples como `nslookup`, `dig` es el estándar en ciberseguridad porque:*

* *Muestra la respuesta cruda del servidor (incluyendo flags de control).*
* *Permite especificar exactamente a qué servidor quieres preguntarle (usando el símbolo `@`).*
* *Es extremadamente flexible para pedir tipos de registros específicos (A, MX, TXT, ANY, AXFR).*

*Entender los registros DNS es como conocer las diferentes secciones de una guía telefónica técnica.*

#### ***Tipos de Registros DNS y su uso con\*\*\*\* \*\*\*\*`dig`***

| **Registro**       | **Descripción**                                                                                                                     | **Comando**                      |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- |
| A (Address)        | El más básico. Mapea un nombre de dominio a su dirección IPv4.                                                                      | `dig baby.vl A`                  |
| MX (Mail Exchange) | Indica qué servidores se encargan de recibir los correos electrónicos del dominio.                                                  | `dig baby.vl MX`                 |
| TXT (Text)         | Contiene información de texto para fuentes externas. Se usa mucho para validaciones de seguridad (SPF, DKIM) o verificar propiedad. | `dig baby.vl TXT`                |
| ANY                | No es un registro en sí, sino una consulta que pide todos los registros que el servidor esté dispuesto a soltar de una vez.         | `dig baby.vl ANY`                |
| AXFR               | Es el comando para una Transferencia de Zona. Solicita la base de datos completa del dominio al servidor.                           | `dig @10.129.4.226 baby.vl AXFR` |

#### ***¿Qué es una Transferencia de Zona (AXFR)?***

*La transferencia de zona es un protocolo (usando el tipo de consulta `AXFR`) diseñado para que los servidores DNS repliquen su información. Imagina que una empresa tiene un servidor DNS principal y uno secundario; el secundario necesita una copia exacta de toda la "agenda de contactos" del dominio para poder funcionar si el principal falla.*

*¿Por qué nos interesa en un CTF? Si un servidor está mal configurado y permite que cualquiera solicite una transferencia de zona, el servidor nos entregará absolutamente todos los registros de ese dominio.*

* *Sin AXFR: hay que adivinar nombres (ej. `dev.baby.vl`, `vpn.baby.vl`).*
* *Con AXFR: El servidor nos regala una lista completa de cada subdominio, servidor y dirección IP interna. Es como pasar de estar a oscuras con una linterna a encender todas las luces del edificio.*

Si falla `axfr` podemos usar `dnsenum` para Brute Force & Enumeration

{% code expandable="true" %}

```vimscript
dnsenum -r --dnsserver 10.10.11.51 --enum -p 0 -s 0 -f /usr/share/wordlists/seclists/Discovery/DNS/subdomains-top1million-110000.txt sequel.htb
```

{% endcode %}


---

# 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 dynamically by asking a question.

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

```
GET https://securitylayer.gitbook.io/securitylayer/pentesting-tools/tools/dig.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.
