Security Bite: Очистите общедоступные Wi-Fi соединения с помощью скрипта

Владеете ли вы Mac лично или управляете парком устройств с помощью корпоративного программного обеспечения для конечных точек, такого как Mosyle, скорее всего, у вас есть десятки старых незащищенных беспроводных сетей — точек Wi-Fi, которые не требуют аутентификации. Распространенные места, где пользователи подключаются и сохраняют эти сети, могут быть Starbucks (часто «Starbucks WiFi») и аэропорты (например, «Airport Guest»).

Итак, каков риск? Злоумышленники могут использовать это, создавая поддельные точки доступа с теми же SSID, обманывая ваше устройство, чтобы оно подключалось автоматически. Чтобы предотвратить такие атаки подмены, вы можете автоматизировать удаление распространенных SSID с помощью следующего скрипта!


9to5Mac Security Bite эксклюзивно предоставляется Mosyle, единственной унифицированной платформой Apple. Мы делаем устройства Apple готовыми к работе и безопасными для бизнеса. Наш уникальный интегрированный подход к управлению и безопасности сочетает в себе передовые решения для безопасности, специфичные для Apple, для полностью автоматизированного усиления защиты и соответствия требованиям, современный EDR, основанный на ИИ Zero Trust, и эксклюзивное управление привилегиями с самым мощным и современным MDM для Apple на рынке. Результатом является полностью автоматизированная унифицированная платформа Apple, которой сейчас доверяют более 45 000 организаций, чтобы сделать миллионы устройств Apple готовыми к работе без усилий и по доступной цене. Запросите свой РАСШИРЕННЫЙ ТЕСТОВЫЙ ПЕРИОД сегодня и поймите, почему Mosyle — это все, что вам нужно для работы с Apple.

Одним из самых печально известных инструментов, используемых для таких атак, является Wi-Fi Pineapple, который обычно используется тестировщиками на проникновение и злоумышленниками для атак типа «человек посередине» (MitM). Это устройство может быть настроено как поддельная точка доступа для трансляции фальшивых сетей с часто используемыми SSID, чтобы обманом заставить компьютеры подключаться автоматически, полагая, что они присоединяются к доверенной сети. Я думаю, большинство пользователей увидят, что у них есть рабочее соединение, и не станут дальше разбираться. Тем временем каждый бит данных, передаваемый между машиной жертвы и Интернетом, незаметно перехватывается Pineapple, и, следовательно, злоумышленником.

Как и другие компьютеры, Mac также склонны к автоматическому подключению к знакомым незащищенным сетям, а не к приоритетному подключению к защищенным. Хотя этот тип атаки не очень распространен, это реальный риск, о котором стоит знать. Чтобы предотвратить подмену SSID, вы можете автоматизировать удаление распространенных незащищенных сетей с вашего Mac с помощью следующего скрипта.

Я разобью это на шаги для тех, кто не знаком со скриптами оболочки.

Шаг 1: Откройте Терминал

Откройте Терминал или ваш предпочтительный эмулятор.

Шаг 2: Создайте файл скрипта

Далее мы создадим новый файл скрипта с помощью вашего предпочтительного редактора. Мне нравится Nano (:

nano remove_public_wifi.sh

Шаг 3: Скрипт

Скопируйте и вставьте мой скрипт в новый файл remove_public_wifi.sh. Вы можете изменять и добавлять столько SSID, сколько захотите, в списке ниже.

#!/bin/bash

#############
# By Arin Waichulis
# Created 09/08/2024
# Last tested on 03/14/2025 with macOS Sequoia 15.4
#############

for interface in $(networksetup -listnetworkserviceorder | grep Hardware | awk '/Wi-Fi/ { print $NF }' | awk -F ")" '{ print $1 }')
do
    echo "Now removing saved Wi-Fi networks from $interface"
    networksetup -removepreferredwirelessnetwork $interface "Starbucks WiFi"
    networksetup -removepreferredwirelessnetwork $interface "Starbucks"
    networksetup -removepreferredwirelessnetwork $interface "Panera"
    networksetup -removepreferredwirelessnetwork $interface "CVG Free"
    networksetup -removepreferredwirelessnetwork $interface "FreeWiFi"
    networksetup -removepreferredwirelessnetwork $interface "SFO WiFi"
    networksetup -removepreferredwirelessnetwork $interface "Public Free"
    networksetup -removepreferredwirelessnetwork $interface "Airport-WiFi"
    networksetup -removepreferredwirelessnetwork $interface "DaysInn_Guest"
    networksetup -removepreferredwirelessnetwork $interface "Free-Network"
done

exit 0

Шаг 4: Сохраните и выйдите

Сохраните файл в Nano, нажав Ctrl + O, а затем нажмите Enter, чтобы подтвердить имя.

Выйдите из файла, нажав Ctrl + X

Шаг 5: Сделайте файл исполняемым

Наконец, нам нужно предоставить файлу права на выполнение, прежде чем мы сможем его запустить. В противном случае он далеко не уйдет. Мы можем сделать это следующим образом:

chmod +x remove_public_wifi.sh

Шаг 6: Запуск! Запуск! Запуск!

Мы можем запустить скрипт, введя следующее, а затем аутентифицировавшись как sudo.

sudo ./remove_public_wifi.sh

Подробнее: Как подтвердить аутентификацию как sudo, используя Touch ID вместо ввода пароля

Это остановит ваш Mac от автоматического подключения к любым перечисленным нами сетям, включая защищенные. Конечно, вы также можете сделать это вручную, перейдя в Настройки -> Wi-Fi -> Дополнительно и удаляя каждую вручную; однако вы найдете вышеописанный метод более оптимизированным, если вы много путешествуете по работе и предпочитаете корпоративные решения.

Пожалуйста, оставляйте любые вопросы или комментарии ниже (: