Pull to refresh

Найдена уязвимость в pppd, позволяющая удаленно выполнить код с правами root

Reading time 2 min
Views 9K
Information Security *Network technologies *GitHub *


В начале марта 2020 года специалисты обнародовали информацию о найденной ранее уязвимости в демоне протокола Point-to-Point Protocol Daemon (PPPD) — в нем не менее семнадцати лет существовала ошибка в коде проверки размера поля rhostname. Используя эту ошибку злоумышленник мог отправить пакет с типом EAPT_MD5CHAP, включающий очень длинное имя хоста, не вмещающийся в выделенный буфер, что давало ему возможность перезаписать данные за пределами буфера в стеке и добиться удаленного выполнения своего кода с правами root.
Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Comments 22

VPN-сервер на Linux — решение проблемы с MPPE и клиентами, не поддерживающими шифрование данных

Reading time 4 min
Views 17K
Configuring Linux *
Так уж исторически сложилось, что связка pptpd + pppd — довольно популярное решение для раздачи интернета в локальных сетях, во многом благодаря наличию клиента pptp в windows начиная с 98 «из коробки». Более того, этот клиент поддерживает протокол шифрования MPPE который начиная с windows 2000 включен для новых соединений по умолчанию.
pppd радостно идет нам навстречу, также поддерживая этот протокол, но делает это весьма своеобразно:
Читать дальше →
Total votes 29: ↑25 and ↓4 +21
Comments 19

Настройка роутинга для домашнего multihomed сервера

Reading time 12 min
Views 30K
Configuring Linux *
Tutorial
Сейчас наличие нескольких подключений к интернет на одном, в том числе и домашнем сервере — не редкость. Городские локалки, ADSL, 3G модемы… Добавим к этому сети домашние локальные и внешние виртуальные (VPN), и получим ядрёную смесь интерфейсов, между которыми необходимо роутить трафик, балансировать трафик между разными каналами в интернет (когда они есть), и переключаться с нерабочих каналов на рабочие (когда они отваливаются).

Судя по постам в инете, большинство людей, столкнувшихся с этой ситуацией, очень плохо представляет себе, как это настраивается. Надо отметить, что в линухе действительно управление роутингом весьма сложное и запутанное — следствие эволюционного развития и поддержки (частичной) совместимости. Я хочу описать принципы настройки роутинга multihomed серверов на конкретном, достаточно сложном, примере: на сервере три физических сетевых интерфейса (один в домашнюю локалку и два к ADSL-модемам), два ADSL-подключения (ADSL-модемы в режиме bridge, так что pppd поднимает этот же сервер) к разным провайдерам (одно со статическим IP, второе с динамическим), плюс VPN на сервер компании — итого шесть интерфейсов.

Тема достаточно сложная, поэтому для понимания материала потребуется хотя бы минимальное понимание работы роутинга (что такое default route и gateway), файрвола (маркировка пакетов, отслеживание соединений, связь между разными таблицами и цепочками файрвола и роутингом), pppd (скрипты ip-up/ip-down) и протоколов IP и TCP.
Читать дальше →
Total votes 136: ↑129 and ↓7 +122
Comments 46

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

Reading time 1 min
Views 58K
Information Security *
Tutorial


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

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

Читать дальше →
Total votes 89: ↑86 and ↓3 +83
Comments 63

Реализация PPPOS на stm32f4-discovery

Reading time 14 min
Views 13K
Programming microcontrollers *
Sandbox
Однажды передо мной возникла задача обеспечить выход в сеть Интернет на STM32 имея для этого только COM порт. Для решения этой задачи мне понадобился PPP, или, еcли быть точным, PPPoS (англ. Point-to-Point Protocol over Serial — один из способов реализации PPP, используется при подключении через COM-порт).

В процессе решения поставленной передо мной задачи я столкнулся с некоторыми трудностями, одна из которых недостаточное, на мой взгляд, освещение вопросов связанных с PPPoS в сети Интернет. Этим постом я постараюсь закрыть обозначенный пробел, на сколько позволят мои скромные знания.

Статья описывает создание проекта для System Workbench for STM32 с нуля. Показывает пример работы с UART. Есть примеры кода для реализации PPP. Ну и конечно, пример отправки сообщения на соседний компьютер.
Читать дальше →
Total votes 30: ↑30 and ↓0 +30
Comments 9

GSM/3G/4G-модемы во встраиваемых системах на примере LTE-модема Quectel EC21 и Yocto Project

Reading time 9 min
Views 11K
System Programming *Development of communication systems *Development for Linux *Programming microcontrollers *Development for IOT *
Tutorial

image


Многим устройствам на базе встраиваемых систем необходим интернет. Проводное подключение к интернету для них не всегда возможно, и если устройства находятся в зоне действия сотовой связи, то к интернету можно подключиться с помощью GSM/3G/4G-модемов.


В этой заметке описан процесс создания дистрибутива ОС Linux для встраиваемой системы при помощи инструментария Yocto Project, позволяющий подключать устройство к интернету через GSM/3G/4G-модем и протокол PPP.

Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Comments 5