COMO MUDAR MAC ADDRESS WINDOWS VIA REGISTRO DO WINDOWS XP

29/11/2009 0 Comments

Placas de Rede
Como mudar o MAC Address

[Índice do Site] [Comentários sobre esta página devem ser feitos neste post do blog]

Neste texto, quando eu falar “MAC” estou me referindo a “endereço MAC” (MAC Address).

O método abordado aqui costuma ser chamado de “MAC spoofing”.

Este texto aborda a mudança do MAC de placas de rede em computadores rodando Windows XP. A mudança do MAC em aparelhos como modems e roteadores não pode ser feita por este processo. Por sorte, muitos modems e roteadores tem seu próprio método de escolha do MAC.

Por que mudar o MAC?

Existem motivos maliciosos para isso (um monte deles), mas também existem motivos legítimos. No meu caso, precisei estudar o assunto quando instalei internet via rádio na minha casa e descobri que o acesso estava amarrado ao MAC da placa de rede fornecida pelo provedor. Isso é feito para dificultar o acesso não autorizado à rede sem fio, mas eu não gosto da idéia de ficar dependendo de uma peça de hardware que eu não posso trocar para fazer diagnóstico.

Nota: No mundo Windows, apenas depois do Windows 2000 isso passou a ser possível (e fácil) porque o sistema operacional veio com suporte a isso. Todo mundo que aprendeu como funcionam as redes Windows antes de 2000 e não se atualizou continua achando que mudar o MAC sem um “hack” eletrônico seja impossível, porque era mesmo.

Nota: Eu testei o método também no Windows Vista Starter Edition e aparentemente funcionou. Os locais no Registro são encontrados da mesma maneira e o MAC aparece alterado. Mas como eu só uso o Vista em testes, meu tutorial só aborda o XP. Em tese, o método também funciona no Windows 2000 e 2003, mas não tenho tempo para comprovar isso agora.

A mudança não é permanente. Você apenas informa ao XP para usar outro MAC ao construir os pacotes de dados. Se você formatar o HDD ou retirar a placa e colocar em outra máquina, o MAC original volta a valer.

Toda placa de rede tem um MAC único. Em teoria não deveriam existir duas placas no mundo com o mesmo MAC. Isso é garantido em parte porque os três primeiros bytes do MAC são únicos para cada fabricante. E como tentar usar duas placas com o mesmo MAC numa mesma rede pode criar uns problemas enlouquecedores, um fabricante não tem nenhum interesse em deixar que isso aconteça com os seus produtos. O MAC é gravado em uma memória EEPROM em todas as placas de rede, desde as pré-“plug and play” até hoje.

As fotos abaixo destacam a memória EEPROM em dois modelos de placas WIFI:

Com o conhecimento e o equipamento é possível mudar o endereço MAC gravado na EEPROM, mas em um PC rodando o Windows XP você não precisa ter esse trabalho todo.

Nesta página eu abordo três métodos:

Como obter o MAC em uso

O modo mais óbvio é procurando pela etiqueta na própria placa, mas se a a placa não tiver etiqueta ou já estiver instalada, sempre tem um jeito.

Estando no PC

Estando em outro PC na mesma sub-rede

Você só precisa saber o IP da máquina em questão. Abra um prompt de comando e dê os seguintes comandos:

ping endereçoIP

arp -a endereçoIP

Só funciona se o endereço responder ao PING

Por exemplo, como o endereço IP do exemplo acima é 192.168.0.121, basta fazer isso em outra máquina:

Nota: “arp -a” não vai buscar o endereço MAC na rede. O endereço foi obtido quando demos o PING e está no cache, por isso se você executar esses comandos em uma máquina “A” para obter o MAC da máquina “B” e em seguida mudar o MAC da máquina “B”, se testar com “arp -a” de novo, o MAC antigo será retornado. É preciso usar PING novamente para atualizar o endereço.

O método manual

Para mudar o MAC no XP você precisa identificar exatamente o adaptador de rede cujo MAC você quer mudar. Isso é simples em um computador “simples” com uma única conexão de rede, mas se você já tiver instalado ou mesmo testado adaptadores Bluetooth, Vmware, outras placas de rede, etc, o registro vai estar apinhado de referências a adaptadores de rede. Você precisa ser capaz de encontrar o correto.

O modo mais “direto” é se você souber exatamente qual o “nome da conexão”.

Nota: o nome dado a uma conexão é único. Você também pode procurar pelo nome do driver, mas esse método pode levar a “falsos positivos”, porque se por exemplo você tem (ou mesmo teve) duas placas de rede iguais no PC vão existir duas referências ao mesmo driver no registro e você pode escolher a errada. O mesmo pode ocorrer se você tirar a placa de rede de um slot PCI e colocar em outro. Se sua placa de rede tiver “passeado” por todos os slots de sua placa mãe, vai existir uma referência no registro para cada slot, sem meios simples de descobrir qual a referência ativa.

