Initial commit: local_machine docs and scripts

This commit is contained in:
ahauimix
2026-03-14 20:03:57 +03:00
commit a39ef89125
85 changed files with 14500 additions and 0 deletions

View File

@@ -0,0 +1,201 @@
# Подмена MAC на Apple Silicon (M1/M2/M3) - Ограничения и решения
## ❌ Проблема
На MacBook с процессорами Apple Silicon (M1, M1 Pro, M1 Max, M2, M3 и т.д.) с включенным **System Integrity Protection (SIP)** подмена MAC-адреса Wi-Fi **заблокирована системой**.
### Технические детали:
- **macOS версия:** 15.3.1 (Sequoia) и новее
- **Процессор:** Apple Silicon (M1 Pro в вашем случае)
- **SIP статус:** Включен (enabled)
- **Результат:** `ifconfig en0 ether` команда не работает
Это **защита безопасности** от Apple, которая предотвращает изменение низкоуровневых сетевых параметров.
---
## 🔍 Почему это происходит?
Apple Silicon использует **унифицированную память** и **более строгие ограничения безопасности**:
- SIP блокирует изменение сетевых параметров на уровне ядра
- Wi-Fi контроллер интегрирован в SoC и имеет дополнительные защиты
- macOS проверяет целостность сетевых интерфейсов
---
## ✅ Решения
### Вариант 1: Отключить SIP (НЕ рекомендуется)
**⚠️ ВНИМАНИЕ:** Отключение SIP снижает безопасность системы и может сделать Mac уязвимым для атак.
**Шаги:**
1. Перезагрузите Mac в **Recovery Mode**:
- Выключите Mac
- Включите и сразу зажмите **Cmd + R**
- Дождитесь загрузки Recovery Mode
2. Откройте Терминал:
- Утилиты → Терминал
3. Отключите SIP:
```bash
csrutil disable
```
4. Перезагрузите Mac:
```bash
reboot
```
5. После подмены MAC **включите SIP обратно**:
```bash
csrutil enable
```
**Проверка статуса SIP:**
```bash
csrutil status
```
---
### Вариант 2: VPN на телефоне (РЕКОМЕНДУЕТСЯ) ⭐
**Лучшее решение** - использовать VPN на телефоне вместо подмены MAC на MacBook:
**Преимущества:**
- ✅ Не требует изменения настроек MacBook
- ✅ Весь трафик идет через VPN
- ✅ Оператор видит только VPN-соединение
- ✅ Не нарушает безопасность системы
- ✅ Работает на любом устройстве
**Настройка:**
1. Установите VPN клиент на телефон (WireGuard, OpenVPN, Shadowsocks)
2. Подключите телефон к VPN
3. Включите точку доступа на телефоне
4. Подключите MacBook к hotspot
**Результат:** Оператор видит только VPN-трафик, а не реальный трафик приложений.
---
### Вариант 3: USB Tethering
Используйте USB подключение вместо Wi-Fi:
**Преимущества:**
- ✅ Не требует Wi-Fi
- ✅ MAC адрес не важен на этом уровне
- ✅ Более стабильное соединение
- ✅ Меньше энергопотребление
**Настройка:**
1. Подключите телефон к MacBook через USB
2. На телефоне: Настройки → Режим модема → USB модем
3. MacBook автоматически определит соединение
---
### Вариант 4: Bluetooth Tethering
Альтернатива Wi-Fi hotspot:
**Преимущества:**
- ✅ Разные протоколы идентификации
- ✅ Может быть менее заметно для оператора
- ✅ Не требует Wi-Fi
**Настройка:**
1. На телефоне: Настройки → Режим модема → Bluetooth модем
2. На MacBook: Системные настройки → Bluetooth
3. Подключите устройства и включите модем
---
## 📊 Что видит оператор?
### Важно понимать:
**Уровень сотовой сети (оператор видит):**
- ✅ **IMEI телефона** - уникальный идентификатор устройства
- ✅ **IMSI** - идентификатор SIM-карты
- ✅ **Номер телефона**
- ✅ **Трафик** идет через телефон
**Уровень Wi-Fi (локальная сеть):**
- MAC точки доступа (BSSID) - MAC Wi-Fi интерфейса телефона
- MAC клиента (MacBook) - виден только в локальной Wi-Fi сети между телефоном и MacBook
**Вывод:**
- Оператор **НЕ видит MAC MacBook** на уровне сотовой сети
- Оператор видит **IMEI телефона**, через который идет трафик
- Подмена MAC MacBook влияет только на локальный Wi-Fi уровень
- **Для оператора важнее IMEI телефона**, а не MAC клиента
---
## 🛠️ Альтернативные инструменты
### SpoofMAC (устарел)
Не работает на macOS 12+ и Apple Silicon.
### Macchanger (через Homebrew)
```bash
brew install macchanger
```
**Ограничения:** Тоже не работает с включенным SIP на Apple Silicon.
---
## 📝 Рекомендации
### Для максимальной приватности:
1. **Используйте VPN на телефоне**
- WireGuard, OpenVPN, Shadowsocks
- Весь трафик шифруется
- Оператор видит только VPN-соединение
2. **Используйте USB Tethering**
- Более стабильно
- MAC не важен
3. **Не отключайте SIP без крайней необходимости**
- Снижает безопасность системы
- Может сделать Mac уязвимым
4. **Понимайте ограничения**
- Оператор все равно видит IMEI телефона
- MAC клиента виден только локально
---
## 🔗 См. также
- [MAC_SPOOFING_GUIDE.md](./MAC_SPOOFING_GUIDE.md) - общее руководство по подмене MAC
- [VPN документация](../vpn/README.md) - настройка VPN для приватности
- [SHADOWSOCKS.md](../vpn/SHADOWSOCKS.md) - Shadowsocks VPN
---
## ❓ FAQ
**Q: Почему подмена MAC не работает на моем M1 MacBook?**
A: Apple Silicon с включенным SIP блокирует изменение MAC адресов на уровне безопасности системы.
**Q: Нужно ли отключать SIP?**
A: Нет, не рекомендуется. Используйте VPN на телефоне или USB Tethering.
**Q: Оператор все равно увидит, что это не телефон?**
A: Оператор видит IMEI телефона, через который идет трафик. MAC MacBook виден только локально.
**Q: Что лучше - VPN или подмена MAC?**
A: VPN на телефоне лучше - шифрует весь трафик и не требует изменения настроек MacBook.
---
**Последнее обновление:** 2024-12-08

View File

