「黑客手機」免費送!
對讀者的要求
我們要在手機里裝Kali Nethunter,如果你的手機是net hunter官方支持的,那玩過手機,刷過機,卡刷zip包對你來說應該不在話下。如果不支持的話,由於本篇文章涵蓋如何編譯自己的CM系統並將其內核整合到nethunter中。所以,還得懂點Linux,會在命令行下敲命令,如果自己編譯過軟體當然更好,畢竟它本質上就是這點東西。如果你最後刷機成功了,那你更得懂點linux,因為這個軟體是沒有界面的,你可以當它是一個Linux的虛擬機,不會點的話,裝上又有啥用呢?
對手機的要求
我自己手機是一加3,如果你不是的話……
內核開源
雖然名義上講,步驟都是通用的,可首先,手機得給力。對手機最大的要求就是:內核代碼開源。有了它我們才能裝我們想要的網卡驅動、藍牙驅動balabala的。
我所知道的國內廠家有開放源碼的有:一加、華為、小米、中興。一加和小米在Github上有,華為中興要去官網自己找,其他的話……我也不了解放狗搜吧。這裡有個帖子可供參考(英文)。外國手機的話,我們聽過的大廠基本都能找到,親兒子肯定開源,三爽那麼多定製ROM的肯定也有,其他的也看上面那個帖子能找得到。是否支持CM?
說實話哈,我只研究過怎樣在CyanogenMod下編譯整個安卓。因為它的編譯環境很好配,敲命令就行,而且我也沒心思研究整個系統,只想改個內核參數而已。
怎麼查支持不支持?[機型 cm]百度一下,有就是有,沒有就……沒辦法了。當然,如果像Google親兒子或者有AOSP AOKP等等別的ROM支持,用它的代碼做編譯環境也可以,命令都是大同小異。如果CM沒有但是能找到內核源碼的話,也可以。應該說更方便。直接make就行,不用這個那個依賴啥啥的。nethunter的教程里涵蓋了如何編譯一個單獨的內核,這裡就不細講了。nethunter官方支持
如果手機是官方支持的型號,直接擼他們的下載鏈接就行,然後像普通安卓刷機包一樣,卡刷進去,重啟就好了,不用往下看。
喔對了,餘弦大大還有一篇非常好的文章來講如何為一加3T卡刷Nethunter,傳送門:
知乎專欄
配置環境
系統要求:Linux(最好是Ubuntu)或者macOS。
安裝依賴
先安裝依賴,主要參考官方教程來輸命令。
要點:對著自己的系統比如ubuntu15.04就輸 「For Ubuntu >= 15.04」這個標題下面的命令。只要安裝好JDK和package就好,USB配置可以忽略。mac尤其注意- 需要安裝位置的磁碟是區分大小寫的,在磁碟工具里能看到是不是,不區分的話,按照上面教程裡面的步驟新建一個sparseimage就好
- 在蘋果官網下載Xcode 7.3.1版本,最新版本不兼容,App Store讓你更新也不要更新。
- 需要額外安裝linux的程序, brew install coreutils findutils gnu-sed,我寫了個小腳本把他們加到PATH變數里,稍後發出來
下載安卓源碼
源碼因人而異,主要的命令還是參考這個教程。
搞到repo小程序
sudo wget https://storage.googleapis.com/git-repo-downloads/repo -O /usr/local/bin/repon
mkdir ~/androidncd ~/androidn
repo init -u https://github.com/LineageOS/android.git-b cm-14.1 --depth=1 --groups=all,-notdefault,-x86,-mips,-linux,-exynos5n
repo syncn
準備內核源碼
每一次進入編譯環境都要準備一下環境變數,下面這一句每次編譯都要輸入
source build/envsetup.shn
breakfast oneplus3n
修改內核參數
參考nethunter官方教程。
進入內核代碼目錄cd kernel/oneplus/oneplus3nmake cleannexport ARCH=arm64nexport SRCARCH=arm64n
ls arch/arm64/configsnmake cyanogenmod_oneplus3_defconfign
由於clang的一個bug,mac用戶需要將 scripts/kconfig/lxdialog/check-lxdialog.sh 下面的第12行改成這樣(-是原來的,+是改過的)
- if [ $? -eq 0 ]; thenn+ if [ $? -eq 0 -o -f /usr/lib/lib${lib}.${ext} ]; thenn
make menuconfign
如果在上面menuconfig里選了 HCI USB Driver,編譯通過不了的話,按這個patch改一下這個文件就好。另外,必須選中Bluetooth device drivers裡面的Atheros firmware download driver,btusb.c需要裡面的一個函數。
最後保存配置,內核配置就算完成了。cp .config cyanogenmod_oneplus3_defconfignmake mrpropern
其他可選配置
如果在前面將一些模塊用m獨立編譯了,而且沒有關閉SELinux,接下來還要改一下SEPolicy。在 源碼/device/oneplus/oneplus3/sepolicy 目錄(oneplus/oneplus3換成設備型號)里,新建或者編輯 init.te 在結尾加上allow init self:capability { sys_module };n
苟!
修改全部完成,cd退回源碼主目錄,運行命令單獨編譯內核與啟動鏡像。
mka bootimagen
適配Nethunter
另找一個目錄下載它的installer。
git clone https://github.com/offensive-security/kali-nethunter.git --depth 1ncd kali-nethunter/nethunter-installern
./bootstrap.shn
strings $out/obj/KERNEL_OBJ/arch/arm64/boot/Image | grep -o 3.*cyan[^ ]* | head -n1n
最後編輯devices.cfg照葫蘆畫瓢把自己新適配的設備加上。
vim devices.cfgnpython build.py -d oneplus3cm -n -u -ns # nouget uninstaller_created no_supersun
然後就得到了我們嶄新的屬於自己的卡刷包!
將剛剛生成的熱乎的 update-nethunter-oneplus3cm-nougat-2017xxxx_xxxxxx.zip卡刷包扔到recovery里,直接update,再重啟,如果沒有報錯的話就沒問題了,all over!開機打開Nethunter app,按照提示安裝 kali chroot 和其他的 metapackage,屬於你的黑客手機就完成了!鼓掌!撒花!起床補個截圖。關於安全
截上圖的時候,看到info裡面有這麼一句話,建議我們不要把它安裝在主力機上。想想也是,發PR的時候,我和NH的開發者提過SELinux的問題,我當時還努力了好久才讓SELinux可以正常工作,但他們也是興緻索然。為什麼我很注重這一點呢?
隨便找兩個知名國產流氓軟體,QQ,支付鴇
QQ:
讀取無線網卡硬體地址
試圖讀取/data中的ANR log,包含系統應用信息與崩潰後的stack trace
支付鴇:又在讀trace log
這個你就牛逼了!讀取系統的鎖屏密碼(的文件屬性)(大概吧)!這個你真厲害誒!我給你滿分!獲取CPU最大頻率?應該涉及身份認證吧,我只能這麼安慰自己了。裝了XPrivacy的話這裡會蹦警告的。 讀取自己的內存信息,debugfs里。可能用於檢測app安全性吧。(只能這麼安慰自己了)所以說啥呢,能不搞事情,就不搞事情。 像這種軟體,又不能不用,也不能保准哪天他一個更新又想偷窺什麼。自律不如他律,這就是SELinux存在的意義。
封面:
KaliNethunter官方壁紙
推薦閱讀:
※linux運維需要哪些技能?
※為什麼我的kali2.0裝了VMwareTools還是 不能複製文件進去,屏幕也不能自動大小?
※關於arp欺騙攻擊進行的一些實驗出現的疑惑?