Приветствую всех технических энтузиастов и отдельно — участников соревнования Wireless Fuzzy Frenzy, которое состоялось в рамках ежегодного фестиваля практической кибербезопасности PHDays 12. Пришла пора раскрыть карты и разобрать детально, с чем бы ты столкнулся, если бы решил принять участие в этом конкурсе 19 и 20 мая в Парке Горького с ноутбуком в руках, и не отступил перед трудностями.
Wireless Fuzzy Frenzy
Беспроводной, пушистый, безумный — каждое из этих слов выражает высокоуровневую концепцию, на которую я опирался, когда придумывал конкурс.
Беспроводной — потому что Wi-Fi: я хотел донести идею о связи виртуальной и реальной стороны кибербезопасности.
Пушистый — потому что дружелюбный к новичкам: некоторые задачи можно было решить с телефона, во всем можно было разобраться без предварительной подготовки.
Безумный — потому что конкурс был экспериментальным, и я до конца никак не мог спрогнозировать, как будут развиваться события.
![](https://habrastorage.org/getpro/habr/upload_files/853/326/49d/85332649d9ed640652a279b89d8530cd.jpg)
Состязание состояло из трех задач, и первая подразделялась на три одинаковые подзадачи.
Нужно обнаружить три точки доступа, раскиданные по периметру, и сдать флаги.
Необходимо узнать имя и пароль скрытой сети, подключиться к внутреннему ресурсу, атаковать ZIP-архив по известному тексту и сдать флаг.
Провести брутфорс хендшейка, получить доступ к внутреннему ресурсу, обнаружить и сдать флаг.
Давайте начнем с первой задачи.
CYBER_FOX
Описание задачи:
Привет! На радиоэфире спрятались три «цифровые» лисы. Ваша задача проста — определить их точное расположение и забрать флаг. Удачи!
Как можно догадаться из названия, это модификация спортивной радиопеленгации, также известной как «охота на лис». Суть этой задачи — в установлении точного местоположения передатчика, сканировании кода на крышке коробочки и получении флага.
![Внутри коробочек находились ESP32, запитанные от внешних источников, которые, по сути, и представляли «лис». Внутри коробочек находились ESP32, запитанные от внешних источников, которые, по сути, и представляли «лис».](https://habrastorage.org/getpro/habr/upload_files/c50/5cf/9e8/c505cf9e8d8e813ba8151726cb894d0f.png)
Возможные подходы к решению:
Можно воспользоваться любым софтом, который поддерживает отображение силы сигнала точки доступа в реальном времени (например, airodump-ng в Kali Linux или WiFi Analyzer Android).
Прогуляться по площадке, ориентируясь на сигнала, либо же обнаружить точку в эфире и впоследствии снять силу сигнала и свои координаты с трех позиций, получив в точке пересечения зону расположения передатчика.
Если бы задача была сложнее и не ограничивалась одним павильоном, нужно было бы использовать специализированный софт, который позволяет собирать координаты и названия точек. О существовании такого софта нам намекает файл, приложенный ко второй задаче (об этом немного позже). Примером такого софта является WiFi Tracker для Android.
Если вы сталкивались с таким хобби, как wardriving, то можно было использовать Kismet с подключенным GPS (или смартфон).
Самое популярное решение — просто пройтись с приемником, интуитивно сделать предположение о возможном расположении передатчика и проверить несколько вариантов.
![Принципиальный подход к триангуляции Принципиальный подход к триангуляции](https://habrastorage.org/getpro/habr/upload_files/b75/c9f/be0/b75c9fbe06ca3ed47e1f867999820c8e.png)
Два передатчика находились у двух входов в шатер Standoff, где находился макет цифрового Государства F .
![](https://habrastorage.org/getpro/habr/upload_files/2a0/fd9/bef/2a0fd9bef8e4165b24bddb5600e38e06.gif)
Третий было найти сложнее — он находился в зоне конкурса AI Track: Data Breakout.
![](https://habrastorage.org/getpro/habr/upload_files/4ec/3ea/6d0/4ec3ea6d0aa3e3ba70dd03e3a878bb40.png)
Normal_Name
Описание задачи:
Я хотел иметь точку доступа с самым нормальным названием. Решил посмотреть, что есть у соседей. Обнаружил это: greetings-from-the-internet all lowercase.
Вместе с этим мы дали участникам файл.
![](https://habrastorage.org/getpro/habr/upload_files/69e/a3c/b17/69ea3cb17b979af33c3723ae9e2e0ed4.png)
Это выгрузка данных, собранных программой WiFi Tracker в одну из моих летних поездок на самокате. Однако давайте обратим внимание на фразу greetings-from-the-internet all lowercase.
![](https://habrastorage.org/getpro/habr/upload_files/0ec/d99/692/0ecd996921c06dd303c2bdf946eb88b4.png)
Гуглим ее и натыкаемся на коллекцию открыток немецкого художника Арама Бартолла, которая находится в Музее криптографии в Москве.
![](https://habrastorage.org/getpro/habr/upload_files/abb/1dd/9a0/abb1dd9a05ee1dfd3e1ab8ff006d0783.png)
Посмотрев повнимательнее, можно увидеть на одной из карточек надпись all lowercase.
![](https://habrastorage.org/getpro/habr/upload_files/cf1/9ec/4a3/cf19ec4a3935a283aa6a91778ca01abf.png)
Получаем пароль, но пока непонятно, от какой он точки. Просканировав эфир, можно увидеть скрытую сеть в конкурсной зоне.
![](https://habrastorage.org/getpro/habr/upload_files/33e/192/52d/33e19252dd3381275f0a577989ba7513.png)
То есть на этом этапе у нас есть пароль от точки, но мы не знаем ее названия, потому подключиться к ней не можем. Есть два варианта:
Выполнить деаутентификацию клиентов от точки и в момент подключения перехватить название, как написано в инструкции.
Попытаться раскопать файл и достать название из него. В файле нужно выделить столбец SSID и выполнить подсчет частоты символов в каждой позиции.
Отлично, название скрытой сети — TP-Link_-020.
Можем подключиться и выполнить сканирование сети. Находим точку, которая держит у себя HTTP-сервер, подключаемся и смотрим, что внутри.
![](https://habrastorage.org/getpro/habr/upload_files/dd8/fc1/590/dd8fc1590b6806be1b9c72a1f4aa1ab6.png)
Видим 100 архивов, часть из которых зашифрована.
![](https://habrastorage.org/getpro/habr/upload_files/c16/0e0/ad0/c160e0ad0706c8a21162bede81b826b5.png)
Замечаем повторяющийся файл README в каждом архиве.
Сопоставляя факты, можно сделать верное предположение, что часть зашифрованных архивов можно расшифровать. Это атака на ZIP-архив по открытому слову.
Воспользуемся доступным инструментарием bkcrack.
Смотрим индекс файлов
![](https://habrastorage.org/getpro/habr/upload_files/4e2/59a/d65/4e259ad654722f55989790684b7bea6d.png)
Указываем какой файл нам известен и его индекс в архиве и успешно проводим атаку.
![](https://habrastorage.org/getpro/habr/upload_files/e01/b64/096/e01b64096b3919a10a9a3f5312c5170a.png)
Расшифровываем все архивы используя найденный ключ.
![](https://habrastorage.org/getpro/habr/upload_files/acc/e04/ea8/acce04ea8bb4960d1b91b3da6bcca09e.png)
Внутри архивов лежат разные картинки, сгенерированные нейросетью.
![](https://habrastorage.org/getpro/habr/upload_files/88d/9f4/e84/88d9f4e84da4486b30cc176a3b12a04a.png)
Одна фотография явно отличается и содержит в себе флаг.
What_you_doing
Описание задачи:
Мне стало интересно, чем занимается мой друг. Я отключил его от точки Wi-Fi и перехватил следующие данные:
● запись звука ввода пароля;
● отпечатки пальцев нажатий на клавиатуру;
● хендшейк аутентификации.
Помоги мне узнать, что происходит в его сети.
192.168.1.100
![](https://habrastorage.org/getpro/habr/upload_files/35f/77b/40f/35f77b40fa2bae490957bf262f5e82b4.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/655/85e/6b5/65585e6b59a1fbba5977fa2a616c75b9.png)
![](https://habrastorage.org/getpro/habr/upload_files/5a4/a4e/106/5a4a4e106a032bba4ca1e83827dca0a0.png)
На этом этапе нужно сделать предположение, что перехваченный хендшейк можно «брутфорсить», снижая сложность задачи и используя перехваченные данные.
Из аудиофайла, где явно слышны нажатия по клавишам, получаем длину пароля в восемь символов. Из фото отпечатков получаем возможные символы в пароле — x7ef5h. Далее очищаем перехваченный хендшейк от лишней информации:
hcxpcapngtool -o test.hc2200 cap2-01.cap.
И выполняем брутфорс:
hashcat --force -a 3 -m 2200 test.hc2200 -1 'x7ef5h' ?1?1?1?1?1?1?1?1?1 -v.
Задание подготовлено так, чтобы вычисление можно было провести даже на слабеньком ноуте.
![](https://habrastorage.org/getpro/habr/upload_files/9e3/482/730/9e3482730a7315038c6292590ec60d9d.png)
Через некоторое время получаем имя точки и подобранный пароль.
Отлично! Используем его и подключаемся к точке, которая существует в зоне конкурса, и сканируем ее по адресу 192.168.1.100.
На нем поднят HTTP server на 80-ом порту. Заходим посмотреть, что же там происходит.
![](https://habrastorage.org/getpro/habr/upload_files/68d/118/10b/68d11810bd09c27e0f55e1d1c810075e.gif)
А там — панорамное видео 360°, сделанное при помощи Stable Diffusion и плагина LoRA для генерации таких видео. Там высматриваем QR-код, распознаем его, при необходимости регулируя яркость и контрастность, получаем флаг, сдаем его и радуемся.
Итоги
Конкурс был новым и экспериментальным, был направлен на развлечение технических энтузиастов. Проанализировав результаты, я считаю, что эксперимент удался.
Благодарю всех, кто решился принять участие и не отступал несмотря ни на что!
Призовые места заняли:
![](https://habrastorage.org/getpro/habr/upload_files/ef8/eb7/601/ef8eb760199dafb8181786870abc5fb2.png)
Пятерку победителей мы наградили крутыми призами, среди которых были два дрона, одноплатный компьютер, модульный синтезатор и поворотная камера. Кроме того, всем, кто принял участие в конкурсе, достались рюкзаки и футболки с логотипом конкурса.
Надеюсь, это был интересный и уникальный опыт. Ждем вас на следующем PHDays!