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. windows 找不到文件gpedit.msc

    前言: 最新在装一个软件的时候,需要更改本地组的一些内容,win+R输入gpedit.msc,提示找不到文件. 解决: 第一种方法:笔者电脑是window10 家庭版,试了网上新建一个txt文件,写入 ...

  2. 基于ShardingJDBC的分库分表详细整理

    转载 https://www.cnblogs.com/jackion5/p/13658615.html 前言 传统应用项目设计通常都是采用单一数据库作为存储方案,但是随着互联网的迅猛发展以及应用数据量 ...

  3. vert.x框架-使用spring注解功能

    1.前言 习惯了spring注解风格,方便好用,现在用vert.x框架,怎么使用spring注解呢? 2.maven安装依赖包 <!--spring注解依赖包--> <depende ...

  4. 大厂面试来了,欢聚时代四年多经验的Java面经

    前言(也就是废话) 今年年底,额,不对,应该说是去年了,我开始进行了一个多月的面试之旅. 面试的公司并不多,但从体量上来看,基本算是一二三线的大厂都囊括了,其中还包括BAT,当然,最后我也是顺利的拿到 ...

  5. 基于springboot的定时任务实现(非分布式)

    1. 核心注解 在springboot项目中我们可以很方便地使用spring自己的注解@Scheduled和@EnableScheduling配合来实现便捷开发定时任务. @EnableSchedul ...

  6. Texture+PBR两种工作流程

    一.导入Texture 1.Inpspector TextureSize 2的n次幂,底层图形学需要,计算更快:不使用2的倍数,系统也会添加像素补全2n: 有最大尺寸限制8k,cubemap最高4k: ...

  7. sql审核-避免离线sql导致的db集群故障

    关键词: sql审核.sql审批.sql检查.sql检测.sql执行 离线sql可能会导致的问题 首先,什么是离线sql呢?就是说手动触发执行的这种sql:相对的还有在线sql,位于我们的程序代码中, ...

  8. 获取app启动时间

    启动APP并收集消耗时间的命令: adb shell am  start -W -n package/activity 手动关闭谷歌浏览器APP(也可以使用命令关闭adb shell am force ...

  9. JUC之线程池基础与简单源码分析

    线程池 定义和方法 线程池的工作时控制运行的线程数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量,超出数量的线程排队等候,等待其他线程执行完成,再从队列中取出任 ...

  10. ctf--web刷题记录 ACTF2020back up file 、极客大挑战2019php、secret file

    ACTF2020back up file backup file指的是备份文件,一般备份文件的后缀有".git" .".svn"." .swp&quo ...