Где в телефоне хранятся пароли. Хранятся ли пароли к учетным записям в Android в открытом виде

Привет Хабр! Я молодой разработчик, специализирующийся на Android-разработке и информационной безопасности. Не так давно я задался вопросом: каким образом Google Chrome хранит сохраненные пароли пользователей? Анализируя информацию из сети и файлы самого хрома (особенно информативной была эта статья), я обнаружил определенные сходства и отличия в реализации сохранения паролей на разных платформах, и для демонстрации написал приложения для извлечения паролей из Android версии браузера.

Как это работает?

Как мы можем знать из разных публикаций в сети на эту тему, Google Chrome на ПК хранит пароли своих пользователей в следующей директории:
«C:\Users\SomeUser\AppData\Local\Google\Chrome\User Data\Default\» в файле "Login Data ".

Данный файл является базой данных SQLite, и его вполне можно открыть и посмотреть. В таблице logins мы можем видеть следующие, интересующие нас поля: origin_url (адрес сайта), username_value (логин), password_value (пароль). Пароль представлен байтовым массивом, и зашифрован через машинный ключ, индивидуальный для каждой системы. Подробнее можно узнать из этой статьи. Таким образом, какая-никакая защита в Windows клиенте присутствует.

Android

Но так как я больше увлекаюсь Android"ом, то мое внимание забрал на себя, соответственно, Android-клиент браузера.

«Расковыряв» пакет Google Chrome (com.android.chrome ), я обнаружил, что его структура очень напоминает структуру ПК-клиента, и не составило труда найти точно такую же базу данных, отвечающую за хранение паролей пользователя. Полный путь к БД следующий: "/data/data/com.android.chrome/app_chrome/Default/Login Data" . В целом, эта база данных очень похожа на свою «старшую сестру» из ПК-версии, имея лишь одно, но очень значительное отличие - пароли тут хранятся в открытом виде. Возникает вопрос: можно ли программно извлечь пароли из базы? Ответ оказался весьма очевидным - да, если у вашего приложения есть root-права.

Реализация

Для большей наглядности было решено сделать свой инструмент для извлечения паролей из базы данных браузера.

Если описать его работу в двух словах, то оно работает так:

  • Получает root.
  • Копирует базу данных Chrome в свою директорию.
  • С помощью chmod получает доступ к копии БД.
  • Открывает БД, и извлекает информацию о логинах и паролях.
Приложение было размещено в Google Play .

Вывод

Как вывод из проделанной работы, можно сказать, что при наличии root-прав, вытащить базу паролей из браузера и отправить ее на свой сервер - задача вполне решаемая, и этот факт должен заставлять задуматься над тем, стоит ли доверять какому-либо приложению права суперпользователя.

Надеюсь, эта статья была информативной. Спасибо за внимание!

Где хранятся пароли в телефонах на базе Android ?

Почти каждый обладатель аккаунта в социальной сети или известной всем электронной почты, забывал свой пароль. В большинстве случаев узнать забытый пароль достаточно просто, так как многие социальные сети предлагают возможность восстановления пароля при помощи отправки моментального сообщения на абонентский номер или почту, указанных при регистрации. Некоторые сайты, такие как mail . ru , предлагают восстановить пароль при помощи кодового вопроса, ответ на который пользователь указывал при регистрации. Но нередко бываю случаи, когда восстановление пароля кажется невозможным. Это случается при утере таких данных, как адрес электронной почты и номера телефона. Например, пользователь забыл свой пароль от аккаунта «Вконтакте», но не может отправить код сообщением, так как номер уже привязан к другой странице, а почтовый аккаунт уже давно заброшен. В таком случае, приходиться заполнять большую анкету на восстановление начиная с указания паспортных данных вплоть до отправки фотографии монитора с заполненной страницей (чтобы доказать, что вы не являетесь роботом). Но, как оказалось, обладателем телефонов Android , восстановить пароль гораздо легче, если знать где происходит в андроид хранение паролей . Для этого достаточно следовать нижеуказанной инструкции.

Как найти пароли от приложений и браузеров в андроиде

- Загружаем на Play Market приложение Root Manager. Это приложение необходимо для того, чтобы программа для поиска баз данных, которую будет необходимо загрузить далее, работала без сбоев. Памяти оно занимает немного, так что загрузить его сможет каждый. Если приложение несовместимо с телефоном, необходимо выполнить поиск с указанием модели устройства. Вводим в поисковую строку « Root Manager ( название модели телефона)».

