您好,登錄后才能下訂單哦!
如何進行安卓滲透測試平臺Kali的搭建,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
1 OnePlus x 手機一臺
2 Windows 7 64 位系統
3 QDLoader-HS-USB_Driver_64bit_Setup
4 OnePlus_X_14_A.04_151103
5 twrp-3.0.2-0-onyx.img
6 nethunter-generic-armhf-kalifs-full-2020.1.zip
7 platform-tools_r29.0.6-windows
以 OPX 指代 OnePlus x, win7 指代 Windows 7 64 位系統,twrp 指代 twrp-3.0.2-0-onyx.img
所謂刷機,就是給手機重裝系統。把手機當作 PC 電腦,那么手機上的 flash 就類比于硬盤。我們把 Windows/Linux 安裝到硬盤,就類似于把 Android 安裝到 flash。
比如我們的電腦安裝了 Windows 系統,硬盤分為兩個分區,分別是 C 盤,D 盤。flash 也類似,分為多個分區(partitions)。把 ROM 的對應文件刷寫到對應的分區,就完成刷機過程。
在刷機之前,先了解一下手機的多種狀態,就樣機 OPX 而言,有 4 種狀態,分別是
1 Download 狀態(高通 soc 才有,通過 9008 COM 通信)
2 fastboot 狀態
3 Recovery 狀態
4 Android OS 狀態
刷機有線刷和卡刷兩類,線刷是指通過 usb 線連接手機和電腦,用工具刷 rom。 而卡刷是指把 rom 放到手機本地存儲或者是 SD Card,然后通過 Recovery 進行刷機。
這四種狀態從啟動到運行系統之間的關系如下
啟動 > [Download 狀態] > fastboot 狀態 > Recovery 狀態 = Android OS 狀態
下文的環境搭建順序是 先通過 Download 狀態刷機, 然后在 fastboot 狀態刷 twrp,接下來在 Recovery 狀態刷 kali,最終正常啟動系統
在刷機界常聽到一句話是把手機刷成磚,所謂的刷成磚是指 fastboot 狀態,Recovery 狀態,Android OS 狀態全都進不去。這時對于普通用戶,只能通過 Download 狀態刷機。而這個 Download 狀態是高通 soc 獨有的功能。
這一步大多數情況是不需要執行的,筆者抱著學習的態度,嘗試了一下通過 Download 狀態刷機。不感興趣的讀者可以直接跳過本章節。
1 準備 OPX 手機一臺,USB 線一根
2 下載 QDLoader-HS-USB_Driver_64bit_Setup,下載
3 下載 OnePlus_X_14_A.04_151103,下載 1,下載 2
4 安裝 QDLoader-HS-USB_Driver_64bit_Setup,并重啟電腦
上面的 Stock Firmware ROM 我沒找到官方發布渠道,這兩個地址提供的 ROM 我無法保證安全性,刷機請謹慎。
步驟 1,連接手機和電腦,按住 OPX 音量+鍵,并同時用 usb 線連接手機和電腦,直到 win7 設備管理器 端口(COM 和 LPT)中出現 Qualcomm HS-USB QDLoader 9008(COM n)
步驟 2,打開 MsmDownloadTool V2.0.2 工具, 這個工具在 OnePlus_X_14_A.04_151103 中自帶了,在設備類型中,能看到一個是 Com 設備,說明已經準備好了,此時,點擊校驗按鈕,校驗 Stock Firmware ROM 是否無誤,顯示 OK 則沒問題。準備就緒后,點擊 start,工具的通信狀態會顯示“正在下載鏡像 system.img”, 等待一段時間(約幾分鐘),等到工具顯示 "正在關機...", 則表明刷機完成,此時按電源鍵開機,即可進入氧 OS 系統
到這里 Download 狀態刷機過程就結束了, 這時候,手機 flash 的所有分區信息都被重置刷入 Stock Firmware ROM 的文件,完全和出廠設置是一樣的。
一般來說,廠商自帶的 recovery 功能都比較少,我們想刷入 twrp,讓我們開始吧!
1 準備 OPX 手機一臺,USB 線一根
2 下載 adb,fastboot 安卓調試工具集,platform-tools_r30.0.1-windows.zip
3 下載 twrp,twrp-3.0.2-0-onyx.img
步驟 1 關閉手機,按住音量+和開機鍵,直到手機屏幕顯示“Fastboot Mode”
步驟 2 通過 usb 線連接手機和電腦
步驟 3 進入 platform-tools 目錄,執行命令 fastboot devices
C:\Users\test\Desktop\platform-tools_r29.0.6-windows\platform-tools>fastboot.exe devices 1a7c2bf0 fastboot
有上面的打印則表明 fastboot 連接正常
步驟 4 執行命令 fastboot oem device-info, 查看 fastboot 是否鎖定,如果鎖定,則需要解鎖才能輸入 twrp
上圖表明當前為鎖定狀態(Device unlocked: false),這時輸入命令 fastboot oem unlock 嘗試解鎖,提示"oem unlock is disabled"。 說明 fastboot 狀態下無法解鎖,好在查了資料發現進入氧 OS 系統的開發者模式,可以解鎖 fastboot,操作如下
1 重新啟動設備,進入氧 OS
2 打開 Settings -- About phone -- Build number 點擊 7 次,退出 About phone, 進入 Developer options
3 使能 OEM unlocking
上述操作執行完成后,重新進入 fastboot mode, 再次執行 fastboot oem unlock, 此時手機提示解鎖會刪除用戶數據,是否繼續,點擊 yes,手機會重啟進入氧系統,重新進入 fastboot mode,查看鎖定信息,發現解鎖成功了
所有一切都準備就緒了,開始刷如 twrp 吧
我把 twrp-3.0.2-0-onyx.img 放在桌面 c:\Users\test\Desktop\
執行命令 fastboot flash recovery c:\Users\test\Desktop\twrp-3.0.2-0-onyx.img
Sending 'recovery' (14758 KB) OKAY [ 0.583s] Writing 'recovery' OKAY [ 0.277s] Finished. Total time: 0.873s
執行命令 fastboot boot c:\Users\test\Desktop\twrp-3.0.2-0-onyx.img,讓手機進入 twrp,點擊 Reboot -- Recovery,此時會提示你“Install SuperSU now?”,拖動圖標選擇安裝,因為后續刷 kali 需要 root 權限。手機再次進入 Recovery 界面,fastboot 狀態刷 twrp 這個過程就大功告成了。
點擊 Reboot -- System 進入系統,配置好 WiFi,此時 消息提示 SuperSU Installer,點擊進入,選擇 TWRP,等待下載完成,完成后,選擇 continue,接下來會啟動到 recovery 安裝 SuperSU,安裝好后會自動重啟,進入 OOS(氧 OS)
至此,twrp 已經刷寫完成
上述工作完成后,就可以刷入 kali 了
1 準備 OPX 手機一臺,USB 線一根
2 下載 nethunter-generic-armhf-kalifs-full-2020.1.zip,下載 Generic ARMhf
步驟 1 關閉手機,長按音量-鍵和開機鍵,使手機進入 recovery 模式
步驟 2 點擊 Advanced -- ADB Sideload, 此時手機等待中
步驟 3 進入 platform-tools 目錄,執行命令 adb sideload c:\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 目錄,執行 adb root,發現執行失敗,接著執行 adb shell,此時可以獲取一個低級別 shell,通過執行命令 su,讓我們獲取 root shell
首先我們看看 flash 分區情況
root@OnePlus:/dev/block # ls ... mmcblk0 mmcblk0p1 mmcblk0p10 mmcblk0p11 mmcblk0p12 mmcblk0p13 mmcblk0p14 mmcblk0p15 mmcblk0p16 mmcblk0p17 mmcblk0p18 mmcblk0p19 mmcblk0p2 mmcblk0p20 mmcblk0p21 mmcblk0p22 mmcblk0p23 mmcblk0p24 mmcblk0p25 mmcblk0p26 mmcblk0p27 mmcblk0p28 mmcblk0p29 mmcblk0p3 mmcblk0p4 mmcblk0p5 mmcblk0p6 mmcblk0p7 mmcblk0p8 mmcblk0p9
接下來我們看看每個分區對應的名稱
DDR -> /dev/block/mmcblk0p4 DRIVER -> /dev/block/mmcblk0p22 LOGO -> /dev/block/mmcblk0p21 aboot -> /dev/block/mmcblk0p5 boot -> /dev/block/mmcblk0p7 cache -> /dev/block/mmcblk0p15 config -> /dev/block/mmcblk0p26 dbi -> /dev/block/mmcblk0p3 fsc -> /dev/block/mmcblk0p18 fsg -> /dev/block/mmcblk0p17 grow -> /dev/block/mmcblk0p29 misc -> /dev/block/mmcblk0p20 modem -> /dev/block/mmcblk0p1 modemst1 -> /dev/block/mmcblk0p10 modemst2 -> /dev/block/mmcblk0p11 oppodycnvbk -> /dev/block/mmcblk0p12 oppostanvbk -> /dev/block/mmcblk0p13 pad -> /dev/block/mmcblk0p9 param -> /dev/block/mmcblk0p23 persist -> /dev/block/mmcblk0p14 recovery -> /dev/block/mmcblk0p16 reserve1 -> /dev/block/mmcblk0p24 reserve2 -> /dev/block/mmcblk0p25 rpm -> /dev/block/mmcblk0p6 sbl1 -> /dev/block/mmcblk0p2 ssd -> /dev/block/mmcblk0p19 system -> /dev/block/mmcblk0p27 tz -> /dev/block/mmcblk0p8 userdata -> /dev/block/mmcblk0p28
看到這些分區標簽是不是很熟悉,這些文件在 Stock Firmware ROM 大多都存在,在用工具校驗時,也有這些提示
那么刷機的過程,應該就是把對應的文件寫入分區的過程,而卡刷,線刷的 ROM 包不一樣,也是因為不同刷機模式,對 ROM 保護的文件及內容以及打包格式是不一樣的。
以 recovery 分區為例,看看是不是我們猜想的這樣,驗證過程是:dump 出 recovery 分區,把 dump 出的二進制和 twrp 鏡像做比較,我們預期的效果是兩個二進制是一樣的。
查看 recovery 分區大小
root@OnePlus:/dev/block/platform/msm_sdcc.1 # cat /proc/partitions major minor #blocks name ... 179 16 16384 mmcblk0p16 ...
每個 block 是 1k,那么 recovery 分區是 16MB 大小,我們把整個 recovery 分區 dump 到本地,再通過 adb 從手機中 pull 出來
root@OnePlus:/dev/block/platform/msm_sdcc.1 # dd if=/dev/block/mmcblk0p16 of=/sdcard/recv.dump bs=1024 count=16384
C:\Users\test\Desktop\platform-tools_r29.0.6-windows\platform-tools>adb.exe pull /sdcard/recv.dump . /sdcard/recv.dump: 1 file pulled, 0 skipped. 3.9 MB/s (16777216 bytes in 4.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 還是 Android ROM,都是把對應的二進制寫入分區。
接下來我做了一個嘗試,把 OnePlus_X_14_A.04_151103 中的 recovery.img 通過 adb 傳入手機,在 adb shell 中,通過 dd 把 recovery.img 寫入 recovery 分區
dd if=/sdcard/recovery.img of=/dev/block/mmcblk0p16
關機,進入 recovery 模式,發現 twrp 被覆蓋回原廠 recovery 了
我猜想線刷和卡刷的差別在于線刷(Download 模式和 fastboot 模式)的時候沒有文件系統概念,只能把文件整個寫入分區,只能覆蓋原有分區文件。
而卡刷不一樣,卡刷是在 recovery 模式,而這個模式是精簡版的 linux,recovery 是和 android os 同級的,在這個模式下,一方面可以直接和線刷一樣直接寫分區,也可以掛載原有 Android 文件系統,對 android 文件系統做增刪改,實現升級的目的。
在 Recovery 狀態刷 kali 過程,其實是一個升級的過程,升級 kali 的 zip 包時,會對 boot img 做一些改動,安裝 kali 文件系統,安裝一些 apk 包,如 NetHunter.apk, NetHunterStore.apk, NetHunterTerminal.apk 等,我們使用 NetHunter 時,應該是 chroot 到 kali 文件系統,這時候對于操作者來說,就像在 kali 環境一樣。
Kali 的教程網絡上非常多,本文就不班門弄斧了。
接下來我用兩個例子來演示手機版的kali的使用
演示1:用 msf 創建一個 payload
演示2:修改本機 mac 地址,然后用 nmap 做一個端口掃描
首先打開 NetHunter 應用,點擊 MAC Changer,修改 mac 地址為 aa:bb:cc:dd:ee:ff
接下來打開 NetHunter Terminal 應用,執行命令 nmap -A 192.168.1.6(同一個網段的另一臺主機)
在主機抓包發現,手機的 MAC 地址確實變成 aa:bb:cc:dd:ee:ff 了。
關于如何進行安卓滲透測試平臺Kali的搭建問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。