feross / SpoofMAC

:briefcase: Change your MAC address for debugging
https://feross.org/spoofmac/
3.03k stars 269 forks source link

Cannot change MAC address on Macbook Pro 2018 and newer #87

Closed blaesus closed 4 years ago

blaesus commented 6 years ago

Solution: Update to macOS 10.15 Catalina

Updating to macOS 10.15 Catalina appears to fix the issue.

Original report

I cannot randomize any MAC address with spoof-mac. The program returns fine, but the MAC addresses are not changed. I tried changing en0 and en1 and neither took effect. The Node.js spoof doesn't work either.

I tried rebooting or signing in as another user; neither worked.

By the way, sudo ifconfig en0 ether aa:bb:cc:dd:ee:ff doesn't work either.

spoof-mac version: 2.1.1

untitled untitled 2

This is a new machine. I have another Macbook which runs on 10.12, where spoof-mac works just fine.

Thanks for making the tool! It is really helpful.

cromatikap commented 5 years ago

I just tried sudo ifconfig en0 ether aa:bb:cc:dd:ee:ff on a friend's macOS and it seemed to work (ifconfig show the new mac address) on 10.14 macOS version

joshhunte commented 5 years ago

I just tried sudo ifconfig en0 ether aa:bb:cc:dd:ee:ff on a friend's macOS and it seemed to work (ifconfig show the new mac address) on 10.14 macOS version

Is that on a MBP 2018 on newer? The issue only occurs on newer MBPs. Can anyone confirm that you can change the MAC address of an external dongle?

dsedivec commented 5 years ago

