Меня зовут Жан Максим ( необычное имя потому что я из Африки). Живу в России 7 лет. Я работаю пентестером и учусь на 5-ом курсе на направление «кибербезопасность». Тренируюсь на разных площадках ("root-me" и "hack the box" и др.). 5-ого июня 2023 вышел новый челлендж "OSPF — Authentication" в разделе "Network" на площадку "root-me" .
OSPF (англ. Open Shortest Path First) — протокол динамической маршрутизации, основанный на технологии отслеживания состояния канала (link-state technology) и использующий для нахождения кратчайшего пути алгоритм Дейкстры (хорошая статья для понимания данного протокола).
Впервые встречаю такой протокол и как всегда пришлось поискать всю возможную информацию для понимания протокола. Локально построил себе маленькую лабораторию чтобы понять как работает этот протокол до решения челленджа.
Легкий челлендж и сразу понятно какие инструменты понадобится (wireshark , Ettercap и john для подбора паролей).
Основной вопрос челленджа : Как получить OSPF authentication key из дампа трафика?
OSPF authentication используется для защиты сети от нарушителей, рассылающих ложную маршрутную информацию для того чтобы обмануть маршрутизаторы сети и получить возможность перехвата, анализа и модификации данных, либо просто нарушая работу сети.
Первый шаг "wireshark":
Скачать pcap файл и с помощью wireshark открыть его (см. Рис 1) Небольшой трафик (hello packet)
"Auth Crypt Data Length: 16" Означает что количество битов=128 bits соответственно MD5 используется как алгоритм хеширования (MD5-аутентификация)
Моей первой естественной реакцией было скопировать все хэши из "Auth Crypt Data" в текстовый файл и использовать "John" для восстановления паролей по их хешам. Но "Nothing" (см. Рис 2)
Второй шаг - Ettercap:
Чтение и извлечение хэшей из дампа трафика с помощью "Ettercap" (см. Рис 3)
Дальше нужно срезать "OSPF-224.0.0.5-0:" , сохранить нужную часть в текстовый файл и еще раз использовать John для восстановления паролей по их хешам (попытка не пытка)
Получаем такой красивый файл с хэшами (см. Рис 4 )
OSPF authentication key = #10pokemonmaster