root shell что это
Как получить root-права на Android и что это такое
Сейчас мы рассмотрим процесс получения root-прав на Android при помощи компьютера и через сам мобильный телефон или планшет. Сразу предупреждаем: если что-то пойдет не так, то может понадобиться перепрошивка. Поэтому, если не уверены в себе — не беритесь.
Вначале немного теории, а затем уже практика. В том числе есть видео, как получить root.
Данная статья подходит для всех брендов, выпускающих телефоны на Android 11/10/9/8: Samsung, HTC, Lenovo, LG, Sony, ZTE, Huawei, Meizu, Fly, Alcatel, Xiaomi, Nokia и прочие. Мы не несем ответственности за ваши действия.
Внимание! Вы можете задать свой вопрос специалисту в конце статьи.
Root-права на Андроид и для чего они нужны
Под понятием «рут» нужно понимать встроенную учетную запись администратора, которая имеет расширенные возможности работы с системой Андроид, недоступные для обычных пользователей.
Рутированные девайсы используют для снятия ограничений, которые установлены производителем для защиты гаджета от потенциально опасных настроек системы, вредоносного ПО и обеспечения защиты программ от несанкционированного копирования.
Основные цели rootaing (рутинга) состоят в получения прав «суперпользователя» или «рут» на девайсах Андроид – снятие запретов оператора связи или производителя для получения возможности манипулировать системными программами и запуска приложений, для функционирования которых необходимы права администратора.
Не знаешь как решить проблему в работе своего гаджета и нужен совет специалиста? На вопросы отвечает Алексей, мастер по ремонту смартфонов и планшетов в сервисном центре.Напиши мне »
У обладателя рут-прав имеется неограниченный доступ ко всем системным файлам, несмотря на установленные ограничения прав доступа. При наличии root-прав вы получаете над своим гаджетом полный контроль.
Преимущества получения рут-прав:
Наличие рут-прав само по себе какие-либо преимущества не предоставляет, а дает возможность выполнять определенные действия с девайсом. Теперь рассмотрим недостатки root:
Виды root-прав
На некоторые девайсах установить права суперпользователя нельзя. На гаджетах имеется специальная защита, которая позволяет получить только Temporary Root или Shell Root.
Проверяем наличие root-прав на Андроид
Существует несколько способов такой проверки:
Способы получения root-прав
Существуют специальные программы для получения прав суперпользователя:
Еще пользователю необходимо уметь выполнять такие действия:
Отладка по USB
Инструкция подходит для гаджетов с любой версией Андроид:
Разрешение для инсталляции из неизвестных источников
Переходим в меню «Безопасность» в «Настройках». В положение «включено» устанавливаем переключатель рядом с пунктом «Неизвестные источники».
Вся подготовка завершена, теперь приступаем непосредственно к рут-правам.
Видео как получить root на Android 6 и выше
Получение root-прав при помощи программ для ПК
Kingo Android Root
VROOT
Если предыдущая программа получить рут-доступ не смогла, то, скорее всего, ваш Андроид гаджет китайского производства. В этой ситуации стоит использовать программу VROOT:
Данные две программы являются лучшими из этой категории. Достаточно просто выполнять вышеописанные инструкции и права суперпользователя будут получены.
Полный доступ при помощи приложений на Андроид
KINGROOT
OneClickRoot
Данное приложение является платным – 30 долларов. Работать с OneClickRoot намного легче, после процесса сканирования будет сообщено о том, сможет ли оно на вашем гаджете предоставить рут-доступ.
Framaroot
Хотела сбросить планшет к заводским настройкам, высвятилось FastBoot Mode и теперь ни туда и не сюда. Не включается, не выключается. Подскажите, что делать?
Я есть root. Получаем стабильный shell
Давайте представим, что мы получили бэк-коннект в результате эксплуатации RCE-уязвимости в условном PHP-приложении. Но едва ли это соединение можно назвать полноценным. Сегодня разберемся в том, как прокачать полученный доступ и сделать его более стабильным.
Это третья часть из цикла статей по повышению привилегий в ОС Linux, я есть root. Первая статья была обзорной, во второй статье я разбирал вектор повышения через SUID/SGID.
Итак, мы получили initial shell. Кто знает, как это по-русски? «Изначальная оболочка» или «первичный доступ» — ГОСТ’а нет, поэтому прошу в комментарии. Так вот, мы не сможем использовать это соединение для успешного pivoting’a, поскольку тот же SSH нам не доступен.
Безуспешная попытка использования SSH
Система сообщает нам, что не может справиться с SSH без полноценного терминального shell’a. Что делать в этом случае? Отправляемся в Google и находим подборки команд, не все из которых нам помогут, например:
Попытка создания псевдотерминала через /bin/sh
Что мы можем с этим сделать? Как получить стабильный шелл? Сейчас разберемся.
Зачем нам терминал в нашем соединении?
Давным-давно, во второй половине 20 века, компьютеры были большими, а взаимодействие пользователей с ними происходило посредством физических устройств, называемых телепринтерами и телетайпами. Об истории терминалов можно почитать тут, а нам важно понимать, что сейчас Linux все так же считает себя мейнфреймом, а общение с системой происходит по виртуальным терминалам.
Часто во время тестирования на проникновение мы получаем оболочку, в которой нет виртуального терминала. Большинство привычных нам бэк-коннектов представляют собой не что иное, как открытие сетевого сокета и перенаправление потоков ввода/вывода в данный сокет. При этом на хосте атакующего отсутствует такая сущность, как терминал (tty). Отсутствие терминала в соединении не дает системе корректно работать с вводом/выводом, поскольку не весь вывод можно корректно вывести через сетевой сокет на хост атакующего. Тот же пример с SSH: запрос на доверие сертификату приходит в терминал атакуемого хоста, но не доходит по сокету на хост атакующего. Команда ниже использована для имитации эксплуатации RCE-уязвимости.
Попытка воспользоваться SSH через nc-соединение
Запрос на доверие сертификату выводится на атакуемом хосте
На стороне атакующего терминала пока нет
Прокачиваем наш изначальный шелл
Мы можем использовать Python, чтобы выйти в bash, при этом получив в свое распоряжение терминал. Команда tty показывает адрес текущего терминала.
Создание виртуального терминала в Python
На этом этапе нам уже доступен некий интерактив в виде возможности дать ответ на запросы системы из серии «доверяйте данному ключу SSH» или «введите пароль, чтобы воспользоваться sudo».
Это уже что-то, однако у нас все еще нет возможности воспользоваться нашим любимым сочетанием клавиш ctrl+c (пентестерский софт ведь никогда не отличался хорошей стабильностью). Чтобы получить более стабильную версию shell’a и не пересоздавать соединение по 10 раз, рекомендую использовать следующий прием.
Команда stty устанавливает свойства терминальной линии. Этот инструмент позволит нам сообщить терминалу на стороне атакующего, что наш ввод нужно просто направлять в stdin без обработки. Таким образом, мы больше не убьём сессию, если машинально нажмем ctrl+c.
Получение стабильного shell’a с помощью настройки свойств терминала
Бывает, что в системе просто не установлен Python. Что же делать в этом случае? Можно воспользоваться утилитой script, например, в CentOS она доступна по умолчанию.
Создание виртуального терминала в script
Думаю, этого достаточно для понимания процесса создания стабильных и удобных соединений.
Как установить root-права на Android?
Что такое root-права?
Root-права — это режим главного администратора, который можно установить при помощи компьютерного ПО. Другими словами, это учетная запись администратора, созданная на базе Android.
Виды прав Суперпользователя
Существует три категории прав на рут на Андроид:
— Полные права (Full Root). Получение неограниченного доступа ко всем функциям мобильного телефона.
— Постоянные (Shell Root). Администраторские права без возможности изменения системной папки system.
— Временные права (Temporary Root). Режим суперпользователя, работающий до перезагрузки устройства. После перезапуска Android, superuser mode исчезнет.
Зачем нужны root-права?
Основные функции расширенного режима администратора:
— изменение, удаление системных файлов;
— деактивация рекламы в приложениях;
— создание резервной копии Android (backup);
— установка файрвола для ограничения доступа в Интернет отдельным приложениям;
перепрошивание или откат ОС;
Способы получения root-доступа на Android
Получить функции суперпользователя на Android возможно двумя путями:
— скачать приложение для root-доступа через Play Market;
— при помощи компьютерного ПО.
Получение полного доступа с помощью программ для ПК
Для разблокировки Full Root при помощи ПК нужно проделать несколько простых шагов:
— Скачать ПО на компьютер из Интернета и установить.
— Подключить смартфон к персональному компьютеру через USB-кабель.
— Провести установку прав суперпользователя.
— Root-доступ с помощью программы Kingo Android Root
— Приложение от KingoRoot может взаимодействовать со множеством смартфонов:
Пошаговая инструкция по установке программы
Процесс инталляции Kingo Anroid Root:
— Подключить смартфон или планшет к компьютеру через USB. Для этого должна быть включена «Отладка по USB». Чтобы это сделать, нужно перейти в «Настройки»—«О телефоне»—«Версия ПО»—«Номер сборки» и несколько раз нажать по номеру сборки, пока не появится сообщение о включении статуса разработчика. Затем выбрать пункт «Для разработчиков» и включить режим отладки по USB.
— После распознавания модели смартфона необходимо подождать, пока установится основной драйвер программы.
— После окончания процесса установки прав, будет высвечено сообщение с текстом «ROOT Status: YES». Перезагрузить смартфон для вступления изменений в силу.
Root-доступ с помощью программы VROOT
Программное обеспечение VROOT работает со всеми моделями смартфонов и имеет такой же простой интерфейс, как и предыдущее приложение. ПО поддерживается только на ОС Windows. Скачивание доступно бесплатно.
Пошаговая инструкция по установке программы
Процесс установки VROOT:
— Запустить скачанный установщик и проследовать инструкции.
— Аналогично подключить смартфон к ПК через отладку USB.
— Запустить приложение и ожидать идентификации подключенной модели.
— Далее нажать на кнопку «Root». Появится окно с прокруткой.
— После успешного завершения процесса рутирования появится окно с галочкой.
Получение root-доступа без помощи компьютера
Инструкция по получению доступа на рут без применения ПК:
— Сначала нужно скачать приложение с Google Play.
— Установить apk файл.
— Запустить root-приложение и следовать инструкциям.
— Root-доступ с помощью приложения KINGROOT
— KINGROOT — это приложение нового образца, которое поддерживает процесс получения прав на рут в один клик.
Список поддерживаемых устройств:
Для того, чтобы разблокировать суперпользовательский режим, нужно проделать несколько простых операций:
— В открывшемся окошке, нажать синюю кнопку «Start Root/ Try to Root».
— Ожидать завершения процесса получения прав на рут.
— После успешного окончания рутирования, запустится новое окно с зеленой галочкой. Смартфон может автоматически перезагрузиться.
— Если получение root прошло неуспешно, то скорее всего проблема заключается в блокировке Bootloader Android.
Такая техническая защита используется на современных флагманах:
Пошаговая инструкция по установке приложения
Процесс инсталляции KINGROOT:
— Зарядить смартфон минимум до 50%.
— Подключиться к беспроводной сети или 3G.
— Включить возможность загрузки непроверенных программ. Перейти в «Настройки»—«Безопасность» и поставить галочку в пункте «Неизвестные источники».
— Скачать приложение через мобильный браузер или Google Play.
— Включить «Отладку по USB». Переместить apk с компьютера на телефон и установить, следуя инструкции.
Рекомендации в случае неуспешной установки:
— отключить настройки безопасности для Google Play;
— во время установки KINGROOT, выключить Интернет, а затем обратно включить;
— установить любой файловый менеджер (ES проводник, Total Commander) и запустить KINGROOT оттуда.
Как удалить root-права на Андроид?
Удаление root через файловый менеджер (ES File Explorer или аналогичный):
— Перейти в папку system/bin или xbin и удалить файл «su».
— Открыть system/app для деинсталляции Superuser. apk.
— Выполнить перезагрузку девайса. Проверить результат через приложение Root Cheker.
Деинсталляция через SuperSU:
— Запустить программу и перейти в настройки.
— Выбрать пункт «Полное удаление Root» и проследовать инструкции.
— После автоматического закрытия программы, перезагрузить устройство.
Удаление для Samsung Galaxy:
— Скачать официальную прошивку с сайта производителя.
— Скачать и инсталлировать утилиту Odin3.
— Установить драйверы Samsung и Samsung USB на компьютер.
— Выключить и подсоединить смартфон к ПК. Телефон должен быть включен в специальном режиме, зажав кнопку домой и качельку громкости.
— Запустить утилиту Odin3 и выбрать «PDA». Выбрать файл официальной прошивки, скачанный ранее.
— Поставить галочки над «PDA» и «Auto Reboot». Остальные отметки необходимо снять.
— Нажать запустить и ожидать около 5-7 минут. После успешного завершения появится окно с сообщением «Сделано!».
— Устройство перезагрузится автоматически.
В 99% случаев можно написать в Гугл «получить root на *модель телефона*» и увидеть подробную иллюстрированную инструкцию если не конкретно к твоей мобиле, то как минимум к мобилам этого производителя.
Вот реферат по 4пда
да да, только где про то, что после оного кингорута замучаешься китайчу выгребать?
А потом кричать про дырявый андроид. Збс тема.
Ещё кто-то изгаляется с прошивками и рутом? Чего без рута не хватает?
А так да, баловаться с прошивками интересно, но в основном на гуглофонах (нексусах и пикселях), т.к. для них иногда делают очень хорошие кастомы.
Как перестать бояться и полюбить adb
Для начала запомним что ни одно действие описанное в этой статье не может окирпичить ваш телефон. Вы не имеете root прав, а значит невозможно испортить какой-либо компонент системы. Это не касается ваших личных файлов и приложение, речь только о компонентах системы, о прошивке короче говоря. Так же данные действия никоим образом не могут повлиять на гарантию вашего телефона, собственно по тем же причинам. Без root мы просто не затрагиваем системные компоненты. Используем только то что разрешает нам сама система, как пользователю.
Разберем немного само устройство системы. В Android нет дисков как в Windows. Есть папки. Папки могут быть например картой памяти. Представьте что на вашем компьютере при вставке флешки, на рабочем столе появляется папка «флешка». Вытаскиваете, исчезает. Вот примерно так же и устроена система в вашем телефоне. И так попадая в shell вашего телефона вы оказываетесь в корневой, главной папке. В ней находится куча папок куда у вас нет доступа. Например System (папка прошивки) или Data (папка данных приложений). То есть доступ в эти папки у вас как бы есть, но только на чтение. Вы не можете изменять, удалять или добавлять туда свои файлы. Нет root доступа для этого. Нас интересует внутренняя память телефона + карта памяти, куда запись нам вполне доступна. И так, внутренняя память телефона всегда называется /sdcard. Карта памяти может находится в другом месте, но обычно она /storage/0123-4567
Далее на компьютер нужно установить adb. Для этого вам необходимо скачать «15 seconds adb installer». К сожалению прямых ссылок дать не могу, но уверен поиском в гугле вы найдете нужный файл.
Запустить от администратора, несколько раз согласится нажав на клавиатуре «Y», установить драйверы от Google Inc.
После того как вы установили adb + необходимые драйверы, вы можете работать с командной строкой телефона.
Для этого в пуске нажмите выполнить и вбейте руками CMD. Ну или на любом месте рабочего стола нажмите на клавиатуре «Win + R», вбейте «cmd» (без кавычек) нажмите Enter.
Кнопка Tab в командной строке пытается продолжить то что вы пишите подставляя имена файлов и папок которые есть в системе.
Что может adb? Начнем с азов. Перезагрузка в основные режимы.
Работа с показом всяких системных характеристик:
Страшный ужасный push и pull:
Эти две команды, push и pull скачивают и закачивают на телефон файлы с ПК и обратно.
Как только вы оказались командной строкой на своем рабочем столе, можно например отправить файл контактов на телефон:
adb push контакты.csv /sdcard/Download/
И файл контактов скопируется с вашего рабочего стола в телефон, в папку /sdcard/Download/
С помощью команды pull можно наоборот, скачать с телефона на ПК:
adb pull /sdcard/Download/контакты.csv контакты.csv
Файл должен оказаться в той папке где вы находитесь командной строкой на ПК (но мы же на вашем рабочем столе, верно?)
Даем какой-либо программе специальные разрешения на примере bxAction:
Для работы bxActions нужно два специальных разрешения, WRITE_SECURE_SETTINGS и READ_LOGS. Эти разрешения могут быть даны только через компьютер, через adb. Сам разработчик рекомендует ввести в командной строке следующее:
adb shell pm grant com.jamworks.bxactions android.permission.WRITE_SECURE_SETTINGS
adb shell pm grant com.jamworks.bxactions android.permission.READ_LOGS
Это правильные команды, однако они не дают вам понимания сработали ли они при вводе. Я рекомендую вводить так:
pm grant com.jamworks.bxactions android.permission.WRITE_SECURE_SETTINGS
pm grant com.jamworks.bxactions android.permission.READ_LOGS
Если при вводе возникнут какие-либо ошибки, вы это увидите. Если все хорошо, вывод будет пустой.
Таким вот не очень хитрым образом вы можете выдавать приложениям права которые раньше могли быть доступны только с получением root! К сожалению Google разрешает таким образом выдавать не все права, тот же Titanuim Backup не заработает, однако многие другие приложения сейчас умееют работать довольствуюсь только доступными в adb правами.
Страшный ужасный менеджер пакетов.
Бывает ситуация когда вы поставили какое-то приложение, например тему. Вы хотите ее удалить, но не можете ее найти в списке установленных приложений. Так же бывает что приложение в списке есть, но оно не удаляется. Тут нам поможет встроенный менеджер пакетов.
У каждого приложения есть уникальное имя пакета. Это скажем так внутреннее название приложения, такое как его видит система. Вы же видите только название из так называемых строк перевода. Даже если приложение не переведено ни на какие другие языки кроме родного языка разработчика или просто английского, в любом случае у приложения будет так называемый default перевод в котором будет прописано название приложения. Таким образом вы видите у себя в меню приложений bxActions вместо com.jamworks.bxactions
Бывают конечно пакеты которые являются скажем какими то системными дополнениями, которые не переводят даже в файле default перевода и оставляют прям называнием пакета. Кстати по этой же логике создаются приложения клоны. Достаточно пересобрать (именно пересобрать через специальный софт) пакет com.jamworks.bxactions с именем com.jamworks.bxactions1 и при установке вы получите второе приложения bxActions) Такой клон не всегда будет работать, но это один из способов создать клон. Система видит приложения с разными названиями пакетов как отдельные приложения.
И так что может pm?
Посмотреть все пакеты установленные в системе, в т.ч. те которые зашиты в прошивку и не могут быть удалены
cmd package list packages
Удалить пакет (например bxactions)
pm uninstall com.jamworks.bxactions
Пакетным менеджером так же можно устанавливать приложения. Например вы скинули bxActions.apk в папку Download
pm install bxActions.apk
Поздравляю вы установили приложение не дотрагиваясь до телефона)
Пакетный менеджер так же умеет отключать приложения. Например встроенный браузер вам не нравится, вы используете Chrome самостоятельно установленный с маркета. По привычке вы заходите на телефоне в настройки, выбираете пункт приложения, находите встроенный браузер, но пункта отключить нету, есть только остановить. Тут то и пригодится пакетный менеджер. Конечно, вы скажете, что можно поставить какой-нибудь Disabler с маркета, но это не всегда бывает удобно, поэтому просто знайте что есть способ сделать это через adb.
Root на Android. Как и зачем?
Термин Root-прав – одно из понятий Linux, который лежит в основе ядра Android. По сути – это учетная запись главного администратора, или superuser’а. У обладателя доступа к этому профилю появляется целый ряд возможностей, закрытых в обычном режиме работы.
Существует три вида прав суперпользователя: Temporary Root — временные Root-права (после первой перезагрузки права суперпользователя исчезают), Shell Root — постоянные Root-права, но без доступа к изменению каталога /system, и Full Root — полные и постоянные Root-права без каких-либо ограничений.
ВАЖНО! Официально ни один аппарат, находящийся в розничной продаже на территории Европы не поддерживает Root «из коробки», поэтому обязательно нужно помнить, что процесс получения прав суперпользователя часто приводит к потере официальной гарантии на устройство!
Еще одним доводом против рутования аппарата является возможность превратить его в безжизненный «кирпич»: без основательного изучения инструкций и понимания серьезности своих действий вы рискуете просто уничтожить «мозги» вашего гаджета.
Ну и в-третьих, получив супер-права, вы самостоятельно отказываетесь от обновлений ПО, поступающих от производителя.
Так почему же все фанаты Android так неистово рвутся поскорее «рутануть» свои гаджеты? Да потому, что плюсов у этой процедуры куда больше, нежели минусов. Судите сами:
1. Появится возможность установить любую кастомную (несколько модифицированную) прошивку. К примеру, CyanogenMod, MIUI и многие другие. Сторонние прошивки, как правило имеют больший функционал, лучшую энергоэффективность и возможности полной настройки как интерфейса, так режима работы гаджета. 2. Вы сможете запускать специальные приложения, существенно расширяющие возможности смартфона, например Task Manager For Root, Root Explorer, Titanium Backup и т.п. 3. Установленные приложения можно будет без ограничений перенести на карту памяти Micro-SD. 4. Сделать скриншот теперь не составит труда. Можно воспользоваться любыми root-программами, которые могут снимать изображение непосредственно с текущего экрана вашего устройства. (Правда последние версии Android научились сами поддерживать эту функцию) 5. Вы можете поставить Firewall – программу, контролирующую расход интернет-трафика. Ярким примером является Droidwall, который будет ограничивать приложения в доступе к интернету.
Получить Root-права можно практически на каждом устройстве. Но есть среди них те, на которые полные права установить невозможно (или крайне сложно): NAND lock (защита, поставленная производителем) не позволяет вносить никакие изменения в раздел /system, что не дает возможности установить программу SuperUser. На них возможно получить только Shell Root или Temporary Root. В основном, это аппараты HTC 2011 г.в.
Способов получения прав суперпользователя превеликое множество: есть и в «один клик», а есть и те, в которых придется около 15 минут «танцевать с бубном». Мы рассмотрим самые распространенные из них.
Первый, самой простой и надежный – это программа Universal Androot. Программа гарантировано работает с версиями Android 2.2 и ниже. Ознакомиться со списком поддерживаемых устройств можно на форуме 4pda.ru.
Второй аналогичной программой является Z4Root. Она также работает с версиями от 2.1 до 2.2.1. От вас потребуется установить приложение и просто нажать кнопку «un-root». Перечень поддерживаемых устройств есть на форуме 4pda.ru.
Если же у вас стоит более свежая версия Android, то существует универсальный инструмент, который работает с большинством продающихся в России смартфонов. Поддерживаемые версии ОС – от 2.1 до 4.0.3. Программа называется Unlock Root. Но здесь придется немного «помучиться». Подробная инструкция описана на форуме 4pda.ru.
Теперь вы знаете зачем нужен Root в операционной системе Android. Выполнять эту процедуру или нет – решать только вам. Но не стоит забывать, что вы можете лишиться гарантии или же самого устройства во время получения Root-прав.