Брутфорс пароля или PIN-кода Android с использованием oclHashcat
Брутфорс пароля или PIN-кода Android с использованием oclHashcat
Для восстановления пароля или PIN-кода Android возможно применение техники перебора паролей — брутфорс (англ. brute force — метод «грубой силы»). Чтобы осуществить брутфорс атаку необходимо получить хеш пароля/PIN-кода и соль. Хеш пароля хранится в файле /data/system/password.key. Соль находится в базе данных формата SQlite — /data/data/com.android.providers.settings/databases/settings.db или /data/system/locksettings.db (зависит от версии Android). Чтение базы данных можно осуществить с помощью sqlite3 на самом устройстве или на компьютере с помощью дополнения к Firefox — SQLite Manager. Также потребуется файл /data/system/device_policies.xml, который содержит информацию о количестве символов в пароле и типе символов (цифры, буквы, спец.символы). Это поможет уменьшить набор комбинаций символов и использовать атаку по маске.
Чтобы получить доступ в раздел /data, потребуется установка кастомного рекавери, например, ClockworkMod Recovery (CWM). После этого можно осуществить доступ с компьютера через интерфейс Android Debug Bridge (ADB) в режиме рекавери и примонтировать раздел /data (это можно сделать и через меню CWM). Еще лучше, если на устройстве имеется root-доступ (хотя это и не обязательно). Подробное описание затрагивает слишком много деталей, зависит от конкретного устройства и требуют отдельной статьи.
Если осуществлять доступ к устройству через ADB с запущенной ОС Android, то должна быть включена отладка USB (в разделе «Настройки» — «Параметры разработчика») на взламываемом устройстве, которая на многих телефонах по умолчанию отключена, но даже если отладка включена, то в большинстве случаев нет доступа на запуск adb root:
Существует много разных программ для брутфорса паролей. Я предпочитаю использовать пакет oclHashcat, который содержит 32- и 64-разрядные версии программ, использующих GPU (графический процессор), как для Linux, так и для Windows. OclHashcat поддерживает большое количество алгоритмов, среди которых Samsung Android Password/PIN, TrueCrypt, 1Password, Oracle и т.д. Позволяет задействовать до 128 GPU. На сайте разработчика доступен пакет Hashcat, который использует только CPU. Для Hashcat и oclHashcat имеется графический интерфейс.
Итак, скачиваем последнюю версию oclHashcat (на момент написания данной статьи — v1.00). Распаковываем в любую папку, например, C:\oclHashcat-1.00. Для Windows систем запускаем командную строку Пуск -> Выполнить -> cmd. Перемещаемся в директорию, в которую распаковали oclHashcat — cd С:\oclHashcat-1.00. Если используется оборудование NVIDIA, то необходимо запускать файлы, название которых начинается с «cuda». В системе должен быть установлен драйвер ForceWare версии 319.37 или выше. Если используется оборудование AMD, то необходимо запускать файлы, название которых начинается с «ocl». В случае с AMD требуется драйвер Catalyst версии 13.4 или выше.
В Android минимальная длина пароля на экран блокировки (PIN-код), который может задать пользователь, составляет 4 символа. Подбор пароля, состоящего из 4-х символов (3 цифры и 1 буква), на компьютере под управлением 64-разрядной ОС Windows 7 на процессоре Intel Хeon E5-2620 c 32 Гб оперативной памяти на борту и видеокартой AMD Radeon HD 7900 с помощью программы oclHashcat составляет 1 секунду. Подбор пароля из 8 цифр на данном оборудовании занял 33 секунды. Подбор 6-х символьного пароля, состоящего из 3-х букв и 3-х цифр, составил 1 минуту 47 секунд.
Брутфорс пароля из 6 символов
Рассмотрим пример брутфорса пароля/PIN-кода в Android 4.1, состоящий из 6 символов — 3 буквы и 3 цифры. Узнаем хеш пароля в файле /data/system/password.key — 3989E1BE85F17D31A8261593B97342A88DA9CA5C.
Извлекаем соль из базы данных /data/system/locksettings.db (SELECT * FROM locksettings where name=’lockscreen.password_salt’), в данном случае соль — 5733049674662994238. В некоторых версиях Android соль находится в /data/data/com.android.providers.settings/databases/settings.db (SELECT * FROM secure WHERE name =’lockscreen.password_salt’).
Преобразуем соль в hex в нижнем регистре: 4f8fe24dd9f4e13e.
Узнаем длину и тип символов в файле /data/system/device_policies.xml:
Запускаем oclHashcat64.exe со следующими параметрами:
oclHashcat64.exe -a 3 -n 160 -u 1024 -m 5800 -1 ?d?l 3989e1be85f17d31a8261593b97342a88da9ca5c:4f8fe24dd9f4e13e ?1?1?1?1?1?1
«-a 3» — режим атаки, в данном случае режим 3 означает брутфорс;
«-n 160» — gpu-accel, может принимать значения: 1, 8, 40, 80, 160. Опция «-n» указывает степень загрузки GPU. Значение по умолчанию равно 80.
«-u 1024» — gpu-loops, может принимать значения: 8 — 1024;
Значения gpu-accel и gpu-loops индивидуальны для каждой карты. Вы должны экспериментировать с ними и подобрать оптимальные значения, чтобы повысить производительность перебора, оставив при этом ресурсы для стабильной работы остальных приложений. Следует помнить, что чем выше значения, тем сильнее нагрев GPU. Использование максимальных значений для пользователей Windows Vista и Windows 7 может привести к перезагрузке графического драйвера. Это связано с внедрением WDDM (Windows Display Driver Model) — архитектуры графических драйверов для видеокарты под управлением Microsoft Windows, начиная с Windows Vista. Если драйвер WDDM зависнет, то графический стек перезапустит драйвер. Эта полезная особенность предотвращает замораживание, однако процесс перебора в таком случае прерывается. Для пользователей Vista и Windows 7 существует патч, который отключает восстановление WDDM.
«-m 5800» — тип хеша, 5800 — Samsung Android Password/PIN;
«-1 ?d?l» — собственный набор символов, который можно определить с помощью параметра «-1» (или «-2″,»-3″,»-4″). Доступны следующие предустановленные наборы символов:
?l = буквы в нижнем регистре (a-z);
?u = буквы в верхнем регистре (A-Z);
?d = все цифры (0-9);
?a = ?l?u?d?s;
?s = спец.символы( !»#$%&'()*+,-./:; ?@[\]^_`
При использовании нескольких карточек их нужно указывать в опции «-d» (gpu-devices) через запятую, например, «-d 1,2». Если хотите задействовать только вторую карту , то указывайте «-d 2».
В данном случае искомый пароль «mnm890». Время перебора составило 1 минуту 47 секунд. Полное количество вариантов перебора составляет 36 6 = 2176782336, где 36 это сумма цифр и букв в нижнем регистре, 6 — длина пароля.
При нажатии «s» (статус) можно наблюдать за процессом брутфорса: скорость перебора (Speed), количество перебранных вариантов (Progress), время перебора и другие значения. О степени использовании GPU информирует строка HWMon.GPU.
Для того, чтобы взломать пароль на экран блокировки в Android существуют и другие методы, например, изменение параметров системы, но они зависят от конкретного устройства. Метод брутфорса является универсальным, а с помощью OclHashcat можно осуществить подбор и расшифровку различных паролей с высокой эффективностью.
Источник
Расшифровка password key android
Отказ от ответсвенности: этот мануал предоставлен только для ознакомительных целей, вы не должны использовать эту возможность на чужих телефонах без разрешения владельца ни при каких обстоятельствах. Ни автор, ни переводчик не отвечают за различные случаи применения этого хака.
От переводчика (автора темы): не знаю, может эти способы уже обсуждались на форуме, но поиском ничего не нашел, поэтому решил выложить, так как часто встречаются проблемы с экраном блокировки.
Не так давно я у меня была проблема с девайсом на андроиде, который был заблокирован с помощью графического ключа и мне удалось разблокировать его через adb. Это мануал по тому, как вам справиться с этим, если когда-нибудь и вы столкнетесь с этой проблемой.
На устройстве необходимо чтобы было включен usb debugging, если он не включен, но у вас имеется cwm, вы можете выполнить теже инструкции через cwm, рут не обязателен (хотя лучше если устройство будет рутовано).
Этот методы был протестирован на Gingerbread, Ice Cream Sandwich и Jelly Bean.
Обо способа работают через adb.
Вы можете попробовать оба способа, вот пример того, как я действовал, чтобы удалить блокировку:
- Воспользовался способом 1.
- Перезагрузился.
- Воспользовался способом 2.
- Перезагрузился.
Если после второй перезагрузки изменений не произошло, тогда попробуйте:
И снова перезагрузиться.
Примечания:
- В первом способе каждая строка это различная команда, так что нажимайте Enter после набора каждой строки.
- Во втором способе наберите полностью команду, затем нажмите Enter.
- После применения обох способов и перезагрузки вы можете увидеть экран блокировки, но это не значит, что он работает, просто попробуйте ввести любой ключ и он разблокируется, затем удалите экран блокировки в настройках.
- Эти спобобы могут работать, а могут не работать на различных устройствах, так что все что вы можете это попытаться, но я не гарантирую работу.
P.S. я (автор темы), не являюсь автором мануала, я просто привел на 4pda вольный перевод этой инструкции: http://forum.xda-developers.com/showthread.php?t=1800799
Сообщение отредактировал vaalf — 16.01.17, 19:37
Источник
Расшифровка password key android
Отказ от ответсвенности: этот мануал предоставлен только для ознакомительных целей, вы не должны использовать эту возможность на чужих телефонах без разрешения владельца ни при каких обстоятельствах. Ни автор, ни переводчик не отвечают за различные случаи применения этого хака.
От переводчика (автора темы): не знаю, может эти способы уже обсуждались на форуме, но поиском ничего не нашел, поэтому решил выложить, так как часто встречаются проблемы с экраном блокировки.
Не так давно я у меня была проблема с девайсом на андроиде, который был заблокирован с помощью графического ключа и мне удалось разблокировать его через adb. Это мануал по тому, как вам справиться с этим, если когда-нибудь и вы столкнетесь с этой проблемой.
На устройстве необходимо чтобы было включен usb debugging, если он не включен, но у вас имеется cwm, вы можете выполнить теже инструкции через cwm, рут не обязателен (хотя лучше если устройство будет рутовано).
Этот методы был протестирован на Gingerbread, Ice Cream Sandwich и Jelly Bean.
Обо способа работают через adb.
Вы можете попробовать оба способа, вот пример того, как я действовал, чтобы удалить блокировку:
- Воспользовался способом 1.
- Перезагрузился.
- Воспользовался способом 2.
- Перезагрузился.
Если после второй перезагрузки изменений не произошло, тогда попробуйте:
И снова перезагрузиться.
Примечания:
- В первом способе каждая строка это различная команда, так что нажимайте Enter после набора каждой строки.
- Во втором способе наберите полностью команду, затем нажмите Enter.
- После применения обох способов и перезагрузки вы можете увидеть экран блокировки, но это не значит, что он работает, просто попробуйте ввести любой ключ и он разблокируется, затем удалите экран блокировки в настройках.
- Эти спобобы могут работать, а могут не работать на различных устройствах, так что все что вы можете это попытаться, но я не гарантирую работу.
P.S. я (автор темы), не являюсь автором мануала, я просто привел на 4pda вольный перевод этой инструкции: http://forum.xda-developers.com/showthread.php?t=1800799
Сообщение отредактировал vaalf — 16.01.17, 19:37
Источник
Расшифровка password key android
Отказ от ответсвенности: этот мануал предоставлен только для ознакомительных целей, вы не должны использовать эту возможность на чужих телефонах без разрешения владельца ни при каких обстоятельствах. Ни автор, ни переводчик не отвечают за различные случаи применения этого хака.
От переводчика (автора темы): не знаю, может эти способы уже обсуждались на форуме, но поиском ничего не нашел, поэтому решил выложить, так как часто встречаются проблемы с экраном блокировки.
Не так давно я у меня была проблема с девайсом на андроиде, который был заблокирован с помощью графического ключа и мне удалось разблокировать его через adb. Это мануал по тому, как вам справиться с этим, если когда-нибудь и вы столкнетесь с этой проблемой.
На устройстве необходимо чтобы было включен usb debugging, если он не включен, но у вас имеется cwm, вы можете выполнить теже инструкции через cwm, рут не обязателен (хотя лучше если устройство будет рутовано).
Этот методы был протестирован на Gingerbread, Ice Cream Sandwich и Jelly Bean.
Обо способа работают через adb.
Вы можете попробовать оба способа, вот пример того, как я действовал, чтобы удалить блокировку:
- Воспользовался способом 1.
- Перезагрузился.
- Воспользовался способом 2.
- Перезагрузился.
Если после второй перезагрузки изменений не произошло, тогда попробуйте:
И снова перезагрузиться.
Примечания:
- В первом способе каждая строка это различная команда, так что нажимайте Enter после набора каждой строки.
- Во втором способе наберите полностью команду, затем нажмите Enter.
- После применения обох способов и перезагрузки вы можете увидеть экран блокировки, но это не значит, что он работает, просто попробуйте ввести любой ключ и он разблокируется, затем удалите экран блокировки в настройках.
- Эти спобобы могут работать, а могут не работать на различных устройствах, так что все что вы можете это попытаться, но я не гарантирую работу.
P.S. я (автор темы), не являюсь автором мануала, я просто привел на 4pda вольный перевод этой инструкции: http://forum.xda-developers.com/showthread.php?t=1800799
Сообщение отредактировал vaalf — 16.01.17, 19:37
Источник
Расшифровка password key android
Отказ от ответсвенности: этот мануал предоставлен только для ознакомительных целей, вы не должны использовать эту возможность на чужих телефонах без разрешения владельца ни при каких обстоятельствах. Ни автор, ни переводчик не отвечают за различные случаи применения этого хака.
От переводчика (автора темы): не знаю, может эти способы уже обсуждались на форуме, но поиском ничего не нашел, поэтому решил выложить, так как часто встречаются проблемы с экраном блокировки.
Не так давно я у меня была проблема с девайсом на андроиде, который был заблокирован с помощью графического ключа и мне удалось разблокировать его через adb. Это мануал по тому, как вам справиться с этим, если когда-нибудь и вы столкнетесь с этой проблемой.
На устройстве необходимо чтобы было включен usb debugging, если он не включен, но у вас имеется cwm, вы можете выполнить теже инструкции через cwm, рут не обязателен (хотя лучше если устройство будет рутовано).
Этот методы был протестирован на Gingerbread, Ice Cream Sandwich и Jelly Bean.
Обо способа работают через adb.
Вы можете попробовать оба способа, вот пример того, как я действовал, чтобы удалить блокировку:
- Воспользовался способом 1.
- Перезагрузился.
- Воспользовался способом 2.
- Перезагрузился.
Если после второй перезагрузки изменений не произошло, тогда попробуйте:
И снова перезагрузиться.
Примечания:
- В первом способе каждая строка это различная команда, так что нажимайте Enter после набора каждой строки.
- Во втором способе наберите полностью команду, затем нажмите Enter.
- После применения обох способов и перезагрузки вы можете увидеть экран блокировки, но это не значит, что он работает, просто попробуйте ввести любой ключ и он разблокируется, затем удалите экран блокировки в настройках.
- Эти спобобы могут работать, а могут не работать на различных устройствах, так что все что вы можете это попытаться, но я не гарантирую работу.
P.S. я (автор темы), не являюсь автором мануала, я просто привел на 4pda вольный перевод этой инструкции: http://forum.xda-developers.com/showthread.php?t=1800799
Сообщение отредактировал vaalf — 16.01.17, 19:37
Источник