- После загружаем ещё одно приложение SQLite Editor, работа которого будет взаимосвязана с ранее установленным Root . Это приложение действительно очень полезное для каждого пользователя Android . Приложение моментально сканирует устройство на наличие базы данных и показывает список всех приложений, которые содержат базу данных. Чтобы найти необходимый пароль, для начала производим поиск баз данных, а затем, выбираем в списке необходимый браузер или приложение, (в зависимости от случая). После выбора появляется меню, где необходимо нажать «webview. Db». В завершение показывается таблица с указанием паролей и других сохранённых данных в приложении, то есть то, что мы и искали.

Где собственно и были найдены рассматреваемые экземпляры.

История вопроса

Два года назад, 21 октября 2008 года мобильная платформа Android перестала быть лишь виртуальной основой для разработчиков и вышла в реальный мир в образе коммуникатора T-Mobile G1 (HTC Dream). С момента первого выхода система претерпела множество изменений, как по качеству кода, так и по количеству возможностей, предоставляемых ей. Однако, как справедливо было замечено некоторыми хабровчанами, качество и популярность платформы зависят не только от интенсивности ее разработки и качества собственного кода, но и от приложений, которыми она позволяет пользоваться.

Кроме того, если вы любите обращать внимания на маленькие детали, то могли заметить, что Android, как операционная система, быстро приобрел большую популярность не только у простых пользователей, но также и у производителей мобильных устройств – ведь они достаточно быстро стали выпускать коммуникаторы бизнес-класса.
Осторожно, много скриншотов!

Никто не совершенен

Тем не менее, главное отличие Android-устройств от коммуникаторов бизнес-класса - это возможность активно использовать интернет-сервисы, причем не только предоставляемые главным разработчиком - Google, но и многие другие. Все это приводит пользователей платформы к необходимости хранения множества личных данных - не только пин-кодов своих банковских карт, но и множества паролей. Долгое время я сам хранил пароли в “простой” записной книжке - AK Notepad, однако сейчас я хочу рассмотреть приложения, которые позволяют делать это более правильно - шифруя информацию, которая не предназначена для посторонних.

Обзор

Список кандидатов, отобранных на рассмотрение:

При первом запуске KeePasDroid предлагает пользователю создать новую или открыть существующую базу хранения паролей:


KeePassDroid. Рис. 1. Создание/выбор БД для паролей.

Я запускал это приложение в первый раз, поэтому базу необходимо было создать:


KeePassDroid. Рис. 2. Ввод главного пароля.

Опционально, KeePassDroid предлагает использовать так же файл-ключ вместо пароля. Я редко использую файлы для авторизации (исключение составляют SSH-соединения), поэтому ввел обычный мастер-пароль.

Без дальнейших вопросов приложение показало мне список из двух групп с единственной кнопкой “Добавить группу”, что я и не преминул сделать:


KeePassDroid. Рис. 3. Список групп с созданной мной группой “Соцсети”.

К сожалению, сначала я не заметил, что значок группы выбирается при ее создании, а смена значка уже созданной группы в KeePassDroid не предусмотрена:

KeePassDroid обладает одной приятной возможностью - создание вложенных групп. Поэтому сортировка паролей и разделение их на группы и подгруппы ограничивается только полетом вашей фантазии:)

Итак, внутри возникшей группы “Cоцсети” я решил создать единственный элемент - сохранить пароль от моей учетной записи в Facebook. Это оказалось достаточно просто - внутри группы необходимо нажать кнопку “Добавить запись”, что я и сделал:

После добавления элемента группа выглядит следующим образом:

Внутри элемента вы можете увидеть введенную вами ранее информацию. Пароль отображается точками – в открытом виде вы не узнаете его даже при редактировании элемента. Вместо этого KeePassDroid предлагает вам скопировать пароль в буфер обмена, размещая это предложение в системной области уведомлений. Но почему-то, дважды По замечанию пользователя @pr0tey - в первой строчке приложение предлагает вам скопировать логин, во второй - пароль (Рис. 9).

KeePassDroid. Рис. 10. Меню программы. KeePassDroid. Рис. 11. Настройки.

Меню программы (Рис. 10), по моему мнению, обладает достаточным и необходимым функционалом - поиск по существующим элементам, изменение мастер-пароля и настройки программы, которые чем-то напомнили мне настройки программы TrueCrypt (Рис. 11). KeePassDroid позволяется вам хранить или не хранить историю файла-ключей, время хранения в буфере обмена, скрывать или не скрывать пароль и так далее. В целом, мои впечатления от приложения - положительные.

2. B-Folders


Официальный сайт

Похоже, что создание базы данных при запуске приложений хранения секретной информации - это некий негласный стандарт среди разработчиков платформы Android

Приложение B-Folders не выбивается из этого стандарта, и при первом запуске пользователь видит стандартное предложение:


B-Folders. Рис. 1. Создание БД для паролей.

