Приветствую всех технических энтузиастов и отдельно — участников соревнования Wireless Fuzzy Frenzy, которое состоялось в рамках ежегодного фестиваля практической кибербезопасности PHDays 12. Пришла пора раскрыть карты и разобрать детально, с чем бы ты столкнулся, если бы решил принять участие в этом конкурсе 19 и 20 мая в Парке Горького с ноутбуком в руках, и не отступил перед трудностями.

Wireless Fuzzy Frenzy

Беспроводной, пушистый, безумный — каждое из этих слов выражает высокоуровневую концепцию, на которую я опирался, когда придумывал конкурс.

Беспроводной — потому что Wi-Fi: я хотел донести идею о связи виртуальной и реальной стороны кибербезопасности.

Пушистый — потому что дружелюбный к новичкам: некоторые задачи можно было решить с телефона, во всем можно было разобраться без предварительной подготовки.

Безумный — потому что конкурс был экспериментальным, и я до конца никак не мог спрогнозировать, как будут развиваться события.

Состязание состояло из трех задач, и первая подразделялась на три одинаковые подзадачи.

  1. Нужно обнаружить три точки доступа, раскиданные по периметру, и сдать флаги.

  2. Необходимо узнать имя и пароль скрытой сети, подключиться к внутреннему ресурсу, атаковать ZIP-архив по известному тексту и сдать флаг.

  3. Провести брутфорс хендшейка, получить доступ к внутреннему ресурсу, обнаружить и сдать флаг.

Давайте начнем с первой задачи.

CYBER_FOX

Описание задачи:

Привет! На радиоэфире спрятались три «цифровые» лисы. Ваша задача проста — определить их точное расположение и забрать флаг. Удачи!

Как можно догадаться из названия, это модификация спортивной радиопеленгации, также известной как «охота на лис». Суть этой задачи — в установлении точного местоположения передатчика, сканировании кода на крышке коробочки и получении флага.

Внутри коробочек находились ESP32, запитанные от внешних  источников, которые, по сути, и представляли «лис».    
Внутри коробочек находились ESP32, запитанные от внешних источников, которые, по сути, и представляли «лис».    

Возможные подходы к решению:

  • Можно воспользоваться любым софтом, который поддерживает отображение силы сигнала точки доступа в реальном времени (например, airodump-ng в Kali Linux или WiFi Analyzer Android).

  • Прогуляться по площадке, ориентируясь на сигнала, либо же обнаружить точку в эфире и впоследствии снять силу сигнала и свои координаты с трех позиций, получив в точке пересечения зону расположения передатчика.

  • Если бы задача была сложнее и не ограничивалась одним павильоном, нужно было бы использовать специализированный софт, который позволяет собирать координаты и названия точек. О существовании такого софта нам намекает файл, приложенный ко второй задаче (об этом немного позже). Примером такого софта является WiFi Tracker для Android.

  • Если вы сталкивались с таким хобби, как wardriving, то можно было использовать Kismet с подключенным GPS (или смартфон).

Самое популярное решение — просто пройтись с приемником, интуитивно сделать предположение о возможном расположении передатчика и проверить несколько вариантов.

Принципиальный подход к триангуляции
Принципиальный подход к триангуляции

Два передатчика находились у двух входов в шатер Standoff, где находился макет цифрового Государства F .

Третий было найти сложнее — он находился в зоне конкурса AI Track: Data Breakout.

Normal_Name

Описание задачи:

Я хотел иметь точку доступа с самым нормальным названием. Решил посмотреть, что есть у соседей. Обнаружил это: greetings-from-the-internet all lowercase.

Вместе с этим мы дали участникам файл.

Это выгрузка данных, собранных программой WiFi Tracker в одну из моих летних поездок на самокате. Однако давайте обратим внимание на фразу greetings-from-the-internet all lowercase.    

Гуглим ее и натыкаемся на коллекцию открыток немецкого художника Арама Бартолла, которая находится в Музее криптографии в Москве.

Посмотрев повнимательнее, можно увидеть на одной из карточек надпись all lowercase.  

Получаем пароль, но пока непонятно, от какой он точки. Просканировав эфир, можно увидеть скрытую сеть в конкурсной зоне.

То есть на этом этапе у нас есть пароль от точки, но мы не знаем ее названия, потому подключиться к ней не можем. Есть два варианта:

  1. Выполнить деаутентификацию клиентов от точки и в момент подключения перехватить название, как написано в инструкции.

  2. Попытаться раскопать файл и достать название из него. В файле нужно выделить столбец SSID и выполнить подсчет частоты символов в каждой позиции.

Отлично, название скрытой сети — TP-Link_-020.

Можем подключиться и выполнить сканирование сети. Находим точку, которая держит у себя HTTP-сервер, подключаемся и смотрим, что внутри.

Видим 100 архивов, часть из которых зашифрована.

Замечаем повторяющийся файл README в каждом архиве.

Сопоставляя факты, можно сделать верное предположение, что часть зашифрованных архивов можно расшифровать. Это атака на ZIP-архив по открытому слову.

Воспользуемся доступным инструментарием bkcrack.

Смотрим индекс файлов

Указываем какой файл нам известен и его индекс в архиве и успешно проводим атаку.

Расшифровываем все архивы используя найденный ключ.

Внутри архивов лежат разные картинки, сгенерированные нейросетью.      

Одна фотография явно отличается и содержит в себе флаг.

What_you_doing

Описание задачи:

Мне стало интересно, чем занимается мой друг. Я отключил его от точки Wi-Fi и перехватил следующие данные:
● запись звука ввода пароля;
● отпечатки пальцев нажатий на клавиатуру;
● хендшейк аутентификации.
Помоги мне узнать, что происходит в его сети.
192.168.1.100

На этом этапе нужно сделать предположение, что перехваченный хендшейк можно «брутфорсить», снижая сложность задачи и используя перехваченные данные.

Из аудиофайла, где явно слышны нажатия по клавишам, получаем длину пароля в восемь символов. Из фото отпечатков получаем возможные символы в пароле — 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.

Задание подготовлено так, чтобы вычисление можно было провести даже на слабеньком ноуте.

Через некоторое время получаем имя точки и подобранный пароль.

Отлично! Используем его и подключаемся к точке, которая существует в зоне конкурса, и сканируем ее по адресу 192.168.1.100.

На нем поднят HTTP server на 80-ом порту. Заходим посмотреть, что же там происходит.

А там — панорамное видео 360°, сделанное при помощи Stable Diffusion и плагина LoRA для генерации таких видео. Там высматриваем QR-код, распознаем его, при необходимости регулируя яркость и контрастность, получаем флаг, сдаем его и радуемся.

Итоги

Конкурс был новым и экспериментальным, был направлен на развлечение технических энтузиастов. Проанализировав результаты, я считаю, что эксперимент удался.

Благодарю всех, кто решился принять участие и не отступал несмотря ни на что!

Призовые места заняли:

Пятерку победителей мы наградили крутыми призами, среди которых были два дрона, одноплатный компьютер, модульный синтезатор и поворотная камера. Кроме того, всем, кто принял участие в конкурсе, достались рюкзаки и футболки с логотипом конкурса.

Надеюсь, это был интересный и уникальный опыт. Ждем вас на следующем PHDays!

Комментарии (0)