Данный пост представляет собой небольшие примеры поднятия привилегий в системе на основе понятных заданий.
Что стоит почитать?
Для того, чтобы понимать, что происходит нужно знать основы Linux, а также прочитать предыдущий пост с небольшой теорией по LPE.
Пример
Сегодняшний пример будет взят с сайта root-me.org из категории "App-Script".
Прямая ссылка - https://www.root-me.org/en/Challenges/App-Script/ELF32-System-2
Посмотрим описание задания.
Нам дан исходный код, который очень похож на предыдущее задание "Bash - System 1", однако теперь добавлен ключ -lA, который не позволит нам прочитать файл путём замены ls на cat. Но мы можем использовать другие методы для чтения файла, например можем открыть его в консольном редакторе nano.
Для того, чтобы это провернуть нам надо сделать папку, в которую поместить nano, предварительно изменив имя на ls, и изменить переменную окружения PATH. Это переменная служит для указания путей, где нужно искать исполняемые файлы при запуске их из консоли без указания полного пути. Необходимо помнить, что мы должны добавить путь до нашей директории в начало данной переменной, чтобы именно там в первую очередь и был проведён поиск.
Шаг 1 - создаём директорию
Шаг 2 - копируем nano в директорию и меняем имя на ls.
Шаг 3 - запускаем бинарь
Видим, что nano был запущен и выдаёт некоторое предупреждение, пропускаем его нажатием "Enter".
Получаем флаг.
Вот таким нехитрым образом можно обходить различные ограничения системы и получать доступ к необходимым файлам. Это может быть полезно, если вы уже получили доступ к машине, но ваши права вас не удовлетворяют и вы хотите повысить их или получить доступ к отдельным файлам.
Telegram-канал "Убежище Хакера"
Что стоит почитать?
Для того, чтобы понимать, что происходит нужно знать основы Linux, а также прочитать предыдущий пост с небольшой теорией по LPE.
Пример
Сегодняшний пример будет взят с сайта root-me.org из категории "App-Script".
Прямая ссылка - https://www.root-me.org/en/Challenges/App-Script/ELF32-System-2
Посмотрим описание задания.
Нам дан исходный код, который очень похож на предыдущее задание "Bash - System 1", однако теперь добавлен ключ -lA, который не позволит нам прочитать файл путём замены ls на cat. Но мы можем использовать другие методы для чтения файла, например можем открыть его в консольном редакторе nano.
Для того, чтобы это провернуть нам надо сделать папку, в которую поместить nano, предварительно изменив имя на ls, и изменить переменную окружения PATH. Это переменная служит для указания путей, где нужно искать исполняемые файлы при запуске их из консоли без указания полного пути. Необходимо помнить, что мы должны добавить путь до нашей директории в начало данной переменной, чтобы именно там в первую очередь и был проведён поиск.
Шаг 1 - создаём директорию
Шаг 2 - копируем nano в директорию и меняем имя на ls.
Шаг 3 - запускаем бинарь
Видим, что nano был запущен и выдаёт некоторое предупреждение, пропускаем его нажатием "Enter".
Получаем флаг.
Вот таким нехитрым образом можно обходить различные ограничения системы и получать доступ к необходимым файлам. Это может быть полезно, если вы уже получили доступ к машине, но ваши права вас не удовлетворяют и вы хотите повысить их или получить доступ к отдельным файлам.
Telegram-канал "Убежище Хакера"