При создании базы пользователь имеет возможность указать место ее хранения (во внутренней памяти телефона, либо на SD-карте), задать пароль, а также указать время, через которое база данных будет закрыта, если не используется. Для ее открытия вам снова придется ввести пароль.

К сожалению, в момент создания БД B-Folders “порадовало” меня неприятным экраном, однако после перезапуска продолжило работу:


B-Folders. Рис. 2. Приложение неожиданно закрылось.

При первом запуске разработчики приложения уведомляют своих пользователей о новых возможностях программы с помощью всплывающего окна:


B-Folders. Рис. 3. Уведомление о новых возможностях.

В уведомлении говорится, что теперь в программе появилась возможность создавать базу данных на SD-карте, а также синхронизировать ее с помощью USB-кабеля, помимо ранее существующих способов сделать это через сеть. Лично я не люблю подобные уведомления и считаю, что список возможностей программы можно было просто вынести в раздел “справка” или подобный.

Создать новый элемент в B-Folders легко - необходимо нажать на кнопку “New Item”, после чего программа предоставит вам следующий выбор:


B-Folder. Рис. 4. Список создаваемых элементов.

Как всегда, я создаю папку (группу, категорию) “соцсети” (Рис. 5), внутри нее элемент “Login Password” (Рис. 6)

Так же как и KeePassDroid, B-Folders позволяет создавать элементы внутри других элементов, и, главное, вложенные папки. Таким образом, пользователь получает большую свободу в распределении своих элементов.

При работе с программой была выявлена странная особенность. B-Folders зачем-то закрывает базу данных паролей при нажатии на кнопки “Назад” или “Домой” и, таким образом, вам придется вводить мастер-пароль каждый раз, если вы просто захотите переключиться между B-Folders и браузером. По-моему - это не слишком удобно.

Заканчивая описание, скажу следующее. У B-Folders, есть сильная сторона - возможность синхронизации с настольным компьютером, однако, мне не слишком нравятся программы, которые хранят мои пароли и, при этом, имеют неконтролируемый доступ в Интернет.

В целом, впечатление положительные, но также хочется пожелать авторам, чтобы они сделали работу приложения более стабильной.

3. Handy Safe Pro


Официальный сайт

При первом запуске приложение честно предупреждает пользователя о том, что ему доступна полнофункциональная бесплатная версия сроком на 14 дней (рис. 1.)

Handy Safe Pro. Рис. 1. Trial Предупреждение. Handy Safe Pro. Рис. 2. Создание новой базы.

Следующий шаг - по уже сложившейся традиции - создание базы данных для хранения секретной информации (Рис. 2.). После этой процедуры Handy Safe Pro показывает экран с предустановленным набором красивых папок, который, однако, меня не интересует - потому что я снова создаю папку “соцсети”, для того, чтобы разместить там элемент “Facebook” :)

При добавлении нового элемента в папку “соцсети” приложение показало очень скромный перечень из трех элементов - Карточка, Шаблон и Папка, однако затем:


Handy Safe Pro. Рис. 5. Наборы элементов.

О да! Разработчики предусмотрели для меня список самых популярных интернет-сервисов, среди которых большой и красивой иконкой выделялся мой любимый Facebook!

Заполнение информации об элементе напоминает ранее рассмотренные программы, но заполняемая информация не ограничивается фиксированным количеством полей – вы вольно добавить столько контактных данных, сколько захотите. Единственное, что мне показалось немного странным - для ввода пароля используется обычное текстовое поле, что все-же несколько странно для такого приложения.

Однако, в просмотре информации об элементе введенная информация предстает перед пользователем так, как нужно (рис. 8) и раскрывается только после нажатия кнопки “Show Password” (рис. 9):

Просматривая подробную информацию, вы так же имеете возможность скопировать пароль в буфер обмена.

Handy Safe Pro. Рис. 10. Меню программы. Handy Safe Pro. Рис. 11. Настройки.

Handy Safe Pro так же как и B-Folders имеет возможность синхронизации данных с настольным компьютером, однако, при этом ваши данные не будут передаваться через интернет.

4. Password Master


Официальный сайт

Password Master - пожалуй, самая странная из всех рассмотренных в этом обзоре программ.

Ну что ж, в семье не без урода кто-то все-таки должен был выделиться из толпы. Традиционное создание БД представлено вводом главного пароля, который может быть только комбинацией цифр. Лично я считаю это не слишком безопасным, однако, кому-то может понравиться упрощенный ввод информации для мобильного устройства. Кто знает… Другой странностью этого приложения явился экран, с просьбой указать свой главный почтовый ящик. Основная роль почтового ящика - возможность восстановления мастер-пароля, если вы вдруг забудете его. Конечно, это опять удобство в ущерб безопасности.

