Initial commit: local_machine docs and scripts
This commit is contained in:
201
docs/security/APPLE_SILICON_MAC_SPOOFING.md
Normal file
201
docs/security/APPLE_SILICON_MAC_SPOOFING.md
Normal 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
|
||||
|
||||
317
docs/security/KODACHI_UTM_INSTALLATION.md
Normal file
317
docs/security/KODACHI_UTM_INSTALLATION.md
Normal 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 |
|
||||
|
||||
---
|
||||
|
||||
**Успешной установки! 🚀**
|
||||
|
||||
297
docs/security/MAC_SPOOFING_GUIDE.md
Normal file
297
docs/security/MAC_SPOOFING_GUIDE.md
Normal 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) - альтернативные методы защиты приватности
|
||||
|
||||
501
docs/security/OS_COMPARISON.md
Normal file
501
docs/security/OS_COMPARISON.md
Normal 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** - максимальная анонимность и конфиденциальность
|
||||
|
||||
Выбор зависит от ваших конкретных потребностей и приоритетов.
|
||||
|
||||
BIN
docs/security/Screenshot 2025-11-21 at 00.41.19.png
Normal file
BIN
docs/security/Screenshot 2025-11-21 at 00.41.19.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.7 MiB |
BIN
docs/security/Screenshot 2025-11-21 at 00.41.37.png
Normal file
BIN
docs/security/Screenshot 2025-11-21 at 00.41.37.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.6 MiB |
BIN
docs/security/Screenshot 2025-11-21 at 18.58.58.png
Normal file
BIN
docs/security/Screenshot 2025-11-21 at 18.58.58.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 MiB |
BIN
docs/security/Screenshot 2025-11-21 at 18.59.10.png
Normal file
BIN
docs/security/Screenshot 2025-11-21 at 18.59.10.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.4 MiB |
92
docs/security/find-phone-mac.sh
Executable file
92
docs/security/find-phone-mac.sh
Executable 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
26
docs/security/spoof-mac-now.sh
Executable 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
362
docs/security/spoof-wifi-mac.sh
Executable 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 "$@"
|
||||
Reference in New Issue
Block a user