Cyber

Уязвимость Sshhole в Linux: как злоумышленники обходят SSH-пароли

Обнаружена критическая уязвимость Sshhole в Alpine Linux и других дистрибутивах с musl и OpenSSH, позволяющая входить без пароля.

·2 мин. чтения
Уязвимость Sshhole в Linux: как злоумышленники обходят SSH-пароли

Исследователи безопасности сообщили о критической уязвимости в некоторых конфигурациях Alpine Linux и потенциально других дистрибутивах, которая позволяет злоумышленникам подключаться к устройствам по протоколу SSH без ввода пароля. Проблема затрагивает системы, использующие комбинацию библиотеки musl и OpenSSH без модулей PAM.

  • Уязвимость получила название Sshhole и эксплуатируется при вводе более 256 символов в поле пароля для аккаунтов без пароля.
  • Для успешной атаки учетная запись должна использовать хэширование SHA256 или SHA512 и содержать символ * в /etc/shadow.
  • Под удар попадают встроенные устройства, роутеры, умные телевизоры и популярные контейнеры Docker на базе Alpine.
  • Разработчики Alpine и OpenSSH уже выпустили необходимые обновления для устранения этой опасной ошибки.

Причины возникновения и технические детали уязвимости

Проблема кроется во взаимодействии между OpenSSH (библиотекой для SSH-соединений) и musl (легковесной альтернативой libc, популярной в Alpine Linux вместо стандартной glibc). В уязвимых системах не используются модули PAM (pluggable authentication modules), которые обычно отвечают за проверку подлинности пользователей и контроль доступа к аккаунтам.

По словам специалистов компании Checkpoint, использование функций хэширования SHA256 или SHA512 имеет решающее значение, так как демон sshd заимствует соль этого аккаунта для проведения атаки. Без этого эксплойт срабатывать не будет. Кроме того, целевая учетная запись должна быть активной, а не просто содержать соответствующий хэшировнный пароль в конфигурации.

Читайте такжеУязвимость в OpenSSH позволяет обойти защиту паролем на Linux с musl

Условия для успешной атаки и масштаб проблемы

Для реализации атаки злоумышленнику необходимо соблюдение строгих предварительных условий. На целевой системе должен быть как минимум один пользовательский аккаунт с паролем, хэшированным через SHA256 или SHA512, а в поле пароля файла /etc/shadow должен стоять символ *, что типично для аккаунтов с сертификатной аутентификацией.

Однако масштаб потенциальной угрозы огромен. Базовый образ Alpine в Docker Hub имеет более миллиарда скачиваний, а сама ОС активно применяется в роутерах, умных телевизорах, промышленных контроллерах и серверных контейнерах. Сервис Shodan фиксирует около 22 миллионов систем с открытым 22 портом SSH по всему миру.

Реакция разработчиков и что делать администраторам

Мнения создателей затронутых компонентов разделились относительно того, где именно кроется баг. В OpenSSH заявили, что считают первопричину проблемы находящейся за пределами sshd, хотя эксплойт реализуется именно через него. Разработчик musl Рич Фелкер отметил, что считает это ошибочным использованием со стороны вызывающего кода, но пообещал внести изменения в будущих релизах.

Команда Alpine Linux и разработчики OpenSSH уже выпустили официальные патчи для устранения данной бреши в безопасности. Администраторам затронутых систем рекомендуется немедленно проверить конфигурации своих серверов и контейнеров, а также установить свежие обновления программного обеспечения.

Источник: Ars Technica - All content

Похожие статьи

Уязвимость Sshhole в Linux: как злоумышленники обходят SSH-пароли · TECC.UZ