При создании элемента, Password Master, к сожалению, не предоставляет возможность создания собственных рубрик, поэтому элемент “Facebook” мне пришлось сделать как есть, назначив ему категорию “интернет”, вместо уже полюбившейся мне категории “соцсети”.

Запись пароля производится в обычном текстовом поле, после чего складывается впечатление, что разработчики этого программного продукта совсем уж наплевали на безопасность.

Внешний вид элементов зависит напрямую от выбранной рубрики:


Password Master. Рис. 5. Добавленный Facebook.

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

5. OI Safe


Официальный сайт

Работа с OI Safe похожа на работу с предыдущими приложениями – все начинается с ввода мастер-пароля (рис.1) и предупреждения о том, что необходимо сохранить ключ (рис. 2):

После принятия пользовательского соглашения в OI Safe, как и в KeePassDroid, пользователь видит список из двух предустановленных категорий - Buisness и Personal. К сожалению, я ошибся и решил создать элемент “Facebook” внутри категории Personal. Заметив ошибку, я отменил создание, однако OI Safe добавило в категорию пустой элемент (рис. 3,4):

Второй минус этого действия - невозможность назначить значки для элементов или рубрик.

Меню программы (рис. 4.), кажется весьма скромным, если не выбрать пункт “Еще” (рис. 7).

Настройки программы также напоминают KeePassDroid, и так же как и KeePassDroid - OI Safe не поддерживает синхронизацию данных пользователя с настольным компьютером.

Мой странный вывод

Я рассмотрел небольшой срез, всего одно направление программ представленных в Android Market, и по моему скромному мнению - набор существующих приложений вполне способен удовлетворить многих пользователей. Но согласитесь ли вы со мной или нет?

Теги:

  • android
  • хранение паролей
  • android market
Добавить метки

Наверняка с каждым случалось забыть свой пароль от электронной почты или аккаунта какой-либо из социальных сетей. Многие интернет-ресурсы, предусматривающие процедуру аутентификации, предлагают пользователю в такой ситуации возможность восстановления забытого пароля. Это может быть контрольный вопрос, указанный при регистрации, смс сообщение, отправленное на телефонный номер, и т.п.

Однако, не исключены случаи, когда утерян номер телефона или тот же e-mail. Тогда, к примеру, забыв пароль от учётки в «ВКонтакте» пользователь не сможет отправить специальный код сообщением из-за того, что абонентский номер уже был привязан к другой странице, а аккаунт от почты давно не используется.

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

Оказывается, владельцы Android-устройств имеют возможность восстановить пароль от своей странички в VK значительно проще. Как узнать на Андроиде пароль от «ВК»? Для этого нужно знать, где хранятся пароли. Об этом мы сейчас и поговорим.

Если вы на своём устройстве воспользовались функцией сохранения паролей, то посмотреть забытый пароль будет несложно:

Дело в том, что сохранённые пароли находятся в браузере, где, как правило, предусмотрена возможность увидеть пароль, который скрыт за звёздочками. Что мы должны сделать:

С помощью системных функций

Открываем браузер (на скриншоте Google Chrome) в поисковой строке вводим ссылку passwords.google.com В открывшемся окне «Сохранённые пароли » находим нужное приложение или сайт, в нашем случае, это «Вконтакте», видим логин (адрес электронной почты) и пароль, скрытый за звёздочками. Чтобы посмотреть сам пароль, нужно нажать на значок, похожий на глаз:

Через браузер на компьютере

Если у вас один аккаунт в «ВК» на всех устройствах и вход осуществлялся автоматически (т.е. пароль был сохранён), то можно посмотреть пароль, скрытый под звёздочками, на компьютере. Этот способ будет актуален, если по каким-либо причинам, предыдущей инструкцией вы не сможете воспользоваться.

Первый способ

Открываем окно браузера. В правом верхнем углу нажимаем значок для вызова настроек (три параллельные чёрточки). В разделе «Настройки», в самом низу нажимаем на «Дополнительные настройки», находим пункт «Пароли и формы», выбираем вторую строку «Предлагать сохранять пароли для сайтов», нажимаем на позицию «Настроить». В открывшемся окне с паролями в поисковой строке вводим адрес искомого сайта или логин:

Теперь в списке сайтов с сохранёнными паролями нажимаем на VK и затем активируем кнопку «Показать», после чего, в поле, где были звёздочки мы и увидим свой пароль:

Второй способ

Мы с удовольствием публикуем инструкцию для тех пользователей, которые не привыкли искать лёгких путей для решения той или иной задачи. Это, как раз тот самый случай. Хотя, вполне возможно, что именно этот метод окажется для вас наиболее удобным. Итак.