@@ -0,0 +1,317 @@
# Установка Kodachi Linux в UTM на macOS
Подробное руководство по установке Kodachi в существующую виртуальную машину UTM.
---
## Предварительные требования
- ✅ macOS (Intel или Apple Silicon)
- ✅ UTM установлен и запущен
- ✅ Минимум 4 ГБ свободной оперативной памяти
- ✅ 30+ ГБ свободного места на диске
- ✅ ISO-образ Kodachi Linux
---
## Шаг 1: Загрузка ISO-образа Kodachi
### ⚠️ ВАЖНО: Выбор версии Kodachi
**Текущая ситуация с версиями (ноябрь 2025):**
1. **Kodachi 9.0.1** (октябрь 2025) - **СЕРВЕРНАЯ версия БЕЗ GUI**
- ✅ Актуальная версия
- ❌ Только командная строка (CLI)
- ❌ Нет графического интерфейса
- ✅ Подходит для серверных задач
2. **Kodachi 8.27** (февраль 2023) - **ДЕСКТОПНАЯ версия С GUI**
- ✅ Полноценный графический интерфейс XFCE
-Все инструменты для приватности и анонимности
- ⚠️ Устаревшая база (Ubuntu 18.04.6 LTS)
- ⚠️ Нет обновлений безопасности с февраля 2023
- ⚠️ Потенциальные уязвимости
3. **Kodachi 9 Desktop** - **В РАЗРАБОТКЕ**
- ⏳ Графическая версия Kodachi 9 еще не выпущена
- ⏳ Дата выхода неизвестна
### Рекомендации по выбору версии:
**Для работы с GUI (графическим интерфейсом):**
- Используйте **Kodachi 8.27** (если GUI критичен)
- ⚠️ Понимайте риски использования устаревшей версии
- Рассмотрите альтернативы: **Tails**, **Qubes OS**, **Whonix**
**Для серверных задач:**
- Используйте **Kodachi 9.0.1** (актуальная, но только CLI)
**Для максимальной приватности и стабильности:**
- Дождитесь выхода **Kodachi 9 Desktop**
- Или используйте альтернативные системы с актуальными обновлениями
### Загрузка ISO-образа:
1. Перейдите на официальный сайт Kodachi: **https://www.digi77.com/linux-kodachi/**
2. Выберите нужную версию:
- Для GUI: **Kodachi 8.27 Desktop ISO**
- Для сервера: **Kodachi 9.0.1 Server ISO**
3. Скачайте ISO-образ
4. Сохраните файл в удобном месте (например, `~/Downloads/kodachi-*.iso`)
**Важно:**
- Проверьте целостность образа, если доступны checksums (SHA256)
- Убедитесь, что скачиваете версию с GUI, если нужен графический интерфейс
---
## Шаг 2: Создание новой виртуальной машины в UTM
### 2.1. Запуск мастера создания VM
1. Откройте **UTM**
2. Нажмите кнопку **"+"** или **"Create a New Virtual Machine"**
3. Выберите **"Virtualize"** (не Emulate)
### 2.2. Выбор операционной системы
1. В разделе **"Operating System"** выберите **"Linux"**
2. UTM автоматически определит тип системы
### 2.3. Настройка образа диска
1. В разделе **"Linux"** выберите **"Use an existing disk image"**
2. Нажмите **"Browse"** и выберите скачанный ISO-образ Kodachi
3. Убедитесь, что образ отображается в списке
### 2.4. Настройка ресурсов
#### Память (RAM):
- **Минимум:** 2 ГБ
- **Рекомендуется:** 4 ГБ
- **Для комфортной работы:** 6-8 ГБ
#### Процессор:
- **Ядра:** 2-4 ядра (в зависимости от вашего Mac)
- **Архитектура:**
- Intel Mac: **x86_64**
- Apple Silicon (M1/M2/M3): **ARM64** (если доступно) или **x86_64** (через эмуляцию)
#### Диск:
- **Размер:** Минимум 30 ГБ, рекомендуется 40-50 ГБ
- **Тип:** QCOW2 (рекомендуется) или RAW
### 2.5. Дополнительные настройки
#### Сеть (Network):
- **Режим:** **Shared Network** (NAT) - для базовой работы
- **Для VPN/Tor:** Может потребоваться **Bridged** режим (требует дополнительных прав)
#### Другие настройки:
-**Enable Clipboard Sharing** - для копирования текста
-**Enable Directory Sharing** (опционально) - для обмена файлами
- ⚠️ **Enable SPICE Agent** - для улучшенной интеграции
---
## Шаг 3: Запуск и установка Kodachi
### 3.1. Первый запуск
1. Нажмите кнопку **"Play"** (▶️) для запуска виртуальной машины
2. Дождитесь загрузки Kodachi в Live режиме
3. Выберите язык и раскладку клавиатуры
### 3.2. Установка на диск (рекомендуется)
**Важно:**
- Kodachi можно использовать в Live режиме, но для сохранения данных и настроек рекомендуется установка на виртуальный диск
- ⚠️ **Если вы используете Kodachi 9.0.1 (серверную версию)**, графического установщика нет - используйте командную строку для установки
**Для Kodachi 8.27 (с GUI):**
1. На рабочем столе найдите иконку **"Install Kodachi"**
2. Запустите установщик
3. Следуйте инструкциям:
**Шаги установки:**
- Выберите язык
- Выберите раскладку клавиатуры
- Выберите часовой пояс
- **Разметка диска:**
- Выберите виртуальный диск UTM
- Рекомендуется: **"Erase disk and install Kodachi"** (для виртуальной машины это безопасно)
- Или выберите **"Something else"** для ручной разметки
- Создайте пользователя и пароль
- Дождитесь завершения установки
4. После установки перезагрузите виртуальную машину
5. Извлеките ISO-образ из настроек VM (чтобы загружаться с диска, а не с образа)
---
## Шаг 4: Настройка сетевых функций (VPN/Tor)
### 4.1. Проверка сетевого подключения
1. Убедитесь, что виртуальная машина имеет доступ к интернету
2. Проверьте статус VPN и Tor в панели мониторинга Kodachi
### 4.2. Настройка VPN (если требуется)
1. Откройте настройки VPN в Kodachi
2. Добавьте конфигурацию VPN (если не предустановлена)
3. Убедитесь, что VPN активирован
### 4.3. Настройка Tor
1. Tor должен быть предустановлен и настроен
2. Проверьте статус в индикаторах Kodachi
3. Весь трафик должен автоматически проходить через Tor
**Важно:** В виртуальной машине некоторые сетевые функции могут работать иначе, чем на физическом оборудовании. Протестируйте подключение.
---
## Шаг 5: Оптимизация производительности
### 5.1. Настройки UTM для лучшей производительности
1. В настройках VM включите:
-**Hardware Acceleration** (если доступно)
-**Enable Hypervisor Framework** (для Apple Silicon)
-**Enable JIT** (для Apple Silicon)
### 5.2. Настройки Kodachi
1. Закройте ненужные приложения
2. Используйте легковесные альтернативы приложений
3. Настройте автозагрузку программ
---
## Шаг 6: Создание снимков (Snapshots)
**Рекомендуется:** Создайте снимок виртуальной машины после успешной установки.
1. В UTM остановите виртуальную машину
2. Выберите VM в списке
3. Нажмите **"Take Snapshot"** или используйте меню
4. Дайте снимку понятное имя (например, "Fresh Install")
Это позволит быстро вернуться к рабочему состоянию в случае проблем.
---
## Решение проблем
### Проблема: Виртуальная машина не загружается
**Решения:**
- Проверьте, что ISO-образ не поврежден
- Убедитесь, что выбрана правильная архитектура (x86_64 или ARM64)
- Попробуйте пересоздать виртуальную машину
### Проблема: Медленная работа
**Решения:**
- Увеличьте объем выделенной RAM (минимум 4 ГБ)
- Увеличьте количество ядер процессора
- Убедитесь, что включена аппаратная виртуализация
- Закройте другие приложения на Mac
### Проблема: Не работает сеть / VPN / Tor
**Решения:**
- Проверьте настройки сети в UTM (Shared Network должен работать)
- Убедитесь, что хост-система (macOS) имеет доступ к интернету
- Попробуйте перезапустить сетевые службы в Kodachi
- Проверьте настройки VPN/Tor в Kodachi
### Проблема: Не работает общий буфер обмена
**Решения:**
- Убедитесь, что включен **"Enable Clipboard Sharing"** в настройках UTM
- Установите SPICE Guest Tools в Kodachi (если доступны)
- Перезапустите виртуальную машину
### Проблема: На Apple Silicon Mac низкая производительность
**Решения:**
- Используйте ARM64 версию Kodachi (если доступна)
- Или используйте VMware Fusion вместо UTM для лучшей производительности
- Увеличьте выделенные ресурсы
---
## Важные замечания
### Безопасность в виртуальной машине
⚠️ **Важно понимать:**
- Виртуализация добавляет дополнительный слой, который может влиять на безопасность
- Некоторые функции Kodachi (например, затирание RAM) могут работать иначе в VM
- Для максимальной безопасности рекомендуется использовать Kodachi на физическом оборудовании или в Live режиме с USB
### Сохранение данных
- Данные в виртуальной машине хранятся в файле образа диска UTM
- Регулярно создавайте резервные копии файла VM
- Используйте снимки (snapshots) для защиты от потери данных
### Производительность
- UTM на Apple Silicon работает быстрее, чем на Intel Mac
- Для лучшей производительности используйте VMware Fusion
- Выделяйте достаточно ресурсов для комфортной работы
---
## Полезные команды в Kodachi
После установки вы можете использовать следующие команды в терминале:
```bash
# Проверка статуса VPN
sudo systemctl status vpn
# Проверка статуса Tor
sudo systemctl status tor
# Проверка IP-адреса
curl ifconfig.me
# Обновление системы
sudo apt update && sudo apt upgrade
# Перезапуск сетевых служб
sudo systemctl restart networking
```
---
## Дополнительные ресурсы
- **Официальный сайт Kodachi:** https://www.digi77.com/linux-kodachi/
- **Документация UTM:** https://docs.getutm.app/
- **Форум поддержки UTM:** https://github.com/utmapp/UTM/discussions
---
## Быстрая справка
| Действие | Где найти |
|----------|-----------|
| Создать новую VM | Кнопка "+" в UTM |
| Добавить ISO | Settings → Drives → CD/DVD |
| Изменить RAM | Settings → System → Memory |
| Изменить CPU | Settings → System → CPU Cores |
| Создать снимок | VM → Take Snapshot |
| Настройки сети | Settings → Network |
| Общий буфер | Settings → Input/Output → Clipboard Sharing |
---
**Успешной установки! 🚀**

