Spoof MAC Address in Any OS
H
MAC address (Media Access Control address) is a
quasi-unique identifier consists of a six byte number that attached to most
network adapter card or network interface card (NIC). As such, all network
cards, whether it’s of Ethernet NIC, Gigabit Ethernet NIC or wireless
802.11a/b/g/n WiFi or HiperLAN adapter, should have different MAC addresses,
which also known as Ethernet Hardware Address (EHA) or adapter address.
In operating system, MAC address is often
represented in 12-digit hexadecimal number. For example, 1A-2B-3C-4D-5E-6F. In
practical usage, layer 2 MAC address is converted from layer 3 protocol
addresses such as Internet Protocol (IP address) by ARP (Address Resolution
Protocol), which then allowed each host to be uniquely identified and frames to
be marked for specific hosts on broadcast networks, such as Ethernet. After
translated (or when a host on LAN sends its MAC address to another machine
which does n ot configured not to accept unrequested ARP replies on the network
for preemptive caching), MAC address is cached on source PC ARP table for later
use. Content of ARP table on each computer can be viewed by typing arp -a in
Windows or arp in
Linux. MAC address thus forms the basis of most of the layer 2 networking upon
which higher OSI Layer protocols are built to produce complex, functioning
networks.
There are many reasons or possibilities that an
user may want to change the MAC address or a network adapter, which also known
as MAC spoofing. For example, to bypass the MAC address filtering on firewall
or router. The trick can be used to get pass the network access restriction by
emulating a new unrestricted MAC address, or to gain access connection by spoof
an authorized MAC address after sniffing the legitimate MAC address out of the
air in MAC filtering Wi-Fi network.
Beside, hackers or enthusiasts also spoofing
another host’s MAC address as their own in order to receive traffic packets not
meant for them, although ARP poisoning technique is more commonly used.
However, changing MAC address can still keep the real information from been
detected and logged by various services such as IDS, firewall, DHCP server,
wireless access points and etc, and is essential protect user’s privacy. MAC
spoofing also potentially trigger a Denial of Service (DoS) attack by causing
routing problem with duplicating MAC address exists in the network, especially
those similar with gateway and AP router’s BSSID (Basic Service Set
Identifier.)
Whatever the reason, it’s pretty easy to change
the MAC address or perform MAC spoofing on most of today’s hardware, listed
below. Actually, the original MAC address is burnt and imprinted to the network
card, and cannot be changed. However, operating system can spoof as if there is
different MAC address for the network interface card using tricks below.
Change
the MAC address in Windows
- Go to Start -> Control Panel. Double click
on Network Connections (inside Network and Internet Connections category in Windows
XP). The, right click on the active network connection with network adapter
that you want to change the MAC address (normally Local Area Network or Wireless Network Connection) and click
on Properties. Above steps work
in Windows XP, Windows 2000 and Windows Server 2003. For Windows Vista, access
to NIC’s properties is from Control Panel -> Network and
Internet -> Network and Sharing Center -> Manage
Network Connections.
- Alternatively, if you already know
which network adapter that’s responsible for your network or Internet
connection, go to Device Manager and open the
properties dialog by double click on the NIC itself.
- In the General tab, click on
the Configure button.
- Click on Advanced tab.
- In the Property section,
select and highlight Network Address or Locally Administered Address.
- To the right, “Not Present” radio
button is by default selected as value. Change the value by clicking on radio
button for Value:, and then type in
a new MAC address to assign to the NIC.
- The MAC address consists of 6 pairs of numbers (0 – 9) and characters (A – F)
combination. For example, 88-17-E8-90-E2-0A. When entering the new MAC value,
omit the dash (-), for example 8817E890E20A.
- Click OK when done.
- To verify the change of MAC address,
go to command prompt, then type in one of the following commands: ipconfig /all, net config rdr.
Reboot the computer
if successful to make the change effective.
Note: To restore or reset back to
original default MAC address, simply set back the option to “Not Present”.
Change
the MAC Address of NIC in Windows via Registry
- Open a command prompt.
- Type the following
command and hit Enter. ipconfig
/all
- Record down
the Description and the Physical Address (is MAC
address) of the active network connection (discard those with Media
Disconnected state).
- For example, in figure above, Description is Intel(R) Wireless WiFi Link
4965AGN and MAC address is in the format of 00-XX-XX-XX-XX-XX.
- In the command
prompt also, type the following command and hit Enter. net
config rdr
- Record down the
GUID for the MAC address for the active connection’s NIC which MAC address to
be changed. The GUID is contained within the { and } brackets right in front of
the MAC address as shown in figure below.
-
- Type regedt32 or regedit in Start -> Run box or
in Start Search for Windows
Vista. Note: for Windows NT 4.0 and Windows 2000, regedt32 must be used.
- Navigate to the
following registry
- key:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}
- Expand the {4D36E972-E325-11CE-BFC1-08002BE10318} tree, and there
will be more sub-keys in the form of 0000, 0001, 0002 and so on.
- Go through each
sub-key starting from 0000, look for subkey that has DriverDesc value data
that matches NIC description copied from step above, that want its MAC address
to be changed. In most cases, it will be similar to the network adapter card
name. To verify that the subkey found is indeed a correct one, check the value
of the NetCfgInstanceId, which should have
the same value with the NIC’s GUID taken from step above.
- Once a sub-key is
matched to the network interface card that MAC address want to be spoofed,
select and highlight the subkey. Right click on the sub-key (for example,
0000), then select New -> String Value. Name the new
value name as NetworkAddress. Note: If
NetworkAddress REG_SZ registry key is already existed in the right pane, skip
this step.
- The double click on NetworkAddress and enter a
new MAC address as its value data.
- Note that the 12-digit MAC address in hexadecimal format, and should be entered
without any dash (-). For example, 1A2B3C4D5E6F.
- Reboot the system
to make the new MAC address effective. Alternatively, if you don’t want to
restart the system, try to disable and then re-enable the network adapter in
Device Manager.
- To verify the
change of MAC address, go to command prompt, then type in one of the following
commands: ipconfig /all , net config rdr.
Note: To restore or reset back to
true original hardware burned-in MAC address, remove the NetworkAddress
registry key that is been added.
Alternative:
Third party tools and utilities to change the MAC address in Windows operating
system are plenty, for example: SMAC, Macshift, BMAC, Mac MakeUp, MadMACs, EtherChange, and Technitium MAC Address Changer.
How
to Change MAC Address (MAC Spoofing) in Linux and Unix
To change your MAC address in Linux and most
Unix-like (*nix) system, run the following script commands:
ifconfig down
ifconfig hw
ifconfig up
For example, the command looks lik “ifconfig
eth0 down hw ether 1A:2B:3C:4D:5E:6F”. First command brings down the network
interface, second command change its MAC address while third command bring up
the interface again. Note that in some cases, to bring down and bring up the network
interface, the following commands have to be used:
/etc/init.d/networking stop or /etc/init.d/network
stop (in the case of Fedora Core 5)
/etc/init.d/networking start or /etc/init.d/network
stop (in the case of Fedora Core 5)
Alternatively, for Fedora Code 5 Linux with Iproute2 tools installed,
the following commands also can change the MAC address to spoofed version:
/etc/init.d/network stop
ip link set address 1A:2B:3C:4D:5E:6F
/etc/init.d/network start
For example, “ip link set eth0 address
1A:2B:3C:4D:5E:6F”. To check whether the MAC address has been spoofed,
use ip link ls eth0 or ip addr ls eth0 instead
of using ifconfig eth0.
How
to Make the Spoofed MAC Address Permanently Even After Reboot in Linux
Edit the ifcfg-eth0 file
(or other similar file if you’re changing different interface), add the
following variable line to the file:
MACADDR=12:34:56:78:90:ab
Then run service network restart to
make the change effective immediately.
How
to Make the Spoofed MAC Address Permanently on Restart in Debian
Edit the /etc/network/interfaces file
and add in the following variable line to the appropriate section so that the
MAC address is set when the network device is started.
hwaddress 02:01:02:03:04:08
For example, “hwaddress ether
02:01:02:03:04:08″.
Alternative:
GNU Mac Changer (for Debian,
Slackware, ArchLinux, Mandrake, Crux and other RPM-based distributions such as
Fedora, Red Hat, CentOS, ASPLinux, SUSE Linux, OpenSUSE and etc.
How
to Change MAC Address (MAC Spoofing) in BSD or FreeBSD
Issue the following commands in shell:
ifconfig down
ifconfig
ifconfig up
First command brings down the network interface
(optional), second command change its MAC address while third command bring up
the interface again (optional). For example, the command looks lik “ifconfig
xl0 link 1A:2B:3C:4D:5E:6F” or “ifconfig fxp0 ether 1A:2B:3C:4D:5E:6F”
How
to Change MAC address in Solaris
The shell command to change the MAC address in
Sun Solaris is as below:
ifconfig
For example, the command
looks like “ifconfig hme0 ether 1A:2B:3C:4D:5E:6F”. Note that the change is
temporary that does not persist after a reboot. To make this change permanent,
the command can be placed in a runtime control script (/sbin/sh).
How to Spoof MAC Address in HP-UX
It’s possible to change MAC address using
HP-UX SAM. Select Networking and Communications, then selecting the interface, then click on Action -> Modify ->Advanced
Options. Finally,
change the value of station address, which is MAC address name in HP-UX.
How to Spoof and Change MAC Address in OpenBSD
Use the following command to change MAC
Address to spoofed MAC in OpenBSD (after version 3.8):
ifconfig lladdr
For example, “ifconfig bge3 lladdr
1A:2B:3C:4D:5E:6F”.
How to Change to Spoofed MAC Address Permanently in
OpenBSD
To make the MAC address changed at boot
before network connection is established, and even before parsing of hostname.*
file, edit the /etc/netstart file to add in the following lines before the line of “# Now parse the hostname.*
file”:
if [ "$if" = "INTERFACE" ]; then
ifconfig lladdr
fi
# Now parse the
hostname.* file
....
How to Change MAC Address in Mac OS X
Since Mac OS X 10.4.x (Darwin 8.x) onwards, the MAC address of wired Ethernet
interface can be altered in Apple Mac OS X in a fashion similar to the Linux
and FreeBSD methods. To do so, type the following command in Terminal.app:
sudo ifconfig en0 ether
aa:bb:cc:dd:ee:ff
or
sudo ifconfig en0 lladdr
aa:bb:cc:dd:ee:ff (for Mac OS X 10.5
Leopard)
where en0 is the network interface (numbered from en0, en1, en2 …) and
aa:bb:cc:dd:ee:ff is the desired MAC address in hex notation.
Alternative:
MacDaddy (support Airport wireless adapter)