Уязвимость в OpenSSH и musl позволяет обойти SSH-аутентификацию в Linux
Независимый ИБ-исследователь Озгюн Кюльтекин
(Özgün Kültekin) обнаружил уязвимость *sshhole,
которая возникает при взаимодействии OpenSSH и библиотеки musl libc. При определенной конфигурации Linux-системы баг позволяет войти в учетную запись с отключенной парольной аутентификацией, просто отправив через SSH слишком длинный пароль.
Уязвимость, которой еще не присвоили идентификатор CVE, затрагивает Linux-системы с musl libc, где OpenSSH работает без РАМ и разрешена парольная аутентификация. То есть в первую очередь речь идет об Alpine Linux, однако проблема может затрагивать и другие системы, собранные с использованием musl, в том числе решения на базе Buildroot и Yocto. Отдельно Кюльтекин упоминает OpenWrt, если вместо штатного Dropbear там установлен OpenSSH.
Корень проблемы заключается в том, как sshd осуществляет проверку паролей. В Linux для учетной записи можно заблокировать вход по паролю, указав * вместо хеша в /etc/shadow. В результате такой аккаунт, например, может использовать только SSH-ключи, и никакой пароль для него подходить не должен.
Однако в 2016 году разработчики OpenSSH исправили уязвимость CVE-2016-6210, которая позволяла определять существующие имена пользователей по времени ответа сервера. Для этого sshd стал выполнять хеширование пароля даже для тех учетных записей, для которых вход по паролю фактически отключен. То есть атакующие более не могли определить имена пользователей по разнице во времени ответа.
Как выяснилось теперь, в системах с musl после выхода этого патча возник неожиданный побочный эффект: при использовании SHA-256 crypt или
SHA-512 crypt функция crypt() отказывается обрабатывать пароли длиннее 256 байт и возвращает * как признак ошибки. Однако то же значение может храниться в /etc/shadow для учетной записи с отключенной парольной аутентификацией. В результате sshd сравнивает полученную * со значением * в /etc/shadow и считает проверку успешной.
Кюльтекин объясняет, что для осуществления атаки нужно соблюсти ряд условий:
OpenSSH работает без РАМ;
включена парольная аутентификация (PasswordAuthentication yes);
для целевого аккаунта в /etc/shadow указано * вместо хеша;
в системе должна быть хотя бы одна активная учетная запись с паролем в формате SHA-256
Если все условия соблюдены, атакующему достаточно знать имя целевой учетной записи и при подключении через SSH ввести пароль длиной от 257 до 1024 байт.
Новая проблема особенно опасна для Alpine Linux, где пакет openssh-server собран без РАМ, И разработчики подтверждают, что атака на *sshhole срабатывает с одной попытки.
Более того, отдельный риск связан с официальными облачными образами Alpine Linux для AWS и Azure. В некоторых из них присутствует учетная запись alpine, которой разрешено выполнять команды через doas без пароля, и компрометация такого аккаунта может привести к получению root-прав. При этом напрямую войти через SSH под root по умолчанию нельзя: стандартная настройка OpenSSH PermitRootLogin prohibit-password запрещает парольную аутентификацию для этой учетной записи.
Следует отметить, что разработчики OpenSSH и musl расходятся во мнениях о том, на чьей именно стороне находится ошибка. В OpenSSH считают, что первопричина возникновения бага лежит за пределами sshd, хотя эксплуатацию уязвимости можно предотвратить на его стороне. В свою очередь, разработчик musl Рич Фелкер (Rich Felker) заявил, что корень проблемы заключается не в работе musl, а в том, как вызывающая программа обрабатывает значение, которое crypt() возвращает при ошибке.
Защиту от *sshhole добавили в OpenSSH 10.6p2, а разработчики Alpine уже выпустили исправленные версии пакетов. Если установить обновления пока по какой-то причине невозможно, рекомендуется отключить парольную аутентификацию
(PasswordAuthentication no) и перезапустить sshd.
Независимый ИБ-исследователь Озгюн Кюльтекин
(Özgün Kültekin) обнаружил уязвимость *sshhole,
которая возникает при взаимодействии OpenSSH и библиотеки musl libc. При определенной конфигурации Linux-системы баг позволяет войти в учетную запись с отключенной парольной аутентификацией, просто отправив через SSH слишком длинный пароль.
Уязвимость, которой еще не присвоили идентификатор CVE, затрагивает Linux-системы с musl libc, где OpenSSH работает без РАМ и разрешена парольная аутентификация. То есть в первую очередь речь идет об Alpine Linux, однако проблема может затрагивать и другие системы, собранные с использованием musl, в том числе решения на базе Buildroot и Yocto. Отдельно Кюльтекин упоминает OpenWrt, если вместо штатного Dropbear там установлен OpenSSH.
Корень проблемы заключается в том, как sshd осуществляет проверку паролей. В Linux для учетной записи можно заблокировать вход по паролю, указав * вместо хеша в /etc/shadow. В результате такой аккаунт, например, может использовать только SSH-ключи, и никакой пароль для него подходить не должен.
Однако в 2016 году разработчики OpenSSH исправили уязвимость CVE-2016-6210, которая позволяла определять существующие имена пользователей по времени ответа сервера. Для этого sshd стал выполнять хеширование пароля даже для тех учетных записей, для которых вход по паролю фактически отключен. То есть атакующие более не могли определить имена пользователей по разнице во времени ответа.
Как выяснилось теперь, в системах с musl после выхода этого патча возник неожиданный побочный эффект: при использовании SHA-256 crypt или
SHA-512 crypt функция crypt() отказывается обрабатывать пароли длиннее 256 байт и возвращает * как признак ошибки. Однако то же значение может храниться в /etc/shadow для учетной записи с отключенной парольной аутентификацией. В результате sshd сравнивает полученную * со значением * в /etc/shadow и считает проверку успешной.
Кюльтекин объясняет, что для осуществления атаки нужно соблюсти ряд условий:
OpenSSH работает без РАМ;
включена парольная аутентификация (PasswordAuthentication yes);
для целевого аккаунта в /etc/shadow указано * вместо хеша;
в системе должна быть хотя бы одна активная учетная запись с паролем в формате SHA-256
Если все условия соблюдены, атакующему достаточно знать имя целевой учетной записи и при подключении через SSH ввести пароль длиной от 257 до 1024 байт.
Новая проблема особенно опасна для Alpine Linux, где пакет openssh-server собран без РАМ, И разработчики подтверждают, что атака на *sshhole срабатывает с одной попытки.
Более того, отдельный риск связан с официальными облачными образами Alpine Linux для AWS и Azure. В некоторых из них присутствует учетная запись alpine, которой разрешено выполнять команды через doas без пароля, и компрометация такого аккаунта может привести к получению root-прав. При этом напрямую войти через SSH под root по умолчанию нельзя: стандартная настройка OpenSSH PermitRootLogin prohibit-password запрещает парольную аутентификацию для этой учетной записи.
Следует отметить, что разработчики OpenSSH и musl расходятся во мнениях о том, на чьей именно стороне находится ошибка. В OpenSSH считают, что первопричина возникновения бага лежит за пределами sshd, хотя эксплуатацию уязвимости можно предотвратить на его стороне. В свою очередь, разработчик musl Рич Фелкер (Rich Felker) заявил, что корень проблемы заключается не в работе musl, а в том, как вызывающая программа обрабатывает значение, которое crypt() возвращает при ошибке.
Защиту от *sshhole добавили в OpenSSH 10.6p2, а разработчики Alpine уже выпустили исправленные версии пакетов. Если установить обновления пока по какой-то причине невозможно, рекомендуется отключить парольную аутентификацию
(PasswordAuthentication no) и перезапустить sshd.
Проксирование приложения Codex
Если вы запарись включать и выключать VPN для работы Codex, то у меня для вас хорошая новость.
Оказывается, можно проксировать трафик только Codex.
Для этого создай файл
На Windows файл лежит в
Добавьте туда данные для подключения к вашему прокси (IP и порт укажите свои)
Если прокси требует авторизацию, логин и пароль пишутся в самом адресе:
Символы пароля, которые ломают разбор адреса, закодируйте:
Если вы запарись включать и выключать VPN для работы Codex, то у меня для вас хорошая новость.
Оказывается, можно проксировать трафик только Codex.
Для этого создай файл
~/.codex/.env. На Windows файл лежит в
C:\Users\<имя>\.codex\.env.Добавьте туда данные для подключения к вашему прокси (IP и порт укажите свои)
HTTPS_PROXY=http://127.0.0.1:8080
HTTP_PROXY=http://127.0.0.1:8080
NO_PROXY=localhost,127.0.0.1
Если прокси требует авторизацию, логин и пароль пишутся в самом адресе:
http://user:password@host:port. HTTPS_PROXY=http://user:pass@127.0.0.1:8080
HTTP_PROXY=http://user:pass@127.0.0.1:8080
NO_PROXY=localhost,127.0.0.1
Символы пароля, которые ломают разбор адреса, закодируйте:
@ как %40, # как %23, / как %2F. Иначе часть пароля может быть принята за другой компонент адреса, и подключение не состоится.Реклама MacBook Pro с PROLED-дисплеем и как это реклама снималась (конечно же, на айфоны).
Разрабов Discord обогнали — пока они готовят клиент на Rust, требующий 300 МБ оперативки, юзеры выпустили свою версию, которая хавает... в три раза меньше.
— Требует всего 90 МБ оперативки;
— В фоновом режиме потребляет 0% процессора;
— Поддерживает плагины и темы;
— Почти весь функционал на месте — под нож пошли инвайты на сервер по ссылке и общий доступ к экрану;
— Ноль телеметрии;
— Открывается за 2 секунды на оперативке DDR3;
— Установщик весит жалкие 6,34 МБ.
Запускаем Discord даже на умном чайнике — здесь.
— Требует всего 90 МБ оперативки;
— В фоновом режиме потребляет 0% процессора;
— Поддерживает плагины и темы;
— Почти весь функционал на месте — под нож пошли инвайты на сервер по ссылке и общий доступ к экрану;
— Ноль телеметрии;
— Открывается за 2 секунды на оперативке DDR3;
— Установщик весит жалкие 6,34 МБ.
Запускаем Discord даже на умном чайнике — здесь.
👍1
Россиянам разрешат покупать биткоин, эфир и USDT без статуса квалифицированного инвестора. Но с ограничением — не более 300 тысяч рублей в год через одного посредника.
Банк России утвердил список криптовалют, доступных обычным инвесторам. В него вошли Bitcoin, Ethereum и USDT. С 17 ноября эти активы смогут обращаться на биржевом и внебиржевом рынках. Купить их можно будет через брокеров, управляющих или криптообменники.
Перед покупкой инвесторам придётся пройти тестирование на знание рисков. При этом для квалифицированных инвесторов ограничений по сумме и перечню криптовалют не будет.
Банк России утвердил список криптовалют, доступных обычным инвесторам. В него вошли Bitcoin, Ethereum и USDT. С 17 ноября эти активы смогут обращаться на биржевом и внебиржевом рынках. Купить их можно будет через брокеров, управляющих или криптообменники.
Перед покупкой инвесторам придётся пройти тестирование на знание рисков. При этом для квалифицированных инвесторов ограничений по сумме и перечню криптовалют не будет.
Агент ФБР Патрик Ярок похитил $2,47 млн в криптовалюте.
Используя доступ к материалам 35 расследований, он провёл около 100 незаконных транзакций. Часть похищенного потратил на погашение долгов, а затем обратился к ChatGPT за советом о переезде в Евросоюз. ИИ предложил Португалию и покупку виноградника. Ярок начал оформлять документы для переезда. Ему грозит до 20 лет тюрьмы за мошенничество и отмывание денег.
Виноделы на месте?
Используя доступ к материалам 35 расследований, он провёл около 100 незаконных транзакций. Часть похищенного потратил на погашение долгов, а затем обратился к ChatGPT за советом о переезде в Евросоюз. ИИ предложил Португалию и покупку виноградника. Ярок начал оформлять документы для переезда. Ему грозит до 20 лет тюрьмы за мошенничество и отмывание денег.
Виноделы на месте?
This media is not supported in your browser
VIEW IN TELEGRAM
💪🏾 Сегодня отмечается ВСЕМИРНЫЙ ДЕНЬ МУЖЧИН!
Отличный повод подарить любимому цветы, сводить его в ресторан и напомнить, что он заслуживает большего, чем просто быть красивым 🫠️️️️️️
Отличный повод подарить любимому цветы, сводить его в ресторан и напомнить, что он заслуживает большего, чем просто быть красивым 🫠️️️️️️
Мужики, с праздником! 🍻This media is not supported in your browser
VIEW IN TELEGRAM
Начался сериал «Айда» — его называют «Словом пацана 2». В центре сюжета группировка «Тяп-ляп», которая стала родоначальником казанского феномена. События развиваются в конце 70-х — в центре сюжета подростки, втянутые в криминал
Авторы сериала консультровались с генералом милиции Савелием Тесисом, который реально вел дело «Тяп-ляп».
Надеемся, что стильный саундтрек прилагается.
Авторы сериала консультровались с генералом милиции Савелием Тесисом, который реально вел дело «Тяп-ляп».
Надеемся, что стильный саундтрек прилагается.
This media is not supported in your browser
VIEW IN TELEGRAM
POV: когда встретил Дженифер Лоуренс, но у тебя Android.
Невероятно, CatZilla! 😱
This media is not supported in your browser
VIEW IN TELEGRAM