安卓渗透测试平台Kali(Nethunter)搭建教程

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序把安全装进口袋

1OnePlusx手机一台

2Windows764位系统

3QDLoader-HS-USB_Driver_64bit_Setup

4OnePlus_X_14_A.04_151103

5twrp-3.0.2-0-onyx.img

6nethunter-generic-armhf-kalifs-full-2020.1.zip

7platform-tools_r29.0.6-windows

下文以OPX指代OnePlusx,win7指代Windows764位系统,twrp指代twrp-3.0.2-0-onyx.img

所谓刷机,就是给手机重装系统。把手机当作PC电脑,那么手机上的flash就类比于硬盘。我们把Windows/Linux安装到硬盘,就类似于把Android安装到flash。

比如我们的电脑安装了Windows系统,硬盘分为两个分区,分别是C盘,D盘。flash也类似,分为多个分区(partitions)。把ROM的对应文件刷写到对应的分区,就完成刷机过程。

在刷机之前,先了解一下手机的多种状态,就样机OPX而言,有4种状态,分别是

1Download状态(高通soc才有,通过9008COM通信)

2fastboot状态

3Recovery状态

4AndroidOS状态

刷机有线刷和卡刷两类,线刷是指通过usb线连接手机和电脑,用工具刷rom。而卡刷是指把rom放到手机本地存储或者是SDCard,然后通过Recovery进行刷机。

这四种状态从启动到运行系统之间的关系如下

启动>[Download状态]>fastboot状态>Recovery状态=AndroidOS状态

下文的环境搭建顺序是先通过Download状态刷机,然后在fastboot状态刷twrp,接下来在Recovery状态刷kali,最终正常启动系统

在刷机界常听到一句话是把手机刷成砖,所谓的刷成砖是指fastboot状态,Recovery状态,AndroidOS状态全都进不去。这时对于普通用户,只能通过Download状态刷机。而这个Download状态是高通soc独有的功能。

这一步大多数情况是不需要执行的,笔者抱着学习的态度,尝试了一下通过Download状态刷机。不感兴趣的读者可以直接跳过本章节。

1准备OPX手机一台,USB线一根

4安装QDLoader-HS-USB_Driver_64bit_Setup,并重启电脑

上面的StockFirmwareROM我没找到官方发布渠道,这两个地址提供的ROM我无法保证安全性,刷机请谨慎。

步骤1,连接手机和电脑,按住OPX音量+键,并同时用usb线连接手机和电脑,直到win7设备管理器端口(COM和LPT)中出现QualcommHS-USBQDLoader9008(COMn)

到这里Download状态刷机过程就结束了,这时候,手机flash的所有分区信息都被重置刷入StockFirmwareROM的文件,完全和出厂设置是一样的。

一般来说,厂商自带的recovery功能都比较少,我们想刷入twrp,让我们开始吧!

步骤1关闭手机,按住音量+和开机键,直到手机屏幕显示“FastbootMode”

步骤2通过usb线连接手机和电脑

步骤3进入platform-tools目录,执行命令fastbootdevices

C:\Users\test\Desktop\platform-tools_r29.0.6-windows\platform-tools>fastboot.exedevices1a7c2bf0fastboot有上面的打印则表明fastboot连接正常

步骤4执行命令fastbootoemdevice-info,查看fastboot是否锁定,如果锁定,则需要解锁才能输入twrp

上图表明当前为锁定状态(Deviceunlocked:false),这时输入命令fastbootoemunlock尝试解锁,提示"oemunlockisdisabled"。说明fastboot状态下无法解锁,好在查了资料发现进入氧OS系统的开发者模式,可以解锁fastboot,操作如下

1重新启动设备,进入氧OS

2打开Settings--Aboutphone--Buildnumber点击7次,退出Aboutphone,进入Developeroptions

3使能OEMunlocking

