Script Zone Transfer

Explorando a Transferência de Zona com Script Vamos entender e criar um script para explorar a transferência de zona DNS de forma automática. O objetivo é tentar realizar uma transferência de zona em todos os servidores de nome (NS) disponíveis de um domínio específico. Esse tipo de teste é realizado apenas em ambientes de pentest com autorização explícita. Explicando a Transferência de Zona A transferência de zona acontece quando o servidor DNS primário copia as informações do domínio para o servidor secundário. Em um teste de penetração, podemos explorar isso para tentar obter uma lista completa de registros DNS, incluindo IPs, subdomínios e outros dados relevantes, se o servidor DNS não estiver devidamente configurado. Como Forçar uma Transferência de Zona Para tentar uma transferência de zona, usamos a ferramenta host no terminal. O comando a seguir busca os servidores NS (Name Servers) de um domínio: host -t ns seusite.com.br Uma vez que temos a lista de servidores NS, podemos tentar forçar a transferência de zona com o comando: host -l -a seusite.com.br ns1.seusite.com.br No entanto, como um domínio pode ter mais de um servidor NS, é interessante percorrer todos eles. Criando um Script para Automação Vamos criar um script simples em Bash que tenta a transferência de zona em todos os servidores NS de um domínio. Passo 1: Criar o Script dnszone.sh Abra o editor de texto (como o nano) e crie o script dnszone.sh: nano dnszone.sh Dentro do editor, escreva o seguinte código: #!/bin/bash # Script para tentar a transferência de zona DNS em todos os servidores NS de um domínio # Verifica se o domínio foi passado como argumento if [ -z "$1" ]; then echo "Uso: $0 " exit 1 fi # Itera sobre todos os servidores NS do domínio for server in $(host -t ns $1 | cut -d " " -f 4); do echo "Tentando transferência de zona no servidor: $server" host -l -a $1 $server done Passo 2: Dar Permissão de Execução ao Script Após salvar o script, é necessário dar permissão de execução: chmod +x dnszone.sh Passo 3: Executar o Script Agora, basta executar o script passando o domínio como argumento: ./dnszone.sh seusite.com.br O que o Script Faz? O script recebe como argumento o nome do domínio (ex: seusite.com.br). Ele coleta a lista de servidores NS (Name Servers) usando o comando host -t ns. Para cada servidor NS encontrado, o script tenta uma transferência de zona usando host -l -a. A saída exibe o resultado, mostrando se a transferência de zona foi bem-sucedida ou não. Exemplo de Execução Ao rodar o script, ele exibirá algo como: Tentando transferência de zona no servidor: ns1.seusite.com.br Host ns1.seusite.com.br not found: 9(NOTAUTH) Tentando transferência de zona no servidor: ns2.seusite.com.br Host ns2.seusite.com.br not found: 9(NOTAUTH) Isso significa que os servidores NS não permitiram a transferência de zona, o que é o comportamento esperado em um servidor bem configurado.

Mar 24, 2025 - 13:38
 0
Script Zone Transfer

Image description

Explorando a Transferência de Zona com Script

Vamos entender e criar um script para explorar a transferência de zona DNS de forma automática. O objetivo é tentar realizar uma transferência de zona em todos os servidores de nome (NS) disponíveis de um domínio específico. Esse tipo de teste é realizado apenas em ambientes de pentest com autorização explícita.

Explicando a Transferência de Zona

A transferência de zona acontece quando o servidor DNS primário copia as informações do domínio para o servidor secundário. Em um teste de penetração, podemos explorar isso para tentar obter uma lista completa de registros DNS, incluindo IPs, subdomínios e outros dados relevantes, se o servidor DNS não estiver devidamente configurado.

Como Forçar uma Transferência de Zona

Para tentar uma transferência de zona, usamos a ferramenta host no terminal. O comando a seguir busca os servidores NS (Name Servers) de um domínio:

host -t ns seusite.com.br

Uma vez que temos a lista de servidores NS, podemos tentar forçar a transferência de zona com o comando:

host -l -a seusite.com.br ns1.seusite.com.br

No entanto, como um domínio pode ter mais de um servidor NS, é interessante percorrer todos eles.

Criando um Script para Automação

Vamos criar um script simples em Bash que tenta a transferência de zona em todos os servidores NS de um domínio.

Passo 1: Criar o Script dnszone.sh

Abra o editor de texto (como o nano) e crie o script dnszone.sh:

nano dnszone.sh

Dentro do editor, escreva o seguinte código:

#!/bin/bash
# Script para tentar a transferência de zona DNS em todos os servidores NS de um domínio

# Verifica se o domínio foi passado como argumento
if [ -z "$1" ]; then
  echo "Uso: $0 "
  exit 1
fi

# Itera sobre todos os servidores NS do domínio
for server in $(host -t ns $1 | cut -d " " -f 4); do
  echo "Tentando transferência de zona no servidor: $server"
  host -l -a $1 $server
done

Passo 2: Dar Permissão de Execução ao Script

Após salvar o script, é necessário dar permissão de execução:

chmod +x dnszone.sh

Passo 3: Executar o Script

Agora, basta executar o script passando o domínio como argumento:

./dnszone.sh seusite.com.br

O que o Script Faz?

  1. O script recebe como argumento o nome do domínio (ex: seusite.com.br).
  2. Ele coleta a lista de servidores NS (Name Servers) usando o comando host -t ns.
  3. Para cada servidor NS encontrado, o script tenta uma transferência de zona usando host -l -a.
  4. A saída exibe o resultado, mostrando se a transferência de zona foi bem-sucedida ou não.

Exemplo de Execução

Ao rodar o script, ele exibirá algo como:

Tentando transferência de zona no servidor: ns1.seusite.com.br
Host ns1.seusite.com.br not found: 9(NOTAUTH)
Tentando transferência de zona no servidor: ns2.seusite.com.br
Host ns2.seusite.com.br not found: 9(NOTAUTH)

Isso significa que os servidores NS não permitiram a transferência de zona, o que é o comportamento esperado em um servidor bem configurado.