一加6刷入kali nethunter

Installing Kali NetHunter On the OnePlus 6

准备工具:

adb: https://jingyan.baidu.com/article/22fe7cedf67e353002617f25.html
twrp: https://www.twrp.me/(需要下载相同版本的.img与.zip)
magisk: https://github.com/topjohnwu/Magisk
kali nethunter镜像: https://www.kali.org/get-kali/#kali-mobile
OnePlus6 Oxygen线刷包(写这篇blog的时候kali要求的Oxygen版本是10)
payload_dumper: https://github.com/vm03/payload_dumper
(一加6-线刷救砖工具(以备不时之需): http://www.oneplusbbs.com/thread-4446250-1.html)
(建议准备个梯子)

ps: 写这篇blog时设备已不在身边,所以图片比较少,等日后想起来了再补上吧

刷入第三方Recovery: twrp

twrp下载

进到twrp官网,右上角有Devices,进去找到自己的设备,建议选择美版的下载

一加6刷入kali nethunter_第1张图片

要下载.img与.zip两个文件

一加6刷入kali nethunter_第2张图片

oneplus打开usb调试

进入到oneplus关于手机页面,连续点击版本号,根据提示进入到开发者模式

找到开发者选项,打开里面的"OEM解锁","高级重启"与"USB调试",此时注意设备上若有弹窗要选允许USB调试

刷入twrp

可先把需要的包全部保存到手机设备中,如果忘记了某个包后续可使用adb push 本机路径 目标路径传到设备上,这里先把后续需要用到的包列出来

twrp_install.zip
Oxygen10.zip  (Oxygen线刷包)
nethunter.zip (nethunter镜像)

设备与电脑连接,adb devices查看有没有连接上设备,使用adb reboot fastboot进入到fastboot模式

fastboot flash boot twrp.img刷入boot分区,按锁屏键确定启动,将会看到twrp的启动画面

解锁,点击安装,刷入twrp_installer.zip完成twrp固化,但要注意每次刷入新的包时都要重新刷一遍twrp_installer.zip防止其被官方recovery覆盖。

刷入Oxygen10

进入twrp,点击清除,完成双清(或者点高级清除勾选前四个,四清)

点击安装,刷入Oxygen10(如果当前卡槽刷入失败,可以尝试切换到另一个卡槽再次尝试刷入)

关于刷入的卡槽(即oneplus6中的A/B分区):若当前是在A分区(即A分区为活动分区),在刷入Oxygen时会将Oxygen刷入到非活动分区即B分区,而刷入成功后要记得在重启中将当前活动分区切换到B分区再重启进入到系统(进入系统是进入到当前活动分区中的系统),否则会提示当前分区未安装系统,而在后面安装nethunter时,会将nethunter刷入到当前的活动分区,所以在刷入完nethunter后无需切换分区,直接启动进入系统即可

再次刷入twrp installer

点击安装,再次刷入twrp_installer.zip,防止twrp被覆盖

进入Oxygen系统,但切记不要联网

进入Oxygen10,但在初始化过程中切记不要联网,否则可能会卡谷歌验证,等初始化结束后再联网应该就没有大问题了。

root准备

提取boot.img

将刷入的Oxygen系统的线刷包解压,找到里面的payload.bin文件

使用payload_dumper对payload.bin进行提取(python payload_dumper payload.bin,执行成功后会在payload_dumper文件夹下找到output文件夹,里面即是提取出的文件),找到提取出的boot.img

使用magisk patch boot.img

安装magisk app

将前面提取出来的boot.img导入到设备中

使用magisk patch boot.img(即下图的"安装"),并将得到的magisk_patched-****.img下载到电脑上(日志中会显示文件路径)

一加6刷入kali nethunter_第3张图片

刷入nethunter镜像并root

我选择的是kali官网提供的nethunter镜像包(才不想去重新编译改编译bug)

刷入nethunter

切记,刷nethunter时不要清除/data下的数据(建议不清除任何数据),刷nethunter时会检测你data下是否有数据,如果你/data下没有数据会导致刷入失败(也就是让你先进入系统,完成初始化操作后再刷入nethunter)

重启进入到Recovery模式,即进入到twrp中

刷入nethunter.zip

刷入成功后暂不要进入系统,直接进行root

进行root

在twrp中依次选择重启,进入到fastboot模式(有的也叫刷机模式?)

当设备进入了fastboot模式后

电脑上输入fastboot flash boot magisk_patched-****.img刷入magisk patch的boot分区

按下锁屏键确认

没有意外的话将会看到启动画面了(将会看到nethunter帅气的开机画面)

进入到系统后电脑上输入adb shell,在oneplus的命令行模式下输入su赋予root权限,在设备的弹窗上选择允许

至此,root完成

禁用oneplus系统更新

进入系统后应该就可以找到nethunter程序了,进去后点击kali Chroot Manager启动Kali Linux chroot

一加6刷入kali nethunter_第4张图片

完成后在下面的Kali Services中把ssh服务打开(我这里勾选了开机自启),这样就可以连接到kali的命令行了(虽然后面好像用不到)

一加6刷入kali nethunter_第5张图片

打开NetHunter终端,选择ANDROID进入Android终端,输入su -c pm disable com.oneplus.opbackup并执行,禁用oneplus的自动更新

Have Fun

随后nethunter还需进行一些初始化操作,打开nethunter程序随便点点熟悉下操作就ok了

个人一些微不足道的理解

后续如果要进行hacking操作的话应该是主要在NetHunter终端中进行的

NetHunter KeX应该是一个类似于VNC client的程序,可连接到本设备的kali上,如要使用首先要在NetHunter中打开KeX Manager,先SETUP LOCAL SERVER再START SERVER,随后通过NetHunter KeX即可连接到本地上的kali

F-Droid应该是一个类似于app store的程序,里面可以安装和更新其他的nethunter 工具(app)

questions
Required key not available

打开kali的terminal时我这里会出现一些问题,输入命令显示 Required key not available,在kali的论坛上找到了一种解决方案,但不确定是否会影响后续使用。具体就是找到/etc/pam.d/su-l文件,将其中的session optional pam_keyinit.so force revoke注释掉。

ps: 若进不去kali的terminal(闪退)请检查下nethunter中的ssh服务有没有开启

twrp被官方的recovery覆盖

成功刷入nethunter并启动后发现recovery变成了官方的recovery,尝试过再次刷入twrp_installer,但是刷入后无法开机,不知为何(可能是个人操作问题)

关于A/B分区的问题

A/B分区理解的不透彻,A/B分区似乎是在系统进行更新时会使用到的一种机制,若A分区更新失败可启动B分区,可以实现类似于回滚的操作,好像也可以利用这个机制安装双系统

Reference

http://www.oneplusbbs.com/thread-4197303-1-authorid-1125704.html

https://www.kali.org/docs/nethunter/installing-nethunter-on-the-oneplus-7/

https://www.bilibili.com/read/cv3655689/

https://forums.kali.org/showthread.php?48217-SSH-Bash-Required-key-not-available

你可能感兴趣的:(一加6刷入kali nethunter)