Категория > Новости > Право на root. Как повышают привилегии в Linux - «Новости»
Право на root. Как повышают привилегии в Linux - «Новости»25-08-2020, 20:03. Автор: Таисия |
С правами рута ты можешь делать в системе что угодно: закрепиться на будущее, оставив бэкдор, внедрить руткит или троян, забрать, изменить или уничтожить любую информацию — хоть разместить задницу на главной странице сайта, если захватил веб-сервер. Поэтому повышение привилегий в системе — один из важнейших шагов при атаках. В этой статье мы посмотрим, как это делается в системах с Linux. В общем случае эскалация привилегий — это получение прав в системе выше, чем у тебя уже есть. Но чаще всего имеется в виду получение доступа к учетной записи root в Linux или system/administrator в Windows. Почему становится возможным повысить права в системе, казалось бы призванной предотвращать подобное? Причин много. Вот, как мне кажется, основные:
Ну а основная причина всегда одна и та же — людские ошибки. В идеальной вселенной, скорее всего, повысить привилегии не удалось бы. Но человеческий фактор делает это возможным, поэтому наслаждаемся. С чего начать?Прежде чем что-то делать, нужно понять, с чем мы будем иметь дело. Конечно, кое-что мы узнаем о системе, изучив ее на этапе проникновения, но теперь нужно подробнее выяснить, что именно нам может помочь подняться до root. Какие-то вещи мы можем узнать вручную. Например, получить сведения о ядре:
Или о процессоре:
Или релиз ОС:
Можно, конечно, и дальше собирать информацию с помощью терминала, но это долго. Гораздо проще и эффективнее использовать специальные тулзы. Самые распространенные из них:
Все они работают примерно по одному принципу: последовательно запускают команды bash или короткие скрипты, а вывод отправляют в stdout или лог-файл в зависимости от параметров. Так примерно выглядит вывод подобной тулзы. LinEnum Куда смотреть?Давай теперь разберем несколько примеров уязвимостей и посмотрим, как можно их эксплуатировать. Всякое забытоеПервое, что стоит проверить, — это забытые критические данные. Ничего не стоит заглянуть в домашние папки юзеров и посмотреть, не хранит ли кто-то на рабочем столе файл с паролем или ключами от чего-нибудь нужного. Это случается редко, но все же случается. Иногда учетные данные хардкодят в скриптах и конфигах. Стоит также проверить историю шелла, там тоже могут найтись длинные команды, содержащие учетные данные. А иногда бывает, что пользователь набрал пароль, когда консоль его не запрашивала, и он тоже сохранится в истории. SUID/GUIDФлаги setuid и setgid позволяют пользователю запускать программы от имени владельца. Например, когда надо запускать программу от рута, а пользователь рутом не является. Чаще всего встречается SUID. Устанавливается этот бит легко:
Подразумевается, что программа с таким флагом не сможет делать ничего, кроме того, для чего она предназначена. Но так как все мы люди и ошибаемся, то это хорошо порой ошибки позволяют скомпрометировать систему. Чаще всего к возможности повысить привилегии приводит возможность программы производить запись в файловую систему или каким-то образом выполнять код. В первую очередь нас интересуют файлы, владелец которых — root. Найти их можно руками, такой командой:
Как вариант — можно поискать в выводе тулз, которые я перечислил выше. Так или иначе, если найдешь файлы с подобными разрешениями, значит, у тебя есть шанс подняться до максимальных привилегий. Вот вывод таких файлов из Р?Р· интересных файлов — Это позволит довольно легко получить привилегии. Перейти обратно к новости |