nlothik (nlothik) wrote,
nlothik
nlothik

Безопасная ОС Линукс

"Это какой-то... позор?"

Originally posted by dil at 0-day in GRUB2
Originally posted by malaya_zemlya at 0-day in GRUB2
Если кто не видел - в популярном загрузчике Grub2 обнаружена уязвимость, позволяющая обходить защиту паролем, и дающая полный доступ к шеллу.

Эксплоит: вместо введения пароля нажать на Backspace ровно 28 раз, а потом Enter

Нет, это не секретный бекдор и не шутка девелоперов. Тут произошло нечто потрясающее. Постараюсь передать вкратце (если кому интересны все детали, то смотрите линк).

Если вместо ввода пароля нажимать на Backspace, то из-за пропущенной проверки программа заезжает за пределы буфера и начинает затирать нулями память с отрицательным смещением. Бывает.
В результате затирается стек, включая адрес возврата из текущей функции. Ок.
Соответственно, процессор прыгает на адрес 0, при чем в регистре esi остается текущая длина пароля, то есть -28.
По адресу 0, как водится, расположена таблица IVT, где лежат адреса обработчиков системных прерываний, но процессор ее сейчас интерпретирует не как адреса, в как исполняемый код. Оказывается, что в такой интерпретации IVT содержит функцию копирования блока памяти, где адрес, куда копировать, берется из регистра edi (он у нас установлен тоже в 0), а адрес откуда - из того самого регистра esi.
Получается, что функция начинает править собственный код и копировать данные из адреса -28 прямо поверх самой себя. Причем в цикле.
На первый раз портятся несколько инструкций в начале, но не критично.
На второй раз добавляются какие-то инструкции, меняющие содержимое стека,
А дальше... дальше появляется инструкция retw. Она берет со стека число и прыгает по обозначенному им адресу. А на стеке в этот момент лежит адрес встроенного шелла.

Занавес.

Tags: wtf, ведроид, компьютерное, на вентилятор, сисадминское
Subscribe

  • Платить преступникам за несовершение преступлений

    Запасаемся попкорном. Мне почему-то кааца, что на преступность это не повлияет от слова “никак”. Да, кстати, а почему мне не платят?…

  • Про Афган

    А быстро падают марионеточные режимы без подпитки силами оккупационной администрации. Причём там, откуда уходят американцы, он падает особенно…

  • Запрет на выселение

    Я чего-то не понимаю. Администрация Бидон Бидоныча в очередной раз продлила запрет на выселение неплатящих аренду жильцов. Момент раз: попробуйте…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 7 comments