Files
local_machine/docs/security/MAC_SPOOFING_GUIDE.md
2026-03-14 20:03:57 +03:00

11 KiB
Raw Blame History

Руководство по подмене MAC-адреса Wi-Fi на macOS

📋 Содержание

  1. Зачем это нужно
  2. Как это работает
  3. Получение MAC-адреса телефона
  4. Подмена MAC на macOS
  5. Ограничения и проблемы
  6. Постоянная подмена MAC

Зачем это нужно

Когда вы подключаете MacBook к точке доступа (hotspot) телефона:

  • Оператор сотовой связи видит трафик, идущий через телефон
  • MAC-адрес MacBook виден только на уровне Wi-Fi соединения между телефоном и MacBook
  • Подмена MAC MacBook на MAC телефона может помочь в некоторых сценариях идентификации

Важно: Оператор в первую очередь видит IMEI и другие идентификаторы телефона, а не MAC клиента.


Как это работает

Уровни идентификации:

  1. Уровень сотовой сети (оператор видит):

    • IMEI телефона
    • IMSI (SIM-карта)
    • Номер телефона
    • Трафик идет через телефон
  2. Уровень Wi-Fi (локальная сеть):

    • MAC точки доступа (BSSID) - это MAC Wi-Fi интерфейса телефона
    • MAC клиента (MacBook) - виден только в локальной Wi-Fi сети
  3. Уровень приложений:

    • User-Agent браузера
    • Fingerprint браузера
    • IP-адрес (от оператора)

Вывод: Подмена MAC MacBook на MAC телефона влияет только на локальный Wi-Fi уровень, но не меняет идентификацию на уровне оператора.


Получение MAC-адреса телефона

iPhone (iOS 14+)

Проблема: На iPhone включена функция "Частный Wi-Fi адрес" по умолчанию, которая скрывает реальный MAC.

Решение:

  1. Для Wi-Fi клиента (когда телефон подключается к сети):

    • Настройки → Wi-Fi
    • Нажмите (i) рядом с сетью
    • Отключите "Частный Wi-Fi адрес" (Private Wi-Fi Address)
    • MAC-адрес будет показан как "Адрес Wi-Fi"
  2. Для точки доступа (hotspot):

    • MAC точки доступа может отличаться от MAC Wi-Fi клиента
    • Настройки → Режим модема → "Имя сети" показывает SSID
    • MAC точки доступа можно узнать через скрипт (автоматически)

Альтернативный способ:

# На MacBook, подключенном к hotspot iPhone:
/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | grep BSSID

Android

  1. Для Wi-Fi клиента:

    • Настройки → О телефоне → Статус
    • Найдите "MAC-адрес Wi-Fi"
  2. Для точки доступа:

    • Настройки → Сеть и интернет → Точка доступа и модем → Точка доступа Wi-Fi
    • MAC может быть показан в расширенных настройках

Через ADB (если включена отладка):

adb shell ip link show wlan0 | grep link/ether

Подмена MAC на macOS

Автоматический способ (рекомендуется)

Используйте скрипт spoof-wifi-mac.sh:

# Автоматическое определение MAC точки доступа
./docs/security/spoof-wifi-mac.sh --phone-mac

# Или интерактивный режим
./docs/security/spoof-wifi-mac.sh

# Или указать MAC вручную
./docs/security/spoof-wifi-mac.sh AA:BB:CC:DD:EE:FF

# Вернуть оригинальный MAC
./docs/security/spoof-wifi-mac.sh --revert

Ручной способ

# 1. Определить Wi-Fi интерфейс
networksetup -listallhardwareports | grep -A 1 "Wi-Fi"

# 2. Выключить Wi-Fi
networksetup -setairportpower en0 off

# 3. Установить новый MAC (требует sudo)
sudo ifconfig en0 ether AA:BB:CC:DD:EE:FF

# 4. Включить Wi-Fi
networksetup -setairportpower en0 on

