LINUX.ORG.RU

История изменений

Исправление EXL, (текущая версия) :

Помнится мне в начале нулевых на срыве стека в embedded-мобилках было сделана огромная куча эксплоитов. К примеру, взлом RSA. Точнее как, вот инженеры создали телефон и защитили его прошивку ключём 1024-bit RSA взломать который тогда было невозможно да и сейчас очень сложно. А хакеры нашли возможность сорвать стек в одной из официальных программ и обходить этим RSA-защиту.

Я вот сам делал выход за границы, получал значения каких-то левых ячеек, но как через это можно получить права рута, я не понимаю.

Суть в том, что ты в эти заграницы можешь начать что-то писать, либо же искать в них что-то интересное. А когда нашёл или записал, можешь подготовить эксплоит таким образом, что он будет выполнять твой скомпилированный код.

Далее, если это конкретно про UNIX-системы и получение root-прав в них. Если у тебя, к примеру, на целевой атакуемой машине старая версия ядра и имеется список возможных эксплоитов для получения рута в нём – ты просто используешь эти трюки оттуда и добавляешь к своему эксплоиту через уязвимость (срыв стека) в программе, в которой ты это нашёл.

К примеру, если бы срыв стека был бы в адресной строке браузера и он не был изманан песочницей, то я мы мог опубликовать какую-нибудь хитрую ссылку, перейдя по которой у тебя бы выполнилось условное rm -Rf / из-под рута.

Срыв стека считай можно заменить простым запуском собственного кода. Как в том известном эпичном обосрамсе KDE-разработчиков: Незакрытая уязвимость в KDE там вместо срыва стека тупо можно подготовить архив, при открытии которого выполнится кастомный код, в котором может быть всё что угодно.

Исходная версия EXL, :

Помнится мне в начале нулевых на срыве стека в embedded-мобилках было сделана огромная куча эксплоитов. К примеру, взлом RSA. Точнее как, вот инженеры создали телефон и защитили его прошивку ключём 1024-bit RSA взломать который тогда было невозможно да и сейчас очень сложно. А хакеры нашли возможность сорвать стек в одной из официальных программ и обходить этим RSA-защиту.

Я вот сам делал выход за границы, получал значения каких-то левых ячеек, но как через это можно получить права рута, я не понимаю.

Суть в том, что ты в эти заграницы можешь начать что-то писать, либо же искать в них что-то интересное. А когда нашёл или записал, можешь подготовить эксплоит таким образом, что он будет выполнять твой скомпилированный код.

Далее, если это конкретно про UNIX-системы и получение root-прав в них. Если у тебя, к примеру, на целевой атакуемой машине старая версия ядра и имеется список возможных эксплоитов для получения рута в нём – ты просто используешь эти трюки оттуда и добавляешь к своему эксплоиту через уязвимость (срыв стека) в программе, в которой ты это нашёл.

К примеру, если бы срыв стека был бы в адресной строке браузера и он не был изманан песочницей, то я мы мог опубликовать какую-нибудь хитрую ссылку, перейдя по которой у тебя бы выполнилось условное rm -Rf / из-под рута.

Срыв стека считай можно заменить простым запуском собственного кода. Как в том известном эпичном обосрамсе KDE-разработчиков: Незакрытая уязвимость в KDE там вместо срыва стека тупо можно подготовить архив, при открытии которого выполнится мой код, в котором может быть всё что угодно.