Заходим на свою свою страничку в VK. Чтобы выполнить вход, откроется окно с логином (телефон или email) и паролем, скрытым звёздочкми, выделяем их левой кнопкой мыши и нажимаем на выделенный пароль правой кнопкой. Появится строка, в которой указан параметр type. Дважды щёлкаем левой кнопкой по его значению password (или pass. ).Из открывшегося после этого списка действий выбираем «Просмотр кода элемента «.

Теперь, в коде страницы вносим изменения – заменяем type = ‘password’ на type = ‘text’

После этой несложной манипуляции вместо звёздочек мы увидим свой сохранённый пароль.

Поиск забытого пароля с помощью анализатора трафика

С помощью Wireshark (ПК)

Нам понадобится любая программа, анализирующая сетевые пакеты (сниффер). Можно воспользоваться одной из самых популярных в этом сегменте — «Wireshark». Это кроссплатформенный инструмент, работающий практически во всех ОС, включая Windows.

Программа наделена логичным и понятным интерфейсом, работает с большинством протоколов.

О самой программе и её достоинствах мы сейчас говорить не будем (кому интересно, без труда найдёт необходимую информацию в интернете). Нас же сейчас интересует возможность решить проблему с поиском пароля в «ВК». Для этого скачиваем Wireshark с официального сайта :

Установка в OS Windows предельно проста (next->next->next).

Подключаем свой Андроид к ПК через USB. Теперь нам нужно настроить программу на ту сеть, которую предстоит анализировать, и включить её на поиск пакетов:

Затем со смартфона отправляем форму с паролем. После получения пакетов, выключаем Wireshark и ищем среди полученных данных ключевое слово «password», где будет показан логин и пароль.

Здесь важно сказать следующее. Работа со снифферами — это тема отдельного разговора, причём довольно объёмного. Поэтому, неподготовленному пользователю не стоит принимать этот способ, как руководство к действию. Мы же коротко рассказали о Wireshark, только для чтобы обозначить нашей аудитории существование и такой возможности для решения исследуемого вопроса.

Если же вы относите себя к продвинутым пользователям, а тем более, имели опыт работы с таким ПО, то сможете с лёгкостью решить проблему забытого пароля.

Видеоинструкция об использовании Wireshark:

С помощью Intercepter-NG (Android)

Ещё один представитель линейки снифферов, который надо будет установить на Андроид — Intercepter-NG.

Программа является многофункциональным сетевым сниффером, портированным на OS Android. Intercepter-NG довольно успешно справляется с задачей перехвата и анализа сетевого трафика, позволяя восстанавливать файлы, которые передаются по сети, сообщения различных мессенджеров и, что важно для нас в контексте рассматриваемой проблемы, восстанавливать пароли.

Мобильная версия получилась довольно облегчённой, что значительно упрощает управление. Условия, необходимые для работы:

  • Версия Android 2.3.3 и выше
  • Наличие

Подробнее о настройке программы и её работе, смотрим видео:

Представим себе следующую ситуацию. Мы находим смартфон под управлением Android 4.1–4.4 (ну или CyanogenMod 10–11) и вместо того, чтобы вернуть его хозяину, решаем оставить себе и вытащить из него всю конфиденциальную информацию, которую только сможем. Все это мы попытаемся сделать без специализированных инструментов вроде различных систем для прямого снятия дампа с NAND-памяти или хардварных устройств для снятия S-ON и так, чтобы владелец не узнал о том, что мы делаем, и не смог удаленно отыскать или заблокировать устройство. Сразу оговорюсь, что все это вовсе не руководство к действию, а способ исследовать безопасность смартфонов и дать информацию тем, кто хочет уберечь свои данные.

WARNING!

Вся информация предоставлена исключительно в ознакомительных целях. Ни автор, ни редакция не несут ответственности за любой возможный вред, причиненный материалами данной статьи.

Первоочередные действия

Итак, нам в руки попал чужой смартфон. Не важно, каким образом, важно, что он уже у нас. Первое, что мы должны сделать, - это как можно быстрее отвязать его от сотовой сети, то есть, следуя завету гопников, вынуть и выкинуть SIM-карту. Однако делать это я бы рекомендовал только в том случае, если SIM-карту удастся вынуть, не выключая смартфон, то есть либо осторожно приподняв батарею, либо через боковой слот, если это смартфон с несъемной батареей (Nexus 4/5, например). Во всех остальных случаях лучше ограничиться включением режима полета, так как вполне возможно, что в Android активирован режим шифрования пользовательских данных и после отключения смартфон будет заблокирован до ввода ключа шифрования.

