Pull to refresh
141.53

Атака на SSH и взлом туннелей VPN

Reading time4 min
Views17K


SSH стал практически стандартом де-факто для подключения к серверу или удалённому десктопу. Поэтому уязвимости вызывают определённое беспокойство. Тем более в нынешних условиях, когда весь трафик в интернете записывается и сохраняется в хранилищах провайдеров и хостеров. То есть в будущем его могут расшифровать, будь найдена уязвимость, подрывающая базовую криптографию.

Опасную уязвимость нашли исследователи из Рурского университета в Бохуме. Атака получила название Terrapin (CVE-2023-48795). Правда, её вряд ли можно использовать именно на сохранённом трафике, потому что схема MiTM предусматривает подбор значений во время рукопожатия сервера и клиента. У злоумышленника должен быть доступ к каналу и возможность подменять пакеты.

Практическое применение Terrapin показывает иллюстрация на КДПВ. Продублируем здесь двумя схемами из научной статьи. Ниже показано нормальное рукопожатие SSH с использованием бинарного пакетного протокола BPP (SSH2 Binary Packet Protocol) и обмена ключами Диффи — Хеллмана с конечным полем. Номера последовательности поддерживаются BPP: Snd — это счётчик отправленных пакетов, а Rcv — принятых. Жирным выделены номера последовательностей, проверенные путём аутентификации и шифрования:



А вот как происходит усечение префикса в процессе атаки на BPP. Сервер отправляет пакеты SC1 и SC2, а клиент получает только SC2:



На КДПВ показано, что благодаря удалению/добавлению пакетов злоумышленник может незаметно для клиента и сервера убрать сообщение EXT_INFO, которое используется для согласования нескольких расширений протокола. Внедрение пакетов на этапе рукопожатия позволяет понизить уровень расширений (extension downgrade attack) и понизить уровень защиты SSH. Конкретные последствия зависят от версий используемого ПО на сервере и клиенте, а также используемых расширений.

Метод работает только если для SSH используется шифр ChaCha20-Poly1305 или другой шифр в режиме сцепления блоков (CBC) в режиме шифрования Encrypt-then-MAC.

Для проверки своего сервера и клиентов на наличие уязвимостей можно использовать этот сканер.

TunnelCrack: взлом туннелей VPN


Не только протокол SSH в последнее время подвергся атакам.

Напомним, что в августе 2023 года были опубликованы опасной атаки TunnelCrack, которая использует две широко распространённые уязвимости в VPN (LocalNet и ServerIP). Злоумышленник может использовать их для извлечения трафика за пределы зашифрованного VPN-туннеля.

Тесты показали, что уязвимостям подвержены все протестированные сервисы VPN как минимум на одном устройстве, выключая iPhone, iPad, MacBook, а также большинство VPN на Windows и Linux. Клиенты под Android оказались наиболее безопасны — уязвима только четверть VPN-приложений. Обнаруженные уязвимости могут быть использованы независимо от протокола VPN.


Обе атаки применяются, когда пользователь подключается к недоверенному Wi-Fi. Кроме того, атаку ServerIP можно использовать со стороны интернет-провайдера. В процессе атаки зловред изменяет таблицы маршрутизации, чтобы перенаправить трафик за пределы защищённого VPN-туннеля.

Атака LocalNet работает в том случае, если жертва подключается к чужому хотспоту, например, в кафе или гостинице. Там ей присваивается новый IP-адрес. Поскольку большинство сервисов VPN позволяет доступ в локальную сеть во время работы тоннеля, трафик можно беспрепятственно перенаправлять в местную локальную сеть, то есть злоумышленнику. Тестирование показало, что уязвимы все приложения под iOS.



Атака ServerIP использует тот факт, что многие VPN не шифруют трафик от клиента на IP-адрес сервера VPN:



Технические подробности атаки TunnelCrack см. в научной статье «Обход туннелей: Утечка трафика VPN-клиентов путём злоупотребления таблицами маршрутизации», которую авторы представили на конференции по безопасности USENIX Security 2023.

SSH3


Чтобы защититься от существующих и будущих атак, а также улучшить эффективность передачи данных, уже разработана третья версия протокола SSH3. Если вкратце, то SSH3 — это SSH2, который работает по протоколу HTTP/3 и QUIC + TLS 1.3, с механизмом авторизации пользователей HTTP Authorization.



Помимо прочего, в SSH3 реализованы следующие усовершенствования:

  • Значительно более быстрое установление сеанса
  • Новые методы HTTP-аутентификации, такие как OAuth 2.0 и OpenID Connect, кроме классической аутентификации SSH
  • Поддержка сертификатов X.509
  • Защита от сканирования портов: SSH3-сервер можно сделать невидимым в интернете
  • Проброс UDP-портов в дополнение к классическому форвардингу TCP
  • Все функции QUIC, включая миграцию соединений (скоро) и соединения по множественным путям (multipath connections)

Если внимательно посмотреть, то в SSH3 реализованы многие функции OpenSSH.

Уже сейчас можно скачать последнюю версию SSH3-сервера (бинарникиWindows, Linux, ARM), установить его и поиграть с этой экспериментальной разработкой на секретном адресе, так что никто не заметит.

Секретная ссылка реализуется следующим образом:

ssh3-server -bind 192.0.2.0:443 -url-path <длинный_секрет>

Если заменить <длинный_секрет> на какое-нибудь случайное значение вроде M3MzkxYWMxMjYxMjc5YzJkODZiMTAyMjU, то SSH3-сервер будет доступен только по адресу https://192.0.2.0:443/M3MzkxYWMxMjYxMjc5YzJkODZiMTAyMjU, возвращая 404 по всем остальным запросам.
Tags:
Hubs:
Total votes 8: ↑8 and ↓0+8
Comments20

Articles

Information

Website
www.globalsign.com
Registered
Founded
1996
Employees
501–1,000 employees
Location
Япония