View File

@@ -0,0 +1,297 @@
# Руководство по подмене MAC-адреса Wi-Fi на macOS
## 📋 Содержание
1. [Зачем это нужно](#зачем-это-нужно)
2. [Как это работает](#как-это-работает)
3. [Получение MAC-адреса телефона](#получение-mac-адреса-телефона)
4. [Подмена MAC на macOS](#подмена-mac-на-macos)
5. [Ограничения и проблемы](#ограничения-и-проблемы)
6. [Постоянная подмена MAC](#постоянная-подмена-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 точки доступа можно узнать через скрипт (автоматически)
**Альтернативный способ:**
```bash
# На 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 (если включена отладка):**
```bash
adb shell ip link show wlan0 | grep link/ether
```
---
## Подмена MAC на macOS
### Автоматический способ (рекомендуется)
Используйте скрипт `spoof-wifi-mac.sh`:
```bash
# Автоматическое определение 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
```
### Ручной способ
```bash
# 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:**
```bash
csrutil status
```
**Отключение SIP (НЕ рекомендуется без крайней необходимости):**
1. Перезагрузите Mac в Recovery Mode (Cmd+R при загрузке)
2. Утилиты → Терминал
3. `csrutil disable`
4. Перезагрузите
**Включение обратно:**
```bash
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
<?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>
```
Загрузите:
```bash
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:
```bash
ifconfig en0 | grep ether
```
### Проверить MAC точки доступа:
```bash
/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | grep BSSID
```
### Проверить подключение:
```bash
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 из-за более строгих ограничений безопасности.
---
## См. также
- [OS_COMPARISON.md](./OS_COMPARISON.md) - сравнение систем безопасности
- [VPN документация](../vpn/README.md) - альтернативные методы защиты приватности

View File

@@ -0,0 +1,501 @@
# Сравнение операционных систем для установки на Mac
## Kali Linux vs Kodachi vs Tails
Сравнение трех операционных систем с точки зрения удобства UI, функциональности и безопасности при установке на Mac.
---
## 1. Удобство пользовательского интерфейса (UI)
### Kali Linux
- **Окружения рабочего стола**: XFCE, GNOME, KDE (на выбор)
- **Оценка**: ⭐⭐⭐⭐
- **Особенности**:
- Гибкость выбора интерфейса в зависимости от предпочтений
- XFCE - легкий и быстрый, подходит для слабых машин
- GNOME - современный и функциональный
- KDE - настраиваемый и мощный
- Интерфейс ориентирован на профессионалов, может быть сложен для новичков
- Множество инструментов в меню может перегружать интерфейс
### Kodachi Linux
- **Окружения рабочего стола**: XFCE (на базе Xubuntu)
- **Оценка**: ⭐⭐⭐⭐⭐
- **Важно о версиях:**
- ⚠️ **Kodachi 9.0.1** (октябрь 2025) - **СЕРВЕРНАЯ версия БЕЗ GUI** (только CLI)
-**Kodachi 8.27** - имеет полноценный GUI (XFCE), но устаревшая (последнее обновление: февраль 2023)
-**Kodachi 9 Desktop** - GUI-версия еще не выпущена (в разработке)
- **Особенности**:
- Легкий и интуитивно понятный интерфейс XFCE (только в версии 8.27)
- Встроенные мониторы статуса сети и системы в реальном времени
- Информативные индикаторы состояния VPN и Tor
- Хорошо подходит для пользователей с разным уровнем подготовки
- Чистый и минималистичный дизайн
- **Рекомендация по версиям:**
- Для GUI: используйте **Kodachi 8.27** (устаревшая, но с графикой)
- Для сервера: используйте **Kodachi 9.0.1** (актуальная, но без GUI)
- Для приватности и стабильности: рассмотрите альтернативы (Tails, Qubes OS) или дождитесь Kodachi 9 Desktop
### Tails
- **Окружения рабочего стола**: GNOME
- **Оценка**: ⭐⭐⭐⭐
- **Особенности**:
- Современный и интуитивный интерфейс GNOME
- Упрощенный дизайн, ориентированный на минимализм
- Простота использования для новичков
- Схожесть с популярными операционными системами облегчает адаптацию
- Меньше визуальных элементов, фокус на функциональности
**Победитель по UI**: **Kodachi** - лучший баланс между функциональностью и удобством использования
---
## 2. Функциональность
### Kali Linux
- **Оценка**: ⭐⭐⭐⭐⭐
- **Основное назначение**: Тестирование на проникновение и аудит безопасности
- **Инструменты**:
- Более 600 предустановленных инструментов для пентестинга
- Инструменты для анализа сетей, веб-приложений, криптографии
- Среды разработки для создания эксплойтов
- Инструменты для форензики и анализа данных
- **Применение**:
- Профессиональное тестирование безопасности
- Обучение кибербезопасности
- Аудит систем и сетей
- Разработка и тестирование защитных механизмов
- **Ограничения**:
- Не предназначена для повседневного использования
- Не обеспечивает анонимность по умолчанию
- Требует глубоких знаний для эффективного использования
### Kodachi Linux
- **Оценка**: ⭐⭐⭐⭐
- **Основное назначение**: Анонимность и безопасность в интернете
- **Важно о версиях:**
- **Kodachi 8.27** (GUI): Полноценный графический интерфейс XFCE, но устаревшая база (Ubuntu 18.04.6 LTS)
- **Kodachi 9.0.1** (CLI): Только серверная версия без GUI, актуальная база
- **Kodachi 9 Desktop**: В разработке, дата выхода неизвестна
- **Инструменты** (в версии 8.27 с GUI):
- Принудительный VPN (предустановлен)
- Сеть Tor с дополнительной защитой
- Технология Multi Tor (выбор выходного узла по стране)
- Автоматическая смена MAC-адреса
- Затирание оперативной памяти
- Экстренное прекращение работы системы
- Инструменты для защиты от анализа трафика
- Tor Browser, DNSCrypt, приложения для шифрования
- **Применение**:
- Анонимный серфинг в интернете
- Защита конфиденциальности
- Обход цензуры и географических ограничений
- Безопасная работа с конфиденциальными данными
- **Ограничения**:
- Меньше инструментов для пентестинга, чем в Kali
- Ориентирована на анонимность, а не на тестирование безопасности
- ⚠️ **Kodachi 8.27 устарела** (нет обновлений с февраля 2023) - риски безопасности
- ⚠️ **Kodachi 9.0.1 не имеет GUI** - только командная строка
### Tails
- **Оценка**: ⭐⭐⭐
- **Основное назначение**: Максимальная анонимность и конфиденциальность
- **Инструменты**:
- Tor Browser (предустановлен)
- Принудительное перенаправление всего трафика через Tor
- Инструменты для безопасной работы с данными
- Шифрование дисков
- Защита от восстановления данных
- **Применение**:
- Анонимная работа в интернете
- Защита конфиденциальности
- Работа с конфиденциальными документами
- Обход цензуры
- **Ограничения**:
- Очень ограниченный набор инструментов
- Не предназначена для установки (только Live режим)
- Не подходит для профессиональной работы с инструментами безопасности
**Победитель по функциональности**: **Kali Linux** - для профессиональных задач; **Kodachi** - для баланса функциональности и анонимности
---
## 3. Безопасность
### Kali Linux
- **Оценка**: ⭐⭐⭐
- **Особенности безопасности**:
- Мощные инструменты для тестирования безопасности
- Регулярные обновления безопасности
- Поддержка шифрования дисков
- Не обеспечивает анонимность по умолчанию
- Не защищает от отслеживания
- Может оставлять следы на системе
- **Риски**:
- Не предназначена для защиты данных пользователя
- Отсутствие встроенной анонимности
- Требует дополнительной настройки для обеспечения приватности
### Kodachi Linux
- **Оценка**: ⭐⭐⭐⭐⭐
- **Особенности безопасности**:
- Принудительное перенаправление трафика через VPN + Tor
- Автоматическая смена MAC-адреса
- Затирание оперативной памяти при выключении
- Защита от криминалистического анализа
- Экстренное прекращение работы
- Защита от утечек DNS
- Multi Tor для выбора выходного узла
- **Риски**:
- Зависимость от надежности VPN-провайдера
- Возможные проблемы с производительностью из-за двойного туннелирования
### Tails
- **Оценка**: ⭐⭐⭐⭐⭐
- **Особенности безопасности**:
- Работа в режиме Live (не оставляет следов на диске)
- Принудительное перенаправление всего трафика через Tor
- Автоматическое стирание данных из RAM при выключении
- Не сохраняет историю и данные на используемом компьютере
- Защита от восстановления данных
- Шифрование персистентного хранилища (опционально)
- **Риски**:
- Зависимость от надежности сети Tor
- Ограниченная функциональность может вынуждать использовать другие системы
**Победитель по безопасности**: **Tails** и **Kodachi** (равны) - максимальная защита анонимности и конфиденциальности
---
## 4. Установка на Mac
### Kali Linux
- **Способы установки**:
1. Виртуализация через Parallels Desktop (рекомендуется)
2. Двойная загрузка (более сложно)
3. USB Live режим
- **Сложность**: ⭐⭐⭐⭐
- **Особенности**:
- При установке могут не работать встроенные клавиатура и мышь без драйверов
- Рекомендуется использовать внешние устройства ввода
- Требует настройки разделов диска
- Хорошая производительность в виртуальной машине
- **Совместимость**: Хорошая с виртуализацией, средняя при прямой установке
### Kodachi Linux
- **Способы установки**:
1. USB Live режим (рекомендуется)
2. Виртуализация
3. Установка на диск (опционально)
- **Сложность**: ⭐⭐⭐
- **Особенности**:
- Оптимизирована для работы в Live режиме
- Не требует установки для базового использования
- Может потребоваться дополнительная настройка для полной совместимости с Mac
- Гибкость в использовании
- **Совместимость**: Хорошая в Live режиме, средняя при установке
### Tails
- **Способы установки**:
1. USB Live режим (единственный способ)
2. Виртуализация (не рекомендуется для безопасности)
- **Сложность**: ⭐⭐⭐
- **Особенности**:
- Предназначена только для Live режима
- Не оставляет следов на используемом компьютере
- Могут возникнуть проблемы с загрузкой на некоторых моделях Mac
- Особенности загрузчика Mac могут требовать дополнительной настройки
- **Совместимость**: Средняя (зависит от модели Mac)
---
## Итоговое сравнение
| Критерий | Kali Linux | Kodachi | Tails |
|----------|------------|---------|-------|
| **Удобство UI** | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| **Функциональность** | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
| **Безопасность** | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| **Установка на Mac** | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
| **Анонимность** | ⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| **Инструменты пентестинга** | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐ |
---
## Установка без использования флешек (USB)
Для работы на macOS без использования USB-накопителей доступны следующие варианты:
### Варианты установки
#### 1. Виртуализация (Рекомендуется)
**Программное обеспечение:**
- **Parallels Desktop** (платное, лучшая производительность на Mac)
- **VMware Fusion** (платное/бесплатное для личного использования)
- **VirtualBox** (бесплатное, но менее производительное)
**Преимущества:**
- ✅ Изоляция от основной системы macOS
- ✅ Легкое переключение между системами
- ✅ Снимки состояния (snapshots) для отката изменений
-Не требует изменения разделов диска
- ✅ Безопасность - виртуальная машина изолирована
**Недостатки:**
- ❌ Требует больше ресурсов (RAM, CPU)
- ❌ Меньшая производительность по сравнению с нативной установкой
- ❌ Для Tails виртуализация снижает уровень безопасности
#### 2. Двойная загрузка (Boot Camp / rEFInd)
**Способы:**
- Boot Camp (только для Windows, не подходит для Linux)
- rEFInd или OpenCore (для Linux)
- Создание отдельного раздела на диске
**Преимущества:**
- ✅ Полная производительность системы
- ✅ Прямой доступ к оборудованию
- ✅ Нет накладных расходов виртуализации
**Недостатки:**
- ❌ Сложная установка и настройка
- ❌ Риск повреждения загрузчика macOS
- ❌ Требует изменения разделов диска
- ❌ Проблемы с драйверами на некоторых моделях Mac
---
## Рекомендации для работы БЕЗ флешек
### 🥇 Лучший выбор: **Kali Linux** (виртуализация)
**Почему:**
- ✅ Отлично работает в виртуальной машине
- ✅ Поддерживается Parallels Desktop с версии 17.1.1
-Все драйверы работают корректно (Wi-Fi, буфер обмена, сеть)
- ✅ Хорошая производительность в виртуальной среде
- ✅ Можно использовать для профессиональной работы
**Рекомендуемая конфигурация:**
- **Parallels Desktop** или **VMware Fusion**
- Минимум 4 ГБ RAM для виртуальной машины (рекомендуется 8 ГБ)
- 40+ ГБ дискового пространства
- Внешние устройства ввода (клавиатура/мышь) для начальной установки
**Оценка для работы без флешек**: ⭐⭐⭐⭐⭐
---
### 🥈 Второй выбор: **Kodachi** (виртуализация или установка на диск)
**⚠️ КРИТИЧЕСКИ ВАЖНО: Ситуация с версиями и GUI**
**Текущее состояние (ноябрь 2025):**
| Версия | GUI | Статус | Рекомендация |
|--------|-----|--------|--------------|
| **Kodachi 9.0.1** (окт 2025) | ❌ НЕТ (только CLI) | Актуальная | Только для серверов |
| **Kodachi 8.27** (фев 2023) | ✅ ЕСТЬ (XFCE) | Устаревшая | ⚠️ Риски безопасности |
| **Kodachi 9 Desktop** | ✅ Будет | В разработке | ⏳ Ждать выхода |
**Что есть из коробки с GUI:**
-**Kodachi 8.27** - полноценный графический интерфейс XFCE
- Рабочий стол с панелью задач
- Меню приложений
- Индикаторы VPN/Tor статуса
- Графические инструменты для настройки
- Tor Browser с GUI
- Файловый менеджер
- Терминал с графическим интерфейсом
-**Kodachi 9.0.1** - только командная строка
- Нет графического интерфейса
- Только CLI-инструменты
- Подходит только для серверных задач
**Рекомендации:**
**Для работы с GUI:**
- Используйте **Kodachi 8.27** (если GUI критичен)
- ⚠️ **Понимайте риски:** устаревшая база Ubuntu 18.04, нет обновлений безопасности
- Рассмотрите альтернативы: **Tails** (актуальная, с GUI), **Qubes OS**, **Whonix**
**Для приватности и стабильности:**
- Дождитесь **Kodachi 9 Desktop** (дата выхода неизвестна)
- Или используйте **Tails** - актуальная система с GUI и максимальной приватностью
**Почему Kodachi (8.27 с GUI):**
- ✅ Можно установить на диск или использовать в виртуализации
- ✅ Хорошая совместимость с виртуальными машинами
- ✅ Сохраняет функции анонимности в виртуальной среде
- ✅ Удобный интерфейс для повседневной работы
- ⚠️ Но версия 8.27 устарела и может иметь уязвимости
**Рекомендации:**
- **Виртуализация**: Подходит для тестирования и периодического использования
- **Установка на диск**: Если нужна постоянная работа с анонимностью
- Может потребоваться дополнительная настройка VPN/Tor в виртуальной машине
- ⚠️ **Для продакшена:** рассмотрите альтернативы с актуальными обновлениями
**Оценка для работы без флешек**: ⭐⭐⭐⭐ (с оговоркой об устаревшей версии 8.27)
#### Сравнение виртуализации для Kodachi: UTM vs VirtualBox vs VMware Fusion
| Критерий | UTM | VirtualBox | VMware Fusion |
|----------|-----|-----------|---------------|
| **Стоимость** | ✅ Бесплатно (Open Source) | ✅ Бесплатно | ❌ Платно ($199) / ✅ Бесплатно для личного использования |
| **Поддержка Apple Silicon** | ✅✅ Отличная (нативная) | ⚠️ Ограниченная | ✅✅ Отличная (нативная) |
| **Поддержка Intel Mac** | ✅ Хорошая | ✅✅ Отличная | ✅✅ Отличная |
| **Производительность** | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| **Простота настройки** | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| **Стабильность** | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| **Интеграция с macOS** | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| **Поддержка сетевых функций** | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| **Техническая поддержка** | ❌ Сообщество | ⚠️ Ограниченная | ✅✅ Официальная |
##### 🥇 VMware Fusion (Рекомендуется)
**Преимущества:**
- ✅✅ **Лучшая производительность** - оптимизировано специально для Mac
- ✅✅ **Нативная поддержка Apple Silicon** (M1/M2/M3) и Intel
- ✅✅ **Отличная интеграция с macOS** - общий буфер обмена, drag & drop
- ✅✅ **Стабильная работа сетевых функций** - важно для VPN/Tor в Kodachi
- ✅✅ **Простой и интуитивный интерфейс**
- ✅✅ **Официальная техническая поддержка**
-**Бесплатная версия для личного использования** (VMware Fusion Player)
-**Хорошая поддержка USB-устройств** (если понадобится)
**Недостатки:**
- ❌ Платная версия для коммерческого использования ($199)
- ⚠️ Требует больше ресурсов, чем VirtualBox
**Оценка для Kodachi**: ⭐⭐⭐⭐⭐
**Рекомендация**: Лучший выбор для Kodachi, особенно на Apple Silicon Mac. Бесплатная версия для личного использования покрывает большинство потребностей.
---
##### 🥈 UTM (Второй выбор)
**Преимущества:**
- ✅✅ **Полностью бесплатно** и с открытым исходным кодом
- ✅✅ **Отличная поддержка Apple Silicon** (нативная эмуляция)
-**Современный интерфейс**, похожий на Parallels
-**Активная разработка** и поддержка сообщества
-**Поддержка различных архитектур** (x86_64, ARM64)
**Недостатки:**
- ⚠️ **Более сложная настройка** по сравнению с VMware
- ⚠️ **Меньшая производительность**, чем у VMware Fusion
-**Нет официальной технической поддержки**
- ⚠️ **Может потребоваться ручная настройка сетевых функций** для VPN/Tor
**Оценка для Kodachi**: ⭐⭐⭐⭐
**Рекомендация**: Хороший бесплатный выбор, особенно на Apple Silicon. Подходит, если нужна бесплатная альтернатива VMware.
---
##### 🥉 VirtualBox (Третий выбор)
**Преимущества:**
- ✅✅ **Полностью бесплатно** и кроссплатформенное
-**Простой и знакомый интерфейс**
-**Хорошая поддержка на Intel Mac**
-**Большое сообщество** и множество руководств
-**Легковесное** решение
**Недостатки:**
-**Ограниченная поддержка Apple Silicon** - работает через Rosetta 2, низкая производительность
- ⚠️ **Меньшая производительность**, чем у VMware и UTM
- ⚠️ **Проблемы с сетевыми функциями** на новых версиях macOS
- ⚠️ **Может быть нестабильным** на macOS Ventura и новее
- ⚠️ **Сложности с USB-устройствами** на новых Mac
**Оценка для Kodachi**: ⭐⭐⭐ (на Intel Mac), ⭐⭐ (на Apple Silicon)
**Рекомендация**: Подходит только для Intel Mac. На Apple Silicon лучше выбрать UTM или VMware Fusion.
---
### Итоговая рекомендация для Kodachi:
#### На Apple Silicon Mac (M1/M2/M3):
1. **VMware Fusion Player** (бесплатно для личного использования) - лучший выбор
2. **UTM** - хорошая бесплатная альтернатива
#### На Intel Mac:
1. **VMware Fusion Player** (бесплатно для личного использования) - лучший выбор
2. **VirtualBox** - бесплатная альтернатива, но менее производительная
3. **UTM** - также работает, но может быть избыточным
**Важно для Kodachi**: Убедитесь, что выбранная виртуализация правильно передает сетевые интерфейсы для работы VPN и Tor. VMware Fusion лучше всего справляется с этим.
---
### ⚠️ НЕ рекомендуется: **Tails** (без флешек)
**Почему НЕ рекомендуется:**
-**Tails специально разработана для Live режима с USB**
- ❌ Виртуализация снижает уровень безопасности (может оставлять следы)
- ❌ Противоречит основной концепции системы (не оставлять следов)
- ❌ Разработчики Tails не рекомендуют виртуализацию для безопасности
- ❌ Установка на диск возможна, но теряется главное преимущество (не оставлять следов)
**Если всё же необходимо:**
- Можно использовать виртуализацию для тестирования, но **НЕ для реальной работы с конфиденциальными данными**
- Установка на диск возможна, но система потеряет основное преимущество
**Оценка для работы без флешек**: ⭐⭐ (не рекомендуется)
---
## Итоговая рекомендация для работы БЕЗ флешек
### Для пентестинга и безопасности:
**→ Kali Linux в Parallels Desktop или VMware Fusion**
### Для анонимности и конфиденциальности:
**→ Kodachi в виртуализации или установка на диск**
### Для максимальной анонимности:
**→ Используйте Tails с USB (безопасность важнее удобства)**
---
## Рекомендации по выбору
### Выберите **Kali Linux**, если:
- Вы специалист по кибербезопасности
- Вам нужны инструменты для тестирования на проникновение
- Вы проводите аудит безопасности
- Анонимность не является приоритетом
- Готовы к более сложной установке
### Выберите **Kodachi**, если:
- Вам нужен баланс между функциональностью и анонимностью
- Важна защита конфиденциальности в интернете
- Нужна гибкость в использовании (Live или установка)
- Хотите удобный интерфейс с информативными индикаторами
- Нужен выбор выходного узла Tor по стране
### Выберите **Tails**, если:
- Максимальная анонимность - главный приоритет
- Вы не хотите оставлять следы на компьютере
- Нужна простота использования
- Вы работаете с конфиденциальными данными
- Готовы к ограниченной функциональности ради безопасности
---
## Заключение
Каждая из этих операционных систем имеет свои сильные стороны:
- **Kali Linux** - лучший выбор для профессиональной работы с инструментами безопасности
- **Kodachi** - оптимальный баланс между функциональностью, удобством и безопасностью
- **Tails** - максимальная анонимность и конфиденциальность
Выбор зависит от ваших конкретных потребностей и приоритетов.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 MiB

92
docs/security/find-phone-mac.sh Executable file
View File

@@ -0,0 +1,92 @@
#!/bin/zsh
# Helper script to find phone MAC address
# Tries multiple methods to detect phone hotspot MAC
set -euo pipefail
BLUE='\033[0;34m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m'
echo -e "${BLUE}=== Поиск MAC-адреса телефона ===${NC}\n"
# Method 1: Check if connected to hotspot
echo -e "${YELLOW}Метод 1: Проверка подключения к hotspot...${NC}"
if networksetup -getairportnetwork en0 &>/dev/null; then
network_info=$(networksetup -getairportnetwork en0 2>/dev/null)
if [[ "$network_info" != *"not associated"* ]]; then
echo -e "${GREEN}✓ Подключен к сети${NC}"
# Try to get BSSID using airport (deprecated but may work)
bssid=$(/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I 2>/dev/null | grep -i "BSSID" | awk '{print $2}' || echo "")
if [ -n "$bssid" ] && [ "$bssid" != "none" ]; then
echo -e "${GREEN}✓ Найден BSSID (MAC точки доступа): $bssid${NC}"
echo ""
echo -e "${GREEN}Используйте этот MAC:${NC}"
echo "./spoof-wifi-mac.sh $bssid"
exit 0
else
echo -e "${YELLOW}Не удалось определить BSSID автоматически${NC}"
fi
else
echo -e "${RED}Не подключен к Wi-Fi сети${NC}"
fi
else
echo -e "${RED}✗ Wi-Fi интерфейс не найден${NC}"
fi
echo ""
# Method 2: Check ARP table for connected devices
echo -e "${YELLOW}Метод 2: Проверка ARP таблицы...${NC}"
gateway=$(route -n get default 2>/dev/null | grep gateway | awk '{print $2}' || echo "")
if [ -n "$gateway" ]; then
echo -e "${GREEN}✓ Шлюз: $gateway${NC}"
arp_mac=$(arp -n "$gateway" 2>/dev/null | awk '{print $4}' | grep -E "^([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}$" || echo "")
if [ -n "$arp_mac" ]; then
echo -e "${GREEN}✓ MAC шлюза (возможно точка доступа): $arp_mac${NC}"
echo ""
echo -e "${GREEN}Возможный MAC точки доступа:${NC}"
echo "./spoof-wifi-mac.sh $arp_mac"
echo ""
echo -e "${YELLOW}⚠ Это MAC роутера/точки доступа, проверьте на телефоне${NC}"
else
echo -e "${YELLOW}Не удалось определить MAC из ARP${NC}"
fi
else
echo -e "${RED}✗ Шлюз не найден${NC}"
fi
echo ""
# Method 3: Instructions
echo -e "${BLUE}=== Ручной способ получения MAC ===${NC}\n"
echo -e "${YELLOW}iPhone:${NC}"
echo "1. Настройки → Wi-Fi"
echo "2. Нажмите (i) рядом с активной сетью"
echo "3. Отключите 'Частный Wi-Fi адрес'"
echo "4. Скопируйте 'Адрес Wi-Fi'"
echo ""
echo -e "${YELLOW}Android:${NC}"
echo "1. Настройки → О телефоне → Статус"
echo "2. Найдите 'MAC-адрес Wi-Fi'"
echo ""
echo -e "${YELLOW}Для точки доступа (hotspot):${NC}"
echo "1. Включите точку доступа на телефоне"
echo "2. Подключите MacBook к hotspot"
echo "3. Запустите: ./spoof-wifi-mac.sh --phone-mac"
echo ""
echo -e "${BLUE}=== Альтернативный способ ===${NC}\n"
echo "Если MAC не отображается на телефоне:"
echo "1. Подключите MacBook к hotspot телефона"
echo "2. Запустите: ./spoof-wifi-mac.sh --phone-mac"
echo " (скрипт автоматически определит MAC точки доступа)"
echo ""

26
docs/security/spoof-mac-now.sh Executable file
View File

@@ -0,0 +1,26 @@
#!/bin/zsh
# Wrapper script to spoof MAC with password prompt
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
MAC="7a:ef:be:50:00:55"
echo "=== Подмена MAC Wi-Fi ==="
echo "Текущий MAC будет заменен на MAC точки доступа: $MAC"
echo ""
# Try to get password via osascript
PASSWORD=$(osascript -e 'Tell application "System Events" to display dialog "Введите пароль администратора для подмены MAC:" default answer "" with hidden answer' -e 'text returned of result' 2>/dev/null || echo "")
if [ -z "$PASSWORD" ]; then
echo "Запуск скрипта подмены MAC..."
echo "Вам будет предложено ввести пароль sudo"
echo ""
cd "$SCRIPT_DIR"
./spoof-wifi-mac.sh "$MAC"
else
echo "Использование предоставленного пароля..."
echo "$PASSWORD" | sudo -S "$SCRIPT_DIR/spoof-wifi-mac.sh" "$MAC"
fi

362
docs/security/spoof-wifi-mac.sh Executable file
View File

@@ -0,0 +1,362 @@
#!/bin/zsh
# Advanced Wi-Fi MAC spoofing script for macOS
# Automatically detects phone hotspot MAC or allows manual input
# Usage:
# spoof-wifi-mac.sh # auto-detect connected hotspot MAC
# spoof-wifi-mac.sh --phone-mac # detect phone MAC from hotspot
# spoof-wifi-mac.sh AA:BB:CC:DD:EE:FF # set specific MAC
# spoof-wifi-mac.sh --revert # restore original MAC
set -euo pipefail
# Get absolute path to script
if [ -n "${ZSH_VERSION:-}" ]; then
SCRIPT_PATH="${0:A}"
else
SCRIPT_PATH="$(cd "$(dirname "$0")" && pwd)/$(basename "$0")"
fi
# Fallback if still empty
if [ -z "$SCRIPT_PATH" ] || [ ! -f "$SCRIPT_PATH" ]; then
SCRIPT_PATH="$(cd "$(dirname "$0")" && pwd)/$(basename "$0")"
fi
STATE_FILE="/tmp/wifi_mac_spoof_state"
ORIGINAL_MAC_FILE="/tmp/wifi_mac_original"
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
require_root() {
if [ "$EUID" -ne 0 ] && [ "$(id -u)" -ne 0 ]; then
echo -e "${YELLOW}Re-running with sudo...${NC}"
exec sudo -E "$0" "${@}"
fi
}
detect_wifi_if() {
local iface
iface=$(networksetup -listallhardwareports | awk '/Wi-Fi/{getline; print $2; exit}')
if [ -z "$iface" ]; then
echo -e "${RED}Error: Could not detect Wi-Fi interface${NC}"
exit 1
fi
echo "$iface"
}
get_current_mac() {
local iface="$1"
ifconfig "$iface" 2>/dev/null | awk '/ether/{print $2; exit}' || echo ""
}
get_connected_network() {
local iface="$1"
/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I 2>/dev/null | awk '/ SSID:/ {print substr($0, index($0,$2))}' || echo ""
}
get_connected_bssid() {
local iface="$1"
/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I 2>/dev/null | awk '/ BSSID:/ {print $2}' || echo ""
}
detect_phone_hotspot_mac() {
local iface="$1"
local bssid
echo -e "${BLUE}Detecting connected hotspot MAC...${NC}"
bssid=$(get_connected_bssid "$iface")
if [ -z "$bssid" ] || [ "$bssid" = "none" ]; then
echo -e "${YELLOW}Warning: Not connected to Wi-Fi or cannot detect BSSID${NC}"
return 1
fi
echo -e "${GREEN}Found hotspot BSSID: $bssid${NC}"
echo "$bssid"
return 0
}
validate_mac() {
local mac="$1"
if ! [[ "$mac" =~ ^([[:xdigit:]]{2}:){5}[[:xdigit:]]{2}$ ]]; then
echo -e "${RED}Invalid MAC format: $mac (expected AA:BB:CC:DD:EE:FF)${NC}"
exit 1
fi
}
power_wifi() {
local iface="$1"
local state="$2" # on|off
networksetup -setairportpower "$iface" "$state" 2>/dev/null || true
sleep 1
}
save_original_mac() {
local iface="$1"
local mac="$2"
if [ ! -f "$ORIGINAL_MAC_FILE" ]; then
echo "$iface|$mac" > "$ORIGINAL_MAC_FILE"
echo -e "${GREEN}Saved original MAC for permanent restore: $mac${NC}"
fi
}
check_sip_status() {
local sip_status
sip_status=$(csrutil status 2>/dev/null | grep -i "enabled" || echo "unknown")
if [[ "$sip_status" == *"enabled"* ]]; then
return 0 # SIP enabled
else
return 1 # SIP disabled or unknown
fi
}
set_mac() {
local iface="$1"
local mac="$2"
local current_mac
current_mac=$(get_current_mac "$iface")
if [ -z "$current_mac" ]; then
echo -e "${RED}Error: Cannot read current MAC address${NC}"
exit 1
fi
echo -e "${BLUE}Current MAC: $current_mac${NC}"
echo -e "${BLUE}Target MAC: $mac${NC}"
if [ "$current_mac" = "$mac" ]; then
echo -e "${YELLOW}MAC already set to target value${NC}"
return 0
fi
# Check SIP status
if check_sip_status; then
echo -e "${YELLOW}⚠ System Integrity Protection (SIP) is enabled${NC}"
echo -e "${YELLOW}MAC spoofing may be blocked on Apple Silicon with SIP enabled${NC}"
fi
# Save original MAC if not saved
save_original_mac "$iface" "$current_mac"
# Save for revert
echo "$iface $current_mac" > "$STATE_FILE"
echo -e "${YELLOW}Turning Wi-Fi off...${NC}"
power_wifi "$iface" off
echo -e "${YELLOW}Setting MAC to $mac...${NC}"
# Try ifconfig method
local success=false
if ifconfig "$iface" ether "$mac" 2>/dev/null; then
success=true
fi
if [ "$success" = false ]; then
echo -e "${RED}✗ Error: Failed to set MAC address${NC}"
echo ""
echo -e "${BLUE}=== РЕШЕНИЕ ПРОБЛЕМЫ ===${NC}"
echo ""
if check_sip_status; then
echo -e "${YELLOW}На Apple Silicon (M1/M2/M3) с включенным SIP подмена MAC заблокирована${NC}"
echo ""
echo -e "${YELLOW}Варианты решения:${NC}"
echo "1. Отключить SIP (НЕ рекомендуется - снижает безопасность)"
echo " - Перезагрузите в Recovery Mode (Cmd+R)"
echo " - Утилиты → Терминал → csrutil disable"
echo " - Перезагрузите Mac"
echo ""
echo "2. Использовать альтернативные методы:"
echo " • VPN на телефоне (рекомендуется)"
echo " • USB Tethering вместо Wi-Fi hotspot"
echo " • Bluetooth Tethering"
echo ""
echo -e "${BLUE}Важно:${NC}"
echo "Оператор сотовой связи видит IMEI телефона, а не MAC MacBook."
echo "MAC клиента виден только на уровне локальной Wi-Fi сети."
echo "Подмена MAC не меняет идентификацию на уровне оператора."
else
echo -e "${YELLOW}Интерфейс может не поддерживать подмену MAC${NC}"
echo -e "${YELLOW}Или требуется дополнительная настройка${NC}"
fi
power_wifi "$iface" on
exit 1
fi
echo -e "${YELLOW}Turning Wi-Fi on...${NC}"
power_wifi "$iface" on
sleep 2
local new_mac
new_mac=$(get_current_mac "$iface")
if [ "$new_mac" = "$mac" ]; then
echo -e "${GREEN}✓ Success! MAC changed to: $new_mac${NC}"
else
echo -e "${RED}⚠ Warning: MAC may not have changed${NC}"
echo -e "${YELLOW}Current MAC: $new_mac${NC}"
echo -e "${YELLOW}Target MAC: $mac${NC}"
echo -e "${YELLOW}This may require disabling SIP or using a different method${NC}"
fi
}
revert_mac() {
local iface
local original_mac
if [ -f "$STATE_FILE" ]; then
read iface original_mac < "$STATE_FILE"
elif [ -f "$ORIGINAL_MAC_FILE" ]; then
local saved
saved=$(cat "$ORIGINAL_MAC_FILE")
iface=$(echo "$saved" | cut -d'|' -f1)
original_mac=$(echo "$saved" | cut -d'|' -f2)
else
echo -e "${RED}No saved MAC found. Cannot revert.${NC}"
exit 1
fi
if [ -z "${iface:-}" ] || [ -z "${original_mac:-}" ]; then
echo -e "${RED}State file is corrupted. Delete $STATE_FILE and $ORIGINAL_MAC_FILE${NC}"
exit 1
fi
echo -e "${BLUE}Restoring MAC for $iface to $original_mac...${NC}"
power_wifi "$iface" off
ifconfig "$iface" ether "$original_mac" 2>/dev/null || {
echo -e "${RED}Failed to restore MAC${NC}"
power_wifi "$iface" on
exit 1
}
power_wifi "$iface" on
sleep 2
rm -f "$STATE_FILE"
local current
current=$(get_current_mac "$iface")
echo -e "${GREEN}✓ Reverted. Current MAC: $current${NC}"
}
show_instructions() {
echo -e "${BLUE}=== ИНСТРУКЦИИ ПО ПОЛУЧЕНИЮ MAC ТЕЛЕФОНА ===${NC}"
echo ""
echo -e "${YELLOW}iPhone:${NC}"
echo "1. Настройки → Wi-Fi"
echo "2. Нажмите (i) рядом с сетью"
echo "3. Отключите 'Частный Wi-Fi адрес' (Private Wi-Fi Address)"
echo "4. MAC-адрес будет показан как 'Адрес Wi-Fi'"
echo ""
echo -e "${YELLOW}Android:${NC}"
echo "1. Настройки → О телефоне → Статус"
echo "2. Найдите 'MAC-адрес Wi-Fi'"
echo ""
echo -e "${YELLOW}Альтернативный способ (если подключены к hotspot):${NC}"
echo "Скрипт может автоматически определить MAC точки доступа"
echo "Используйте: $0 --phone-mac"
echo ""
}
main() {
# Check if we need root and restart with sudo if needed
# Skip check for help/instructions commands that don't need root
local arg="${1:-}"
local needs_root=false
if [ "$arg" != "--help" ] && [ "$arg" != "-h" ] && [ "$arg" != "--instructions" ]; then
needs_root=true
fi
if [ "$needs_root" = true ] && [ "$(id -u)" -ne 0 ]; then
echo -e "${YELLOW}Re-running with sudo...${NC}"
exec sudo -E "$SCRIPT_PATH" "${@}"
exit 0
fi
if [ "$arg" = "--help" ] || [ "$arg" = "-h" ]; then
echo "Usage: $0 [OPTIONS] [MAC_ADDRESS]"
echo ""
echo "Options:"
echo " --phone-mac Auto-detect phone hotspot MAC"
echo " --revert Restore original MAC"
echo " --instructions Show instructions for finding phone MAC"
echo " --help Show this help"
echo ""
echo "Examples:"
echo " $0 # Interactive mode"
echo " $0 --phone-mac # Auto-detect hotspot MAC"
echo " $0 AA:BB:CC:DD:EE:FF # Set specific MAC"
echo " $0 --revert # Restore original"
exit 0
fi
if [ "$arg" = "--instructions" ]; then
show_instructions
exit 0
fi
if [ "$arg" = "--revert" ]; then
revert_mac
exit 0
fi
local iface
iface=$(detect_wifi_if)
echo -e "${GREEN}Wi-Fi interface: $iface${NC}"
local target_mac=""
if [ "$arg" = "--phone-mac" ]; then
target_mac=$(detect_phone_hotspot_mac "$iface")
if [ -z "$target_mac" ]; then
echo -e "${RED}Could not detect phone hotspot MAC${NC}"
echo -e "${YELLOW}Make sure you're connected to phone hotspot and try manual input${NC}"
show_instructions
exit 1
fi
elif [ -n "$arg" ]; then
target_mac="$arg"
else
# Try auto-detect first
local detected
detected=$(detect_phone_hotspot_mac "$iface" 2>/dev/null || echo "")
if [ -n "$detected" ]; then
echo -e "${GREEN}Detected hotspot MAC: $detected${NC}"
read "confirm?Use this MAC? (y/n): "
if [[ "$confirm" =~ ^[Yy] ]]; then
target_mac="$detected"
else
read "target_mac?Enter phone Wi-Fi MAC (AA:BB:CC:DD:EE:FF): "
fi
else
show_instructions
read "target_mac?Enter phone Wi-Fi MAC (AA:BB:CC:DD:EE:FF): "
fi
fi
if [ -z "$target_mac" ]; then
echo -e "${RED}No MAC address provided${NC}"
exit 1
fi
validate_mac "$target_mac"
set_mac "$iface" "$target_mac"
echo ""
echo -e "${BLUE}=== ВАЖНО ===${NC}"
echo -e "${YELLOW}• MAC сбросится после перезагрузки или переподключения Wi-Fi${NC}"
echo -e "${YELLOW}• Используйте '$0 --revert' для восстановления${NC}"
echo -e "${YELLOW}• Для постоянной подмены может потребоваться отключение SIP${NC}"
echo -e "${YELLOW}• Оператор видит трафик через точку доступа, MAC клиента виден только на уровне Wi-Fi${NC}"
}
main "$@"