Также ни в коем случае нельзя подключать смартфон к какой бы то ни было сети Wi-Fi, так как, возможно, установленное на нем ПО для отслеживания (а в Android 4.4.1 оно уже встроено) сразу начнет свою работу и можно нарваться на «случайную» встречу с владельцем и его друзьями (о полиции можно не беспокоиться, она такого пострадавшего пошлет). Фронтальную камеру я бы на всякий случай чем-нибудь заклеил, возможно, она делает снимки уже сейчас и они будут отправлены при первом удобном случае.

Экран блокировки

Теперь, когда мы обезопасили свою персону, можно начать раскопки. Первое препятствие, которое нам придется обойти, - это экран блокировки. В 95% случаев он не будет иметь защиты, однако об остальных пяти процентах мы забывать не можем.

Защищенный экран блокировки в Android может быть трех основных типов. Это четырехзначный пин-код, графический ключ или снимок лица. На разблокировку первых двух дается в общей сложности двадцать попыток, разделенных по пять штук с «минутой отдыха» между ними. На разблокировку по снимку лица есть несколько попыток, после которых смартфон переключается на пин-код. Во всех трех случаях после провала всех попыток смартфон блокируется и спрашивает пароль Google.

Наша задача - попытаться обойти экран блокировки так, чтобы не скатиться к паролю Google, подобрать который уже точно не удастся. Самый простой способ это сделать - используя подключение по USB и ADB:

$ adb shell rm /data/system/gesture.key

Либо так:

$ adb shell $ cd /data/data/com.android.providers.settings/databases $ sqlite3 settings.db > update system set value=0 where name="lock_pattern_autolock"; > update system set value=0 where name="lockscreen.lockedoutpermanently"; > .quit

Однако у этого метода есть две проблемы. Он требует прав root и не сработает в Android 4.3 и выше, так как для доступа к ADB нужно подтверждение со стороны устройства, что в условиях залоченного экрана сделать невозможно. Более того, доступ по ADB может быть отключен в настройках.

Мы можем спуститься на уровень ниже и для удаления файла с ключом блокировки использовать консоли восстановления. Для этого достаточно перезагрузиться в консоль восстановления (выключение + включение с зажатой клавишей увеличения громкости) и прошить следующий файл . Он содержит скрипт, который удалит /data/system/gesture.key и снимет блокировку, не нарушая работу текущей прошивки.

Проблема этого подхода - зависимость от кастомной консоли восстановления. Стоковая консоль просто не примет файл как подписанный неверной цифровой подписью. Кроме того, в случае, если активировано шифрование данных, во время следующей загрузки телефон будет заблокирован и его спасет только полное удаление всех данных, что идет вразрез с нашей задачей.

Еще более низкий уровень - это fastboot, то есть манипуляция устройством на уровне загрузчика. Красота этого метода в том, что разблокированный загрузчик позволяет делать с устройством что угодно, включая загрузку и установку кастомной консоли восстановления. Для этого достаточно выключить смартфон (опять же делаем скидку на шифрование данных) и включить его в режиме загрузчика с помощью кнопки питания + «громкость вниз». После этого к устройству можно будет подключиться с помощью fastboot-клиента:

$ fastboot devices

Теперь скачиваем «сырой» образ кастомной консоли восстановления (с расширением img) для «нашего» устройства и пытаемся его загрузить без установки:

$ fastboot boot cwm-recovery.img

Если загрузчик девайса разлочен, смартфон перезагрузится в консоль, через которую можно будет активировать режим ADB, залить с его помощью «обновление», ссылка на которое приведена выше, и прошить его. Далее достаточно будет перезагрузиться, чтобы получить полный доступ к смартфону. Кстати, если ты стал обладателем одного из Nexus-устройств, его загрузчик можно легко разблокировать вот так:

$ fastboot oem unlock

Но это просто информация к размышлению, так как операция разблокировки автоматически сбрасывает устройство до заводских настроек.

Теперь о том, что делать, если все эти способы не сработали. В этом случае можно попытаться найти баг в самом экране блокировки. Удивительно, но, несмотря на отсутствие таковых в чистом Android, они довольно часто находятся в экранах блокировок фирменных прошивок от производителя. Например, в Galaxy Note 2 и Galaxy S 3 на базе Android 4.1.2 когда-то была найдена смешная ошибка, которая позволяла на короткое время получить доступ к рабочему столу, просто нажав кнопку «Экстренный вызов», затем кнопку ICE (слева внизу в номеронабирателе) и, наконец, кнопку «Домой». После этого буквально на полсекунды появлялся рабочий стол, чего вполне хватало, чтобы убрать блокировку.

