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.

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.