上述操作执行完成后,重新进入fastbootmode,再次执行fastbootoemunlock,此时手机提示解锁会删除用户数据,是否继续,点击yes,手机会重启进入氧系统,重新进入fastbootmode,查看锁定信息,发现解锁成功了

所有一切都准备就绪了,开始刷如twrp吧

我把twrp-3.0.2-0-onyx.img放在桌面c:\Users\test\Desktop\

执行命令fastbootflashrecoveryc:\Users\test\Desktop\twrp-3.0.2-0-onyx.img

Sending'recovery'(14758KB)OKAY[0.583s]Writing'recovery'OKAY[0.277s]Finished.Totaltime:0.873s执行命令fastbootbootc:\Users\test\Desktop\twrp-3.0.2-0-onyx.img,让手机进入twrp,点击Reboot--Recovery,此时会提示你“InstallSuperSUnow?”,拖动图标选择安装,因为后续刷kali需要root权限。手机再次进入Recovery界面,fastboot状态刷twrp这个过程就大功告成了。

点击Reboot--System进入系统,配置好WiFi,此时消息提示SuperSUInstaller,点击进入,选择TWRP,等待下载完成,完成后,选择continue,接下来会启动到recovery安装SuperSU,安装好后会自动重启,进入OOS(氧OS)

至此,twrp已经刷写完成

上述工作完成后,就可以刷入kali了

步骤1关闭手机,长按音量-键和开机键,使手机进入recovery模式

步骤2点击Advanced--ADBSideload,此时手机等待中

步骤3进入platform-tools目录,执行命令adbsideloadc:\Users\test\Desktop\nethunter-generic-armhf-kalifs-full-2020.1.zip(我把nethunter-generic-armhf-kalifs-full-2020.1.zip放在桌面c:\Users\test\Desktop\)

步骤4等待进度完成100%

重启时,显示了酷炫的界面

接下来进入系统后,要配置网络,安装SuperSU

Android平台Kali环境搭建到这里就结束了。接下来探索一下刷机的原理。

无论是Download状态/fastboot状态/Recovery状态,我们刷机都是用到一些工具,简单操作即可,黑客精神让我们不能停留在脚本小子的层面。

我们来看看刷机奥秘是什么

首先我们在开发者选项中使能usb调试,让adb连接手机,进入platform-tools目录,执行adbroot,发现执行失败,接着执行adbshell,此时可以获取一个低级别shell,通过执行命令su,让我们获取rootshell

首先我们看看flash分区情况

root@OnePlus:/dev/block#ls...mmcblk0mmcblk0p1mmcblk0p10mmcblk0p11mmcblk0p12mmcblk0p13mmcblk0p14mmcblk0p15mmcblk0p16mmcblk0p17mmcblk0p18mmcblk0p19mmcblk0p2mmcblk0p20mmcblk0p21mmcblk0p22mmcblk0p23mmcblk0p24mmcblk0p25mmcblk0p26mmcblk0p27mmcblk0p28mmcblk0p29mmcblk0p3mmcblk0p4mmcblk0p5mmcblk0p6mmcblk0p7mmcblk0p8mmcblk0p9接下来我们看看每个分区对应的名称

DDR->/dev/block/mmcblk0p4DRIVER->/dev/block/mmcblk0p22LOGO->/dev/block/mmcblk0p21aboot->/dev/block/mmcblk0p5boot->/dev/block/mmcblk0p7cache->/dev/block/mmcblk0p15config->/dev/block/mmcblk0p26dbi->/dev/block/mmcblk0p3fsc->/dev/block/mmcblk0p18fsg->/dev/block/mmcblk0p17grow->/dev/block/mmcblk0p29misc->/dev/block/mmcblk0p20modem->/dev/block/mmcblk0p1modemst1->/dev/block/mmcblk0p10modemst2->/dev/block/mmcblk0p11oppodycnvbk->/dev/block/mmcblk0p12oppostanvbk->/dev/block/mmcblk0p13pad->/dev/block/mmcblk0p9param->/dev/block/mmcblk0p23persist->/dev/block/mmcblk0p14recovery->/dev/block/mmcblk0p16reserve1->/dev/block/mmcblk0p24reserve2->/dev/block/mmcblk0p25rpm->/dev/block/mmcblk0p6sbl1->/dev/block/mmcblk0p2ssd->/dev/block/mmcblk0p19system->/dev/block/mmcblk0p27tz->/dev/block/mmcblk0p8userdata->/dev/block/mmcblk0p28看到这些分区标签是不是很熟悉,这些文件在StockFirmwareROM大多都存在,在用工具校验时,也有这些提示

那么刷机的过程,应该就是把对应的文件写入分区的过程,而卡刷,线刷的ROM包不一样,也是因为不同刷机模式,对ROM保护的文件及内容以及打包格式是不一样的。

以recovery分区为例,看看是不是我们猜想的这样,验证过程是:dump出recovery分区,把dump出的二进制和twrp镜像做比较,我们预期的效果是两个二进制是一样的。

查看recovery分区大小

root@OnePlus:/dev/block/platform/msm_sdcc.1#cat/proc/partitionsmajorminor#blocksname...1791616384mmcblk0p16...每个block是1k,那么recovery分区是16MB大小,我们把整个recovery分区dump到本地,再通过adb从手机中pull出来

root@OnePlus:/dev/block/platform/msm_sdcc.1#ddif=/dev/block/mmcblk0p16of=/sdcard/recv.dumpbs=1024count=16384C:\Users\test\Desktop\platform-tools_r29.0.6-windows\platform-tools>adb.exepull/sdcard/recv.dump./sdcard/recv.dump:1filepulled,0skipped.3.9MB/s(16777216bytesin4.062s)twrp-3.0.2-0-onyx.img大小为14.4M,共15112192个字节,recv.dump是整个分区大小为16M,经对比发现recv.dump的前15112192字节和twrp-3.0.2-0-onyx.img是完全一样的。

这就印证前面的猜想,即刷机无论是刷recovery还是AndroidROM,都是把对应的二进制写入分区。

接下来我做了一个尝试,把OnePlus_X_14_A.04_151103中的recovery.img通过adb传入手机,在adbshell中,通过dd把recovery.img写入recovery分区

ddif=/sdcard/recovery.imgof=/dev/block/mmcblk0p16关机,进入recovery模式,发现twrp被覆盖回原厂recovery了

我猜想线刷和卡刷的差别在于线刷(Download模式和fastboot模式)的时候没有文件系统概念,只能把文件整个写入分区,只能覆盖原有分区文件。

而卡刷不一样,卡刷是在recovery模式,而这个模式是精简版的linux,recovery是和androidos同级的,在这个模式下,一方面可以直接和线刷一样直接写分区,也可以挂载原有Android文件系统,对android文件系统做增删改,实现升级的目的。

在Recovery状态刷kali过程,其实是一个升级的过程,升级kali的zip包时,会对bootimg做一些改动,安装kali文件系统,安装一些apk包,如NetHunter.apk,NetHunterStore.apk,NetHunterTerminal.apk等,我们使用NetHunter时,应该是chroot到kali文件系统,这时候对于操作者来说,就像在kali环境一样。

Kali的教程网络上非常多,本文就不班门弄斧了。

接下来我用两个例子来演示手机版的kali的使用

演示1:用msf创建一个payload

演示2:修改本机mac地址,然后用nmap做一个端口扫描

首先打开NetHunter应用,点击MACChanger,修改mac地址为aa:bb:cc:dd:ee:ff

接下来打开NetHunterTerminal应用,执行命令nmap-A192.168.1.6(同一个网段的另一台主机)

至此本文结束,笔者水平有限,文中有任何错误,欢迎读者不吝指教

THE END
1.新人如何一步步搭建自己的知识付费平台之前我在网上已经教过大家如何实施这种项目,就像建立一个网站一样简单,一旦建好了平台,就可以开始推广和获得收益。搭建一个网站是非常简单的。我经常鼓励创业学员,不要为技术问题担心,因为技术性的东西都可以通过复制和学习来掌握。重要的是在营销推广上有广阔的思维拓展。好的,接下来我将向大家详细介绍如何逐步建立一https://zhuanlan.zhihu.com/p/664783606
2.2024外贸独立站搭建指南:新手零基础入门教程–梦博客最后,决定自己的外贸网站要做什么。 经过前面两步,即便是第一次建站的小白,也能总结出一个好的外贸网站是什么样,需要做什么,说白了就是借鉴成功者的经验,举一反三,为己所用,再往后就可以开始着手建立外贸网站。 第二部分:网站搭建 就网站搭建而言,非常的简单,主要由三部分构成:1. 域名,2. 主机,3. WordPreshttps://www.mengblog.cn/776.html
3.如何搭建一套数据分析平台?人人都是产品经理文章分享了一个简单的数据分析平台搭建教程,希望能够对你带来些帮助。 今天教大家如何搭建一套数据分析平台。 它可能是最简单的搭建教程,有一点Python基础都能完成。比起动辄研发数月的成熟系统,借助开源工具,整个时间能压缩在一小时内完成。 优秀的数据分析平台,首先要满足数据查询、统计、多维分析、数据报表等功能。https://www.woshipm.com/data-analysis/760397.html
4.游戏网站怎么制作教程手游平台搭建方法1.搭建一个http网络服务器。 1.什么叫弱互联网? 手机游戏的行为主体,不用互联网就能玩→单机手游。 但为了更好地提升游戏感受,塑造客户忠诚度,一般必须设计方案朋友排行,得分,游戏道具,抽奖活动等阶段。,这必须连接网络,这必须用弱连接网络技术性来进行。 https://www.dkewl.com/course/detail7150.html
5.fastadmin+xunsearch题库系统搭建教程fastadmin+xunsearch 题库系统搭建教程 前言 因为前段时间需要搭建一套题库系统,但是网上并没有很好的开源题库机缘巧合之下,看到 fastadmin 整合的 xunsearch 插件(提供了很好的搜索引擎)由此我决定尝试使用 fastadmin 来搭建一套题库系统,而且 fastadmin 便捷的 api 给了搜题系统很大的接口支持。可以很简单的写出需要的https://xie.infoq.cn/article/fb51a42bd0e266ca557ba59c7
6.Win10游戏系统安装教程(从零开始,轻松搭建你的游戏系统)随着游戏行业的快速发展,越来越多的玩家开始将电脑打造成专属的游戏平台。而安装一个适合游戏的操作系统则是打造完美游戏体验的重要一环。本文将为大家详细介绍如何在Win10系统上安装适合游戏的系统,让你畅快享受游戏的乐趣。 一、选择合适的Win10版本——打造稳定流畅的游戏平台 https://www.smbaike.cn/post/6565.html
7.单卡玩腻了?看A85混交/交火图文教程(全文)●从BIOS开始 混交搭建教程 一般情况下,如果接驳独立显卡,那么平台就会默认为从独立显卡输出图像。此时如果将视频线接驳在主板背部I/O上是不会输出图像的。由于混交拥有节能功能,因此在我们搭建混交平台的时候,需将视频线接驳在主板背部I/O的图形接口上。——我想大家已经心里有数,在第一次设置的时候,我们先不要将https://mb.zol.com.cn/343/3430650_all.html
8.IT之家评测室StableDiffusion3搭建教程及官方实例演示作为最新版本的 AI 图像生成模型,Stable Diffusion 3 带着万众期待来了,相信一定有许多小伙伴在工作和生活中已经开始或多或少地使用过了图像生成模型,那么我们下面就来分享一下 Stable diffusion 3 的本地搭建过程吧,废话不多说,上干货。 本次搭建使用的平台配置如下: https://www.ithome.com/0/776/769.htm
9.ASP.NETCore适用于.NET的开源Web框架.NET 是一个开发人员平台,由工具、编程语言、库组成,用于构建许多不同类型的应用程序。 ASP.NET Core 通过专门用于生成 web 应用的工具和库扩展了.NET 开发人员平台。 更深入发掘: 什么是 ASP.NET Core? 了解ASP.NET Core 通过我们的教程、视频课程和文档,了解 ASP.NET Core 提供的所有功能。 https://asp.net/
10.从零开始WTL入门教程正式开始教程 项目搭建 1.下载安装VS。我使用的是Visual Studio2015 vs的版本对WTL影响不大,默认配置即可。 2.下载WTL,并取出include文件夹,这就是项目需要的WTL的全部文件 WTL项目文件 3.在VS中创建一个C++空项目 创建项目 4.在项目中添加对WTL的引用 https://www.jianshu.com/p/893a88a245e1
11.怎么自己创建一个网站?号称日赚1000+,开启你的网站平台搭建之路号称日赚1000+,开启你的网站平台搭建之路(教程+源码) 一、项目介绍: 怎么自己创建一个网站? 零基础30分钟拥有自己的网站,开启你的赚钱之路 如果你也想在网上赚钱,那我劝你学一样技术,比如做一个网站,做一个小程序,做一个赚钱系统,做一个全自动机器人等等,其实这些技术并没有你想象的那么难,网上赚钱都是利用http://www.xcxshe.cn/14972.html
12.外贸建站新手教程:从零开始自己搭建外贸网站红帽云邮好了,题外话就说到这里,下面正式开始我们的零基础外贸建站教程。 第1步:了解并确定外贸建站方式 外贸建站的方式归纳起来其实就两种:完全自主搭建和使用已有的建站程序搭建。 自主搭建就是熟悉使用代码语言,比如:Html、PHP、ASP、Java等,自己编辑出功能程序和网页。 https://user.redmaomail.com/knowledgebaseview?id=58&language=chinese_tw
13.modelsim仿真平台的搭建教程非常详细modelsim仿真平台的搭建教程-非常详细 转自:http://www.51hei.com/bbs/dpj-39977-1.html ---《modelsim仿真平台的搭建——理论篇》--- 一、简介 通常情况下,每当用硬件描述语言(HDL)设计完逻辑电路之后,我们接着要做的一件非常重要的事情就是对逻辑电路的功能进行仿真。那用什么软件对其进行仿真呢?笔者用得https://m.blog.csdn.net/litao31415/article/details/53141378
14.外贸建站新手教程:从零开始自己搭建外贸网站外贸建站新手教程:从零开始自己搭建外贸网站 通过学习这篇外贸建站教程,即便你是一个完完全全的建站新手,也可学会Wordpress外贸自建站方法,可以快速而简单地创建出一个实用的外贸网站,无需懂得代码编程。 通过此方法做出的网站,虽然不能说是非常专业,但绝对会超过国内七成以上的外贸网站。https://www.yundianseo.com/how-to-build-website/
15.gofair。net—Gofair外贸中文官网·Gofair外贸教程–gofair软件涉及B2B平台推广、建站、关键词、视频编辑、视频发布等环节,以下列出五大重点软件。 一、AI建站软件 一键架设服务器和网站基本框架 解决了传统建站繁琐的痛点! 双击全屏播放 一键搭建服务器、一键架设网站框架。 5分钟搭建wordpress网站框架,根据教程当天完成全部网站建设! https://www.gofair.net/
16.钉钉宜搭怎么用阿里宜搭平台使用教程近期阿里在钉钉中上线了全新的“宜搭平台”,据了解,这是一个低代码应用开发平台,让用户可以直接在钉钉中进行相应的平台搭建,操作更加方便。钉钉宜搭怎么用?下面小编也为大家带来了阿里宜搭平台的使用教程,我们一起来看看吧! >>钉钉宜搭平台是干嘛的? 钉钉宜搭怎么用? https://shouyou.3dmgame.com/gl/235546.html
17.腾讯实战经验!如何搭建有效的设计规范?优设网如何搭建有效的设计规范? 从作为 UI/UX 设计师典范级入门教材的 Human Interface Guidelines 和 Android Design Guideline(已升级为 Material Design),到各个团队的业务都有自己的设计规范,设计规范似乎越来越重要。甚至每做一个项目都会出一套新的规范,定义好设计原则,把项目中用到的字号/色值/按钮/输入框等全部整https://www.uisdc.com/tencent-combat-build-effective-design-specifications
18.5分钟完成3d可视化平台搭建,教程在此!在完成3d可视化平台搭建教程后,您可以将其发布到Web上,使其他人可以访问它。要发布您的3D可视化平台,请按照以下步骤操作: 将3D可视化平台的所有文件上传到Web服务器上。 配置Web服务器以提供对3D可视化平台的访问。 将您的3D可视化平台的URL共享给其他人。 https://www.fanruan.com/bw/doc/169375
19.自动发卡支付平台搭建全套教程含支付宝微信界面设置教程是zlkb编写的开源支付和发卡平台。 该平台简单且安全。 完全可以满足我们日常发卡平台的相关需求。 演示(城乡食堂)是使用该程序构建的。 本教程涵盖了基础运行环境搭建、支付接口应用、支付接口对接等内容,严格按照本教程操作后, 您可以建立一个可以在线收款、在线发卡的销售平台。 https://m.bjhwtx.com/h-nd-55890.html
20.搭建个人发卡平台教程搭建个人发卡平台教程 简介 很多新手小白不懂得网页设计和代码编辑,想要建立一个网站非常困难,因此分享一个适合小白建站的教程 工具/原料 主机空间 源码 方法/步骤 1 首先我们先要准备空间和域名,这个推荐使用阿里云或者腾讯云,一些知名的空间商,然后我们购买一个发卡源码,也有免费的 2 然后我们把源码上传到空间当中https://jingyan.baidu.com/article/1612d50004ad32a20f1eee54.html
21.说站校园跑腿综合服务网平台小程序源码+部署搭建教程9.然后我们开始客户端部署教程,宝塔面板/www/wwwroot/这里随便创建一个目录,然后把客户端传到这个目录并解压出来。 10.宝塔ssh终端命令:cd/www/wwwroot/客户端目录,然后安装依赖,终端命令:npm install,等待安转完成 11.打开客户端文件src/assets/js/yzy.js https://cloud.tencent.com/developer/article/2175913
22.巨量引擎投放教程巨量引擎广告账户如何搭建实操巨量引擎是目前国内广告主Zui常使用的广告投放平台之一,其庞大的用户群体和精准的定向投放功能使其备受广告主的青睐。在使用巨量引擎进行广告投放之前,需要搭建一个巨量引擎广告账户。本篇教程将从多个角度出发,详细描述巨量引擎广告账户的搭建步骤,并加入可能被忽略的细节和知识,帮助广告主顺利创建自己的巨量引擎广告账户。https://product.11467.com/info/14656133.htm
23.一个轻量级的企业Wiki和团队知识分享平台:MMWiki搭建教程说明:很早前有小伙伴问了下有没有团队wiki程序,最近好像看到了个MM-Wiki,感觉还不错,一个轻量级的企业知识分享与团队协同软件,可用于快速构建企业Wiki和团队知识分享平台。部署方便,使用简单,帮助团队构建一个信息共享、文档管理的协作环境,安装也是很简单的,毕竟是基于Golang,这里就介绍下。 https://www.moerats.com/archives/949/