Еще более тупой баг был найден в Xperia Z: можно было набрать на экстренном номеронабирателе код для входа в инженерное меню (# #7378423## ), с помощью него попасть в меню NFC Diag Test и далее выйти на рабочий стол тем же нажатием кнопки «Домой». Мне очень трудно представить, как могли появиться такие дикие баги, но они есть.

Что касается обхода графического ключа, тут все довольно просто. Он может быть отключен таким же способом, как и пин-код, но здесь есть еще две дополнительные возможности. Во-первых, даже несмотря на внушительное количество возможных вариантов ключей, люди в силу своей психологии чаще всего выбирают ключ, похожий на одну из букв латинского алфавита, то есть те самые Z, U, G, цифра 7 и так далее, что сводит количество возможностей к парам десятков. Во-вторых, при вводе ключа палец оставляет на экране совсем не иллюзорный след, который, даже смазанный, довольно легко угадывается. Впрочем, последний минус может быть легко нивелирован защитной матовой пленкой, на которой следы просто не остаются.

Ну и последнее, о чем хотелось бы сказать, - это так называемый фейсконтроль. Это самый топорный вариант блокировки, который, с одной стороны, очень легко обойти, просто показав смартфону фотку владельца, но с другой - довольно трудно, так как, не зная даже имени владельца, раздобыть его фотографию не представляется возможным. Хотя попробовать сфоткать самого себя, конечно, стоит, вполне возможно, что ты похож на предыдущего владельца.

Внутри

Допустим, что мы обошли экран блокировки. Теперь наши действия будут направлены на то, чтобы вытащить как можно больше информации со смартфона. Сразу оговорюсь, что пароль Google, сервисов вроде Facebook, Twitter и номера кредитных карт нам не достанутся. Ни тех, ни других на смартфоне просто нет; вместо паролей используются аутентификационные токены, которые дают доступ к сервису только с данного смартфона, а вторые хранятся на серверах соответствующих служб (Google Play, PayPal), а вместо них используются те же токены.

Более того, не удастся даже купить что-то в Google Play, так как его последние версии принудительно запрашивают пароль Google при каждой покупке. Эту функцию, кстати, можно отключить, но даже в этом случае смысл покупок будет потерян, так как весь контент будет привязан к чужому аккаунту.

С другой стороны, мы вполне можем если не угнать аккаунты полностью, то хотя бы почитать почту, Facebook и другую личную инфу пользователя, а там уже может оказаться что-то интересное. Особый профит в этом случае даст Gmail, который можно будет использовать для того, чтобы восстановить аккаунт к другим сервисам. А если пользователь при этом еще не успел сходить в салон связи, чтобы заблокировать SIM-карту, то можно будет подтвердить идентичность и с помощью номера телефона. Вот только заниматься этим стоит лишь после отключения всех защитных механизмов (мы же не хотим, чтобы нас отследили с помощью антивора).

Удаляем антивор

Все приложения для отслеживания смартфона под управлением Android можно разделить на три группы: «трэш», «игрушки» и «потянет». Первые отличаются тем, что написаны студентами техникумов за три часа и, по сути, представляют собой самые обычные приложения, умеющие снимать данные с датчика положения и отправлять их непонятно куда. Особая прелесть таких софтин в том, что их очень просто обнаружить и удалить. Фактически достаточно пройтись по списку установленного софта, вбить в поиск непонятные названия, выявить антиворы и удалить их. Именно это и нужно сделать на первом этапе.

Второй тип приложений - это уже что-то претендующее на серьезный инструмент, но на деле им не являющееся. Обычно такой софт умеет не только отсылать координаты на удаленный сервер, но и прятать себя, а также защищаться от удаления. Вторая функция обычно реализуется с помощью создания приложения в виде сервиса без графического интерфейса. В этом случае его иконка не будет видна в списке приложений, но само приложение, конечно же, будет висеть в фоне, что легко определить с помощью любого менеджера процессов.

Защита от удаления в подобном «софте» обычно реализована через прописывание себя в администраторы устройства, поэтому второе действие, которое нужно сделать, - это пойти в «Настройки -> Безопасность -> Администраторы устройства» и просто снять галочки со всех перечисленных там приложений. Система должна запросить пин-код или пароль, но если на экране блокировки его уже нет, то доступ будет открыт сразу. Смешно, но гугловский антивор, фактически встроенный в ОС, отключается точно таким же образом.

Наконец, третий тип приложений, - это антиворы, программированием которых занимались люди. Основное отличие подобных приложений в том, что кроме маскировки они также умеют прописывать себя в раздел /system (если есть root), из-за чего удалить их стандартными средствами становится невозможно. Беда только в том, что в списке процессов они по-прежнему будут видны, а чтобы их отключить, достаточно перейти в «Настройки -> Приложения -> Все», затем ткнуть по нужному приложению и нажать кнопку «Отключить».

Вот и вся защита. В этом списке также должны быть и нормальные приложения, реализованные в виде модуля ядра или хотя бы нативного Linux-приложения, которое ни один стандартный менеджер процессов не покажет, но я почему-то таких еще не видел. С другой стороны, команды ps и lsmod все равно бы их выдали (если это только не правильный бэкдор), так что уровень скрытности повысился бы не сильно.

Root и дамп памяти

Следующий шаг - снятие дампа внутренней памяти. Мы не можем быть уверены, что в телефоне не осталось никаких закладок, особенно если это фирменная прошивка от HTC и Samsung, поэтому перед включением сети лучше сохранить все его данные на нашем жестком диске. Иначе они могут быть удалены в результате удаленного дампа.

Для этого в обязательном порядке нужны права root (если, конечно, телефон еще не рутован). Как их получить, тема отдельной статьи, тем более что для каждого смартфона свои инструкции. Проще всего найти их на тематическом форуме и выполнить, подключив смартфон к компу по USB. В некоторых случаях рутинг потребует перезагрузки, поэтому лучше сразу убедиться, не зашифрованы ли данные смартфона (Настройки -> Безопасность -> Шифрование), иначе после ребута мы потеряем к ним доступ.

Когда root будет получен, просто копируем файлы на жесткий диск с помощью ADB. Нас интересуют только разделы /data и /sdcard , поэтому делаем так (инструкции для Linux):

$ adb root $ adb pull /data $ mkdir sdcard && cd sdcard $ adb pull /sdcard

Все файлы будут получены в текущий каталог. При этом следует учесть, что если в смартфоне нет слота для SD-карты, то содержимое виртуальной карты памяти будет находиться в разделе /data и вторая команда просто не понадобится.

Что дальше делать с этими файлами, покажет только фантазия. В первую очередь следует обратить внимание на содержимое /data/data , там хранятся все приватные настройки всех установленных приложений (в том числе системных). Форматы хранения этих данных могут быть совершенно различны, но общей практикой считается хранение в традиционных для Android базах данных SQLite3. Обычно они располагаются по примерно таким путям:

/data/data/com.examble.bla-bla/setting.db

Найти их все можно с помощью команды find в Linux, запущенной в первоначальном каталоге:

$ find . -name \*.db

В них могут содержаться не только личные данные, но и пароли (встроенный браузер хранит их именно так, причем в открытом виде). Достаточно лишь скачать любой графический менеджер баз данных SQLite3 и вбить в его поле поиска строку password.


Исследование приложений

Теперь мы наконец можем отключить режим полета, чтобы смартфон смог связаться с сервисами гугла и другими сайтами. SIM-карты в нем уже не должно быть, а определение местоположения (в том числе по IP) можно отключить в «Настройки -> Местоположение». После этого отследить нас уже не получится.

Что делать дальше? Пройтись по переписке в Gmail, отыскать пароли. Особо щепетильные люди даже создают специальную папочку для писем с паролями и конфиденциальной информацией. Также можно попробовать запросить смену пароля на сервисах с подтверждением с помощью email, но в случае Google, Facebook, PayPal и другими нормальными сервисами это сработает только при наличии номера телефона, для чего придется вернуть SIM-карту на место.

В общем и целом здесь все стандартно. У нас есть email, возможно, номер телефона, но нет паролей от сервисов. Всего этого должно быть достаточно для угона многих аккаунтов, но нужно это или нет - вопрос более серьезный. Тот же аккаунт PayPal или WebMoney восстановить чрезвычайно трудно даже самому владельцу, и полученной информации здесь явно будет недостаточно. Смысл угонять аккаунты от «Одноклассников» и других подобных сайтов очень сомнительный.

Очистить раздел /system от возможных закладок можно, просто переустановив прошивку. Причем использовать лучше неофициальную и прошивать через стандартную консоль восстановления. В этом случае антивор не сможет сделать бэкап самого себя с помощью функций кастомной консоли.

Выводы

Я ни в коем случае не призываю поступать так, как описано в этой статье. Приведенная в ней информация, наоборот, предназначена для людей, которые хотят защитить свои данные. И вот здесь они могут сделать для себя несколько очевидных выводов.

  • Первый: для защиты информации на смартфоне достаточно всего трех простых механизмов, уже встроенных в смартфон: пароль на экране блокировки, шифрование данных и отключенный ADB. Активированные все вместе, они полностью отрежут все пути доступа к устройству.
  • Второй: иметь на смартфоне антивор очень хорошая идея, но не стоит полагаться на него на 100%. Лучшее, что он может дать, - это возможность удалить данные, если попадется не особо умный вор.
  • Ну и третье, самое очевидное: сразу после потери смартфона необходимо отозвать пароль Google, поменять пароли на всех сервисах и заблокировать SIM-карту.
Понравилась статья? Поделиться с друзьями: