Pull to refresh

Перехват PPPoE сессии

Reading time 1 min
Views 59K


На видео показан практический способ угона сессии PPPoE с помощью врезки в кабель. При этом не происходит перехвата логина или пароля и не имеет значения используемый тип авторизации (CHAP/PAP).

Большинство ethernet-провайдеров, к сожалению не используют шифрование всей сессии, ограничиваясь только шифрованием этапа авторизации. Это позволяет представиться легитимным клиентом, перехватив реквизиты существующего подключения.



Теория



PPPoE (Point-to-Point Protocol over Ethernet) — протокол канального уровня, на уровень ниже ip, поэтому для установки соединения не требуется ip-адреса, адресация происходит по MAC-ам.

Условно процесс подключение выглядит так:

Клиент в поисках pppoe-сервера посылает широковещательный запрос,
MAC-адрес назначения FF:FF:FF:FF:FF:FF.
Сервер отвечает клиенту и происходит авторизация (например CHAP Challenge)



В установленном соединении сервер идентифицирует клиента по MAC-адресу и Session ID. Пакеты IP инкапсулируются внутрь кадров PPPoE. В незашифрованном подключении всё содержимое пакетов может быть просмотрено:



Соответственно, узнав реквизиты подключения, можно перехватить сессию:



Для защиты от подобных атак существует опция CHAP Rechallenge, когда сервер повторно идентифицирует клиента с заданным интервалом времени. Ни один из протестированных провайдеров не использовал эту опцию.

В видео используется виртуальная машина, запущенная в режиме моста с ethernet картой хост-системы.
Во время переключения кабеля важно попасть между пакетами LCP-echo.
PPPoE-сервер www.roaringpenguin.com/products/pppoe перекомпилированный с опцией
#define DEFAULT_MAX_SESSIONS 64000

Спасибо kekekeks за помощь в ковырянии исходников сервера rp-pppoe.
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
+83
Comments 63
Comments Comments 63

Articles