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,进去找到自己的设备,建议选择美版的下载

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

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下载到电脑上(日志中会显示文件路径)

刷入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

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

打开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的更多相关文章

  1. OnePlus One(一加1)刷机Kali Nethunter完整教程

    设备信息: 设备名称:OnePlus One(一加1) OS:ColorOS 1.2 设备型号:A0001 目标: 在OnePlus One(一加1)上将 ColorOS 1.2 刷机为 Kali N ...

  2. 一加手机刷入第三方Rec

    首先阐述一下刷机的整体流程: 备份数据(可选):短信.联系人.通话记录.图片.应用数据的云端同步. 解锁 刷入第三方Recovery(简称Rec). 进入第三方Rec,刷第三方ROM. 刷机成功 解锁 ...

  3. KaliLinuxNetHunter教程刷入第三方Recovery与开始刷机

    KaliLinuxNetHunter教程刷入第三方Recovery与开始刷机 2.刷入第三方Recovery(即TWRP) TWRP(TeamWin Recovery Project)是一款XDA大神 ...

  4. Kali Linux NetHunter教程Kali NetHunter支持的设备和ROMs

    Kali Linux NetHunter教程Kali NetHunter支持的设备和ROMs NetHunter是一个基于Kali Linux为Nexus设备构建的Android渗透测试平台,其中包括 ...

  5. one plus 1(一加1)刷 kali nethunter 教程

    刚刚入手的一加1,刷成了h2os再进行的本次刷机. 用到以下资源: 链接:http://pan.baidu.com/s/1o7S0xzs 密码:2gvm 好了,开始正题,如果你的系统不是H2OS建议先 ...

  6. 极路由1s,固件需要刷入RipOS系统的加40块

    极路由1s,固件需要刷入RipOS系统的加40块,集成wifidog功能,wifi广告路由器的理想选择功能. 经过测试,无线性能稳定,无线可带32个手机客户端. 具体配置: 7620CPU ,主频58 ...

  7. 一加5安卓P刷入twrp的recovery

    本文介绍的方法属于普适性的一般方法,比网上的各种工具箱会繁琐.但是工具箱不一定一直会更新(之前一加论坛的刷机工具箱已经停止更新了,估计是作者不用一加5了吧,毕竟已经好几年的手机了).并且如果你手机更新 ...

  8. 打造“黑客“手机--Kali Nethunter

    从三月份开始,继续更新技术文章.一个月没有更新技术文章了,这一个月有一部分时间是在休息,另一部分时间是在学习汇编和操作系统,沉淀底层和逆向方面的技术. 今年年初,为了玩一下 kali NetHunte ...

  9. 杂牌机搞机之旅(二)————移植TWRP第三方Recovery并刷入

    原本想把杂牌机作为android破解和开发的测试机,破解的话肯定是安装框架的嘛,毕竟有些是要涉及到脱壳 . 但是,我尝试安装xposed的时候,手机卡在了开机界面,也就是magisk出现了错误,如果想 ...

随机推荐

  1. LINUX学习-Nginx+JDK+Tomcat+Mysql搭建JAVA WEB

    一.安装JDK环境 1.先到  https://www.oracle.com/java/technologies/javase-jdk8-downloads.html  下载linux jdk-8u2 ...

  2. CSS命名规范整理

    基于网易NEC修改后,整理的命名规范 单行写完一个选择器定义 便于选择器的寻找和阅读,也便于插入新选择器和编辑,便于模块等的识别.去除多余空格,使代码紧凑减少换行. 如果有嵌套定义,可以采取内部单行的 ...

  3. 5大最新云原生镜像构建工具全解析,3个来自Google,你了解几个?

    1云原生大背景下的镜像构建在分享开始,我想先跟大家简单聊一下云原生,可能不会详细展开,而是带领大家了解一下云原生对镜像构建方面的影响.第一,在接触云原生相关的技术时,无论是要解决开发.测试环境的问题, ...

  4. C# TCP传输文件示例代码

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. 【记录一个问题】opencv + cuda编译release版本后,链接出现奇怪的符号

    链接出现以下信息: 1 /home/admin/opencv/20190610_cuda_release/lib64/libopencv_core.a(ocl.cpp.o): In function ...

  6. Redis数据库各种数据结构的内部实现。

    Redis数据库是一种非关系型数据库,基于key/value对,运行时加载到内存,对value支持虚拟内存, 支持多种数据结构,支持持久化,以性能著称,可用于存储,缓存,消息队列等场景.主要介绍下Re ...

  7. gin框架中使用jwt

    生成解析token 如今有很多将身份验证内置到API中的方法 -JSON Web令牌只是其中之一.JSON Web令牌(JWT)作为令牌系统而不是在每次请求时都发送用户名和密码,因此比其他方法(如基本 ...

  8. GoLang设计模式20 - 组合模式

    定义 组合模式是一种结构型设计模式. 当我们想把一组对象当做一个整体来处理时就可以考虑使用组合模式. 组合模式被视为是接口型设计模式是因为它将一组对象组装为一个树状结构.这个树状结构中的每个独立组件都 ...

  9. Windows 下如何查看文件夹被哪个进程所占用

  10. 如何快速写出高质量的 Go 代码?

    前言 团队协作开发中,必然存在着不同的代码风格,并且诸如 http body close,unhandled error 等低级错误不能完全避免.通过使用 ci lint 能够及早的发现并修复问题,提 ...