安卓强制清除密码不用软件(密码破解第三弹之安卓锁屏密码破解)
写在前面的话:如果你想手机一连接电脑就可以破解锁屏密码,那么你可以不用往下看了。由于安卓系统碎片化比较严重,各种手机系统都是深度定制的,所以存在一定的兼容性问题。
Android 手机提供了几种加密方式用于锁定屏幕,分别是手势密码,PIN 码密码以及复杂密码,其中最为常见的称之为手势密码。此外还有些型号的 Android 手机还提供了面部识别密码、指纹密码和任意图形密码,但由于这些密码在解密失败时都可以通过 PIN码或者手势密码来解锁,所以可以不用理会。
安卓的手势解锁图案一共有九个点,按顺序设定值为0×00-0×08(注意这里是十六进制),如下图所示:
手势密码要求至少由连续的4个点组成, 最多9个点,这九个值依据设定好的解锁图案的顺序,依次排列,排列结果以hex的形式进行sha1加密,然后以byte形式存储于data\system\gesture.key中,这个文件只有root后才可以读取。通过计算, 4~9位的手势密码一共有985 824种组合。比如用十六进制编辑器打开的文件,密文是6a062b9b3452e366407181a1bf92ea73e9ed4c48
图1
原文实际上是00010204060708,注意这是十六进制,不是十进制,这样排列下来,是一个Z字形图案.
图2
目前对应这些密码的彩虹表已经集成在大多数的手机取证工具中。
PIN码密码和复杂密码非常相似, PIN码密码全部由数字组成, 位数为4~16位, 每一位都为任意数字; 而复杂密码的组成规则要复杂的多, 其组成规则为4~16位字符空间, 每个字符空间有94个符号可选, 包括大小写字母、数字、标点符号, 但不能包括空格。由这些符号组成的密码连同一个随机整数一起组成密文, 经过SHA-1加密后储存在password.key文件中, 这个文件同样储存在data\system\路径下, 文件大小为20个字节。因此PIN码密码是包含于复杂密码的, 经计算, 复杂密码共有3.7× 10的31次方种组合, 按照不同密码长度来计算密码组合(见下图)。
好了,锁屏原理都知道了,现在正式开始破解锁屏密码吧。
方法一:如果你手机没有什么重要的文件或数据,就双清吧,这是最方便快捷的。进入recovery模式,选择wipe数据,重新开机即可。不过有个别型号手机进入recovery模式也需要锁屏密码(比如魅族),这就有点蛋疼了,此方法就无效了。
方法二:关联账户。我们都知道原生安卓系统,如果提前关联了谷歌账户的话,在我们忘记锁屏密码后,通过锁屏页面的忘记密码来验证这个账户,可以清除锁屏密码。当然由于某些原因,我们是无法登陆谷歌账户的。不过有些手机可以通过关联手机厂商的账号来清除锁屏密码,比如说无法使用方法一的魅族。注意,必须提前关联账户,否则无法清除密码。
方法三:删除密码文件。此方法需要root权限,并且手机开启USB调试功能。下载adb工具,进入该文件夹,依次运行adb shell ——rm data/system/gesture.key或者rm data/system/password.key即可,重启就没有密码了。
方法四:获取密码图案。此方法和方法三一样,需要得到gesture.key文件,使用破解程序和手势图案的彩虹表破解手势密码图案。以上文中的Z字图案密码为例。
方法五:利用系统漏洞。手机需要开启USB调试模式,且能和电脑连接。一个影响安卓4.3及以下所有系统的漏洞利用方法,使用如下命令
adb shell am start -n com.android.settings/com.android.settings.ChooseLockGeneric --ez confirm_credentials false --ei lockscreen.password_type 0 --activity-clear-task
然后重启手机即可。在安卓4.4以上版本这个漏洞被修复。
方法六:确认手机已经事先开了调试模式,然后在PC上建立如下批处理,安装好adb和手机驱动,并把彩虹表和解锁程序以及批处理都放在同一个目录中,运行批处理即可开启神器(sha1.db是彩虹表, puzzleUnlock.apk是解锁神器):
adb push sha1.db /sdcard/sha1.db
adb install puzzleUnlock.apk
adb shell am start -n com.baiker.puzzleunlock/com.baiker.puzzleunlock.MainActivity
由于绕过锁屏的方法并不完美,所以有些手机上可能没有反应,此时请重启手机,神器会自动运行
首先用adb把彩虹表传送到sd卡中,然后利用KeyguardLock屏蔽锁屏界面,显示我们的程序,程序中设计两个功能:还未root的手机使用解锁漏洞解锁,已root的则直接读取gesture.key 并查表破解(当然已root也可以使用解锁漏洞)。
方法七:使用数字取证工具获取。这一步通常都是用来司法取证的。
手机在启用USB调试模式时, 检验人员可以利用符合司法取证规范的检验工具来进行密码的获取, 这些取证工具都是通过USB调试模式, 在不打开锁屏的状态下, 以ADB(Android开发调试模式) 方式推送取证工具的apk客户端到手机上, 并自动安装运行, 即打开了检材手机与取证工具传输数据的通道。取证工具在获取手机相关数据的同时, 即可以获取密码文件并进行破解。
未启用USB调试的状态 由于检材手机未启用USB调试模式, 在手机开机状态连接到检验电脑是无法进行数据通信的。在这种情况下, 较为简单的方法是利用第三方recovery分区模式(Android手机的恢复模式)启动手机, 然后将整个手机自身存储或data分区备份到空白的SD存储卡中, 再通过计算机提取存储卡中data镜像中的gestury.key密码文件进行破解。
注意:第三方recovery导入的方法可以利用手机官方发布的工具来实现, 如三星公司Odin工具。第三方recovery分区要求带有backup功能, 最常见如ClockWorkMod(又称CWM)。
常见的智能手机取证工具有:eDEC 狼蛛手机检验工具,Final Shield,XRY,Oxygen Forensic,BitPIM,CELLDEK,FTK。不过这些工具都是商用的,不免费,价格也不菲,一般买不起。
方法八:使用Jtag方法或者芯片移植法提取。这种方法技术要求太高,还需要专门的工具仪器,所以不怎么实用,更何况现在安卓也全盘加密了。
由于PIN密码和复杂密码的占有空间比手势密码大很多, 通过类似手势密码破解的手段获取的password.key文件, 需要花费大量的时间破解, 成功率很低。因此一般都是使用adb命令将复杂密码移除,四位或者六位PIN码还是可以破解的。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com