# 5. Проверить
ifconfig en0 | grep ether

Ограничения и проблемы

1. Временность подмены

  • MAC сбрасывается после:
    • Перезагрузки MacBook
    • Отключения/включения Wi-Fi
    • Переподключения к сети
    • Смены сети

Решение: Используйте --revert для восстановления или запускайте скрипт при каждом подключении.

2. System Integrity Protection (SIP)

На современных версиях macOS (особенно с Apple Silicon) подмена MAC может быть заблокирована SIP.

Проверка статуса SIP:

csrutil status

Отключение SIP (НЕ рекомендуется без крайней необходимости):

  1. Перезагрузите Mac в Recovery Mode (Cmd+R при загрузке)
  2. Утилиты → Терминал
  3. csrutil disable
  4. Перезагрузите

Включение обратно:

csrutil enable

3. Аппаратные ограничения

Некоторые Wi-Fi чипы не поддерживают подмену MAC на уровне драйвера.

4. Что видит оператор

Важно понимать:

  • Оператор видит трафик через телефон (IMEI, IMSI)
  • MAC MacBook виден только в локальной Wi-Fi сети между телефоном и MacBook
  • Подмена MAC не меняет идентификацию на уровне оператора
  • Для оператора важнее IMEI телефона, а не MAC клиента

Постоянная подмена MAC

Вариант 1: LaunchAgent (автоматический запуск)

Создайте ~/Library/LaunchAgents/com.macspoof.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.macspoof</string>
    <key>ProgramArguments</key>
    <array>
        <string>/path/to/spoof-wifi-mac.sh</string>
        <string>AA:BB:CC:DD:EE:FF</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <false/>
</dict>
</plist>

Загрузите:

launchctl load ~/Library/LaunchAgents/com.macspoof.plist

Вариант 2: Network Script (macOS)

Создайте скрипт в /etc/network/ (требует отключения SIP).

Вариант 3: Использование специализированных инструментов

  • SpoofMAC (устарел, не работает на новых macOS)
  • Macchanger (через Homebrew, ограниченная поддержка)

Альтернативные подходы

1. Использование VPN на телефоне

Вместо подмены MAC на MacBook, используйте VPN на телефоне:

  • Весь трафик идет через VPN
  • Оператор видит только VPN-соединение
  • Не требуется подмена MAC

2. USB Tethering

Подключите телефон через USB и используйте USB Tethering:

  • Не требует Wi-Fi
  • MAC не важен на этом уровне
  • Более стабильное соединение

3. Bluetooth Tethering

Альтернатива Wi-Fi hotspot:

  • Разные протоколы идентификации
  • Может быть менее заметно для оператора

Проверка результата

Проверить текущий MAC:

ifconfig en0 | grep ether

Проверить MAC точки доступа:

/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | grep BSSID

Проверить подключение:

networksetup -getairportnetwork en0

Безопасность и предупреждения

⚠️ Важно:

  • Подмена MAC может нарушать правила оператора
  • Некоторые сети могут блокировать устройства с подмененным MAC
  • Это может быть незаконно в некоторых юрисдикциях
  • Используйте только на своих устройствах и сетях

Рекомендации:

  • Сохраняйте оригинальный MAC для восстановления
  • Используйте только для легитимных целей
  • Понимайте ограничения метода
  • Рассмотрите альтернативные подходы (VPN, USB tethering)

FAQ

Q: Оператор все равно видит, что это не телефон? A: Да, оператор видит IMEI телефона и трафик через него. MAC клиента важен только на локальном Wi-Fi уровне.

Q: Почему MAC не меняется? A: Возможно, требуется отключить SIP или Wi-Fi чип не поддерживает подмену MAC.

Q: Как сделать подмену постоянной? A: Используйте LaunchAgent или отключите SIP (не рекомендуется).

Q: Работает ли это на Apple Silicon? A: Может потребоваться отключение SIP из-за более строгих ограничений безопасности.


См. также