FYI I tried a TP-Link Archer T3U USB NIC on a 2019 MacBook Pro running macOS 10.14.6, and I was not able to change the MAC address via sudo ifconfig en9 ether 50:3e:aa:66:66:66. (50:3e:aa are the first three octets of the device's original MAC.)

The command produced no output, the MAC address did not change according to a subsequent ifconfig en9 command.

(And also I've now had to install some slightly scary TP-Link utility and kernel drivers to make it work, all of which seem to be 32-bit. Will now rush to uninstall this software ASAP.)

feross commented 5 years ago

@dsedivec Thanks for looking into this. What a bummer.

MediumDragon commented 5 years ago

http://www.tensionsoftware.com/osx/macmacspoof/

"Optimized for macOS 10.14 (Mojave)."

"Native Intel 64 bit to take full advantage of the power of the latest Macs"

Am I missing something or did this guy seem to figure it out?

feross commented 5 years ago

@MediumDragon It's likely that he hasn't tested it on a 2018 or newer MBP. It probably works great with Mojave on older Macbooks. But perhaps someone can buy it and see if it works?

MediumDragon commented 5 years ago

Like MBP 2015? I got a 2015 and a 2018 sitting next to each other. I think its free to try. ill check it out.

MediumDragon commented 5 years ago

well, requires a license even tho website says free to try.

dsedivec commented 5 years ago

@MediumDragon From the Mac MACSpoof user manual:

On some Mac it may not Work

Yes some Mac (in detail new MacBook Pro from 2018 and maybe successive, nothing is for sure here because Apple has no official info about that) may refuse to change MAC value because Apple did it by purpose, locking the possibility to change MAC value to the ports. If you are using one of these Mac and you need to spoof the MAC ports you need to change hardware. It seems there is no way to spoof the MAC values for these machines. No way.

dsedivec commented 5 years ago

FYI I just tried the same TP-Link Archer T3U USB 802.11ac NIC passed through to Ubuntu 18.04 running in a Parallels VM under macOS, and I was able to increment the low order byte of the NIC's MAC (ip link set ... addr ...), associate to a network, and send pings to another host so that I confirmed I saw the changed MAC on the wire (via tcpdump). I did this in case there was any question that the mechanism preventing MAC address changing was somehow in a lower layer than macOS.

(The NIC was behaving very oddly, but that may have been due to the combination of kernel/rtl8822bu driver I was using, and/or the fact that I was running Linux in a VM.)

harshanand120 commented 5 years ago

ok. so i have a MacBook Pro 2018 base model. i am on developer beta 5 of MacOS Catalina (build 19a526h) and i tried changing mac address of en0 (wifi) with sudo ifconfig en0 ether and it works. it never worked before but now its working flawlessly.

jonluca commented 5 years ago

~It's working for me as well.~

Screen Shot 2019-08-17 at 8 07 50 AM

~Success~

edit: might not be working. need to research a little more. if someone else can confirm as well that would be helpful 😄

harshanand120 commented 5 years ago

Can you please specify ur mac model and which issue are you facing. Just want to know bcz for me its been working as expected but I couldn’t find any information online about this anywhere.

jgtoriginal commented 5 years ago

@jonluca It's working for me. At least if I change the mac address and do an nmap of the network from another device, I can see the change reflected at a network level.

tmthecoder commented 5 years ago

I tried on Mojave 10.14.6 and it still doesn't work for me

feross commented 5 years ago

Can someone else who's running Catalina report whether or not this issue has been resolved?

nz4ypt commented 5 years ago

It works for me in beta 5 and now beta 6

I’m on 13” mbp 2018 with Touch Bar.

Berlin91 commented 5 years ago

this issue has closed?

blaesus commented 5 years ago

@Berlin91 No, it has not. However, previous reports suggest that spoofing would work again under macOS 10.15 – see comments above.

gcpmusic commented 4 years ago

On my 15” mbp 2017 with Touch Bar with Mojave 10.14.5 and I can spoof all MacAddress with no problem. On the some machine but booting from Catalina beta 6 I could spoof only the wi-fi, with beta 7 problem was solved but with the recent beta 8 some issue of beta 6 :-(

So looks like is not hardware issue here but if the OS block it. Let's hope that the final Catalina release would work.

Mfgrolf commented 4 years ago

10.14.6 on a 2016 15" MBPro: ifconfig works like a charm 10.14.6 on a 2019 13" MBPro: ifconfig shows me a middle finger when I try to change MAC-Adresses.

Thanks, Apple. I hope they get this fixed latest in Catalina or this is the last Mac I will own.

diwu1989 commented 4 years ago

Catalina 10.15 gold master just released.

Can someone confirm whether it works with SpoofMac with 2018 15" MBPro? Just wanted confirmation before I go through the troubles of doing OS upgrade.

harshanand120 commented 4 years ago

I have a 2018 13 inch MacBook Pro and yes it works on Catalina GM Release. It should be working on 15 inch as well

jamescoletti commented 4 years ago

Also confirming it works on Catalina 10.15 public release (build 19A582a) which is a different build than the GM (19A583). In System Preferences > Network > Wi-Fi (Advanced), it still shows the default hardware address, but the actual broadcasted address does change after doing a sudo ifconfig en0 ether ...

gcpmusic commented 4 years ago

I just update last beta with the recent final release of catalina and for a while my mac address spoof script worked fine on all interfaces possible. Now it start again blocking the ethernet spoof however the wi-fi and bridge spoofs just fine. I guess has to do with the realtek ethernet usb adapter which doesnt update the drive to the new drive framework. Any suggestion? I do have SIP disabled! Thanks in advance.

joshhunte commented 4 years ago

Catalina Public release - En0 Wireless Spoof Working for me on MBP 2018.

I’m glad they fixed this or reversed their “Security” decision.

jonluca commented 4 years ago

Can confirm that it now works across all devices on Catalina. Wow, feels good after a 15 month long GitHub issue.

@feross I think this issue can be closed. Might want to add a notice in app when you're running it on Mojave.

blaesus commented 4 years ago

Agree to close the issue. At long last, spoofing works again with Catalina for Macbook Pro 2018. Even the automatic reset on start-up works.

For new comers to this issue: basically, please upgrade to Catalina

gcpmusic commented 4 years ago

No shouldnt be closed as with wired ethernet adapter doesnt work. Please specify on which interface you are commenting. On Wi-Fi always worked on all release. Thank you.

fborges commented 4 years ago

Running MacOS 10.15 on a 15" MBP 2019, not working for me :/

adudek16 commented 4 years ago

I was not able to change my MAC with my belkin usb-c ethernet adapter but worked on my hub.

feross commented 4 years ago

I can confirm that changing the Wi-Fi interface MAC address works on a MacBook 13" 2018 with Catalina 10.15.1 (19B88).

Muhamed-Hamid commented 4 years ago

Not working on catalina 10.15.1, was working before the upgrade

jgtoriginal commented 4 years ago

@Muhamed-Hamid it does work on Catalina 10.15.2

working_on_catalina_10 15 2
Muhamed-Hamid commented 4 years ago

@jgtoriginal This is only on spoof list, if you checked your advanced wifi settings from network you will find the shown mac address, this spoof doesn't change a thing if you really want to be hidden. If something little advanced firewall will detect the real mac address.

I think It needs to be set with ifconfig so it would change the real hardware address.

gcpmusic commented 4 years ago

ifconfig only read or set a fake address. The real hardware address can't be changed and can be read with networksetup -listallhardwareports. If you really want to be hidden, all macaddress must be blocked in the router and to connect, you must use a fake macaddress !!

Muhamed-Hamid commented 4 years ago

ifconfig was able to change the appearing mac address in network settings which reflects over any communications, but now it's not. just masking it out and not reflect over any firewall inspection

gcpmusic commented 4 years ago

Not here on my MacBook, ifconfig still works fine and mask correctly all my macaddress!

jgtoriginal commented 4 years ago

@Muhamed-Hamid It does work, just go to your router or do an nmap on any other device connected to the same network and you will see that the mac address for your computer does change. When you spoof you don't change your physical address, you rather mask it and show a different one.

gcpmusic commented 4 years ago

That's correct.

total3dx commented 4 years ago

@Muhamed-Hamid It does work, just go to your router or do an nmap on any other device connected to the same network and you will see that the mac address for your computer does change. When you spoof you don't change your physical address, you rather mask it and show a different one.

I'm a bit confused, ok, physical MAC won't change. Then what's the point to change MAC in ifconfig at all? Does it mean that whatever I change MAC or not, all routers around still will use my hardware MAC for communications?

gcpmusic commented 4 years ago

No all the call just see ifconfig response. However as I did mention many time early you have to block the real address in your router otherwise it will pass true at boot before you change it !!! Basically at boot you shouldnt connect at all to the net as your macaddress is blocked in the router and only when you change it you will be able to connect !! both ethernet and wi-fi.

Note: you see your real address just because you own the machine where the macaddress is written on the hardware, that's the reason why cant be changed but everyone outside your computer can only read it by ifconfig or other methods but will only see the fake one!!!

In fact after you spoof it correctly, check your router and you will see the fake one. If not . . you did something wrong!

joshhunte commented 4 years ago

Hello, as you all know this issue was fixed on MBP 2018 with macOS Catalina. However I have now upgraded to MacBook 16 inch and and although I see the value reflected in terminal, it is not being reflected in the software. Note - I see the Mac change reflected on previous MacBook.

dionhouston commented 4 years ago

Apologize in advance if this doesn't apply to this case, but I found this thread when googling my problem. I found on my 2019 mbp that "ifconfig en0 ether ..." didn't work as expected for changing the mac address. Looking into it a bit further, it seems to be a problem with the change of the default shell from bash to zsh. When I went to bash ("sudo /bin/bash") and did the same command it changed the mac as expected...

harshanand120 commented 4 years ago

I guess that is because u ran the command without sudo. But when u changed the shell using “sudo bin/bash” all commands after that run as sudo. Try doing “sudo ifconfig en0 ”. I have tried doing so on a 16 inch mbp and can confirm it works.

yusufk commented 4 years ago

What's the latest on this?

Doesn't seem to work on 10.15.2..

onpaws commented 4 years ago

I found I had to change ifconfig en0 ether ... to ifconfig en0 lladdr ... to get it working. Also I had to have the WiFi interface on, which seems wrong but was necessary apparently.

macOS 10.15.3 MBP 16"

allyoucaneattogo commented 4 years ago

again we should open again this issue on Catalina 10.15.4 it doesn't work again

harshanand120 commented 4 years ago

I am on MacBook Pro 2018 13 inch. Mac address spoofing still works using "sudo ifconfig en0 ether mac" or "sudo ifconfig en0 lladdr mac" on my machine as well as MacBook Pro 16 inch.

onpaws commented 4 years ago

again we should open again this issue on Catalina 10.15.4 it doesn't work again

Without more specific info and repro steps, "it doesn't work again" is not a productive or helpful comment to anyone on this thread except you.

Next time can you please make the effort to provide a meaningful bug report with specifics? Consider reviewing guides online, for example https://developer.mozilla.org/en-US/docs/Mozilla/QA/Bug_writing_guidelines