Na imagem ao lado, meu adaptador de rede está configurado para exibir o status quando conectado (o default do XP é exibir apenas em caso de problemas) e basta mover o mouse sobre o ícone para ver o nome da conexão. No meu caso é “Rede 100 Mbps” porque eu dei esse nome, mas na maior parte dos casos vai ser “Conexão Local”

Alternativamente, abrindo “Conexões de Rede” no Painel de Controle você vai ver uma lista parcial das conexões. No meu caso, como cada uma tem um nome descritivo, é fácil identificar a correta.

Alguns drivers já tem suporte à mudança

A imagem abaixo mostra dois caminhos possíveis para chegar ao local onde é possível configurar o MAC

No exemplo acima, a opção não existe. Quando a opção existe se parece mais ou menos com isso:

No caso acima, basta inserir o novo valor em “value” e depois desativar e reativar a placa de rede.

Quando o modo mais fácil não funciona

Sabendo qual o nome da sua Conexão de Rede, basta usar Regedit.exe para olhar na chave:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}

  1. O caminho da chave raiz é sempre este. Você vai olhar as sub-chaves uma por uma em “connection”…
  2. …até encontrar o nome da sua conexão de rede.
  3. Anote então este número.

O próximo passo é em outro lugar bem próximo (a única diferença está em negrito) no Registro:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}

  1. Olhe em todas as sub-chaves até encontrar…
  2. …a que tenha o valor NetCfgInstanceId igual ao que você anotou
  3. NetworkAddress tem o valor do MAC configurado pelo usuário. Se estiver limpo, o adaptador está usando seu endereço de fábrica. Se o item não existir, crie um.
  • Para não ter que procurar novamente, clique com o botão direito sobre a chave mais próxima (no caso acima, é a pasta de nome “0001”) e peça “copiar nome da chave”. Salve em algum lugar.
  • Clique duas vezes para mudar o valor. Não use nenhum tipo de separador. Por exemplo, se o MAC desejado for 00-16-E9-74-1D-27 você deve digitar 0016E9741D27;
  • Desative o adaptador de rede (“reparar” não basta);
  • Ative o adaptador;
  • Teste. Você já deverá aparecer com um novo MAC. Note a “ironia” do XP continuar chamando de “endereço físico” um endereço que de físico não tem mais nada 🙂

Automatizando

Clique com o botão direito sobre chave mais próxima (no caso acima, é a pasta de nome “0001”) e peça “Exportar”. Isso vai criar um arquivo .reg com todo o conteúdo da chave e que pode ser editado com o Notepad. O conteúdo do arquivo começa mais ou menos assim:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0001]
"AdapterCFID"="811929862"
"AdapterType"="5"
"MediaType"="1"
"ReceiveBurstIndicate"="32"
"ReceiveThreshold"="0"
"TransmitThreshold"="0"
"BurstLength"="1"
"MapRegisters"="32"
"EarlyReceive"="0"
"EarlyTransmit"="0"
"TransmitBuffers"="32"
"ReceiveBuffers"="64"
"NetworkAddress"="0016E9741D27"
"Characteristics"=dword:00000084
"BusType"="5"
"ComponentId"="pci\\ven_1106&dev_3065"
"ConnectionType"="0"
"ValidatePacketLen"="1"
"InfPath"="netvt86.inf"
"InfSection"="VT3065.ndi.nt"
"ProviderName"="Microsoft"

Você pode até remover tudo do arquivo e deixar apenas estas linhas:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0001]
"NetworkAddress"="0016E9741D27"

Edite o arquivo com o MAC que você desejar e salve. Você pode salvar com outros nomes para ter um arquivo para cada MAC que deseja usar.

Tendo feito isso, o procedimento automatizado se resume a:

  • Clicar duas vezes sobre o arquivo .reg desejado para instalar;
  • Desativar e ativar o adaptador;

É importante ter em mente que esses arquivos .reg só servem no PC onde foram criados.

FONTE: http://ryan.com.br/net_mac_switch.htm

O método inteiramente automático

Eu não vou entrar em maiores detalhes, mas existem dois softwares que podem fazer isso por você:

  • MACshift – Open Source – Só pode ser usado por linha de comando. Só funciona no Windows XP.
  • SMAC – Tem uma GUI, mas não é sequer gratuito. Só aceita linha de comando na “Command Line Edition” (US$50), mas segundo a propaganda funciona no 2000, XP, 2003 e Vista;

Ambos permitem a troca do MAC sem precisar reiniciar o Windows.

Francamente, pelo menos no Windows XP a mudança do MAC é tão trivial que acho um absurdo o que cobram pelo SMAC, por isso nem sequer baixei para testar ainda. Meu preferido é, óbviamente, o MACshift.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.