[教學] Raspberry Pi Zero W 如何 headless 安裝 Kali Linux

本帖最後由 javacomhk 於 2022-4-7 13:02 編輯

(1) Kali Linux 有套 "Pi-Tail" 版,是已經 patch 好 Raspberry Pi Zero W 嘅 kernel 可以 monitor wifi signal及已加上 headless 的安裝方法,下載網址為 https://www.kali.org/get-kali/#kali-arm。headless 安裝是指 Pi Zero W 不用接駁鍵盤及顯示器就可以預先安裝好系統及相關網絡設定在 SD  Card 上及首次開機後可使用其他電腦或手機經網絡連接後登入及控制。

最新 Kali Linux "Pi-Tail" 版下載點
Pi Zero W
https://kali.download/arm-images/kali-2022.1/kali-linux-2022.1-raspberry-pi-zero-w-pitail-armel.img.xz
Pi Zero 2 W
https://kali.download/arm-images/kali-2022.1/kali-linux-2022.1-raspberry-pi-zero-2-w-pitail-armhf.img.xz

大家注意 Raspberry Pi Zero 2 W (kernel 5.10) 係唔支持個 kernel patch,即係用唔到個 wifi monitor。
參考 https://gitlab.com/kalilinux/build-scripts/kali-arm/-/issues/267

(2) 如果是用  Windows  版 balenaEtcher 已經可以使用  Fetch from URL 功能,在打入下載點後程式會直接下載及解壓後再  Flash 落 SD Card。建議安裝此 "Pi-Tail" 版是要使用 32GB 或以上的 SD Card,因為本身個解壓後嘅 image 檔案有齊 everything 要成 12GB,另外會自動 create 一個 1G 嘅 swap partition。

(3) 根據 Pi-Tail 的 HOW-TO,此 "Pi-Tail" 版是支持插落電腦 USB 當 Ethernet Gadget Mode,進行 ethernet 連接及控制,注意是Raspberry Pi Zero W 的 USB port 是在底板靠中間那個,底板靠外邊那個只是供電位,雖然插 USB port 也可供電。但這個方法 Windows 10/11 的 USB Gadget Mode driver 已經沒有更新,亦未必現在可以用到。插落Android 手機的USB都可能得,但現在的 Android 手機 USB 已經是 USB-C 了,而 Raspberry Pi Zero W 的是 micro USB,所以我沒 好嘅 OTG data cable (好多 microUSB 都只係充電cable,插落去係認唔到)或轉插去試,而且用 USB 連接手機個壞處就係會用快咗手機的電,手機唔可以一邊充一邊用。除了 wifi 及 USB 連接網絡外,用藍芽連接網絡都可以,但如果藍芽及 wifi 一起用就會更加食電及不穩定,所以我亦沒有試用藍芽連接。

(4) 除了用 USB 或藍芽連接外 "Pi-Tail" 版是可以用 wifi 將個 Pi Zero W 連接上網絡,而且不影響 Kali Linux 的 wifi monitor 功能,只要將 Flash 好的 SD Card,從 USB slot 取出後再插入,以便要在 SD Card 重新 mount 好後改寫有關 network 及上 wifi 的設定檔案。由於 Pi Zero W 不支持 5GHz wifi,  所以要填寫連接 2.4GHz 的 wifi 設定。

(5) 在 Windows mount 好 SD Card 後用 Notepad 打開 SD Card 上 wpa_supplicant.conf  檔案的 "home" 設定修改為你屋企的 wifi,原本這部份是
  1. network={
  2.         ssid="homenet"
  3.         psk=68002fbdacc8812f89c06a2fb6542b2b1126853983a59e0076e5f56df9c5543b
  4.         id_str="home"
  5.         priority=2
  6. }
複製代碼
修改 ssid 及 psk 為以下,請留意 id_str 的內容是不用修改的
  1. network={
  2.         ssid="MyHomeWifi"
  3.         psk=6ac0d834a918dfdb09c7d4581a1665f5f1969ef3967e25cd932eab7c75075d54
  4.         id_str="home"
  5.         priority=2
  6. }
複製代碼
獲取 MyHomeWifi 的 psk 密碼加密字串就是利用 linux 的 wpa_passphrase 根據你的 Wifi ssid 及密碼得到,如果你已經有另一部 Raspberry pi 就已經有此 package,亦可以在其他  Linux 機例如 Ubuntu 或 Debian 都有,或者使用  Windows 10/11 wsl  的 Ubuntu 都可以,如果在 wsl 的 Ubuntu 就要首先安裝相關的 package 軟件 sudo apt install wpasupplicant。在 Linux Terminal 打入此指令就可以得到 psk 密碼加密字串。
  1. wpa_passphrase "MyHomeWifi" "MyPassword"
複製代碼
用 Notepad 打開 SD Card 上 interfaces  檔案的 "home" 設定由 DHCP 改為你屋企 WiFi 嘅 Fixed IP,原本這部份是
  1. iface home inet dhcp
複製代碼
修改為例如以下
  1. iface home inet static
  2.     address 192.168.1.79
  3.     netmask 255.255.255.0
  4.     gateway 192.168.1.1
複製代碼
如果不修改為  Fixed IP 而沿用 DHCP,那就要在你的 Router 看看 Pi Zero W 是什麼連接的 IP 地址了。

(6) 如果是需要將 Pi Zero W 使用手機的  HotSpot 流動熱點上網
用 Notepad 打開 SD Card 上 wpa_supplicant.conf  檔案的 "mobile-1" 設定為你手機的 HotSpot 流動熱點設定,原本這部份是
  1. # reading passphrase from stdin
  2. network={
  3.         ssid="mobile-1"
  4.         psk=2b975ade78236c65480641296127688b223b1270e7ce175e7317b5bf6ca4795a
  5.         id_str="mobile-1"
  6.         priority=4
  7. }
複製代碼
修改 ssid 及 psk 為以下,請留意 id_str 的內容是不用修改的
  1. network={
  2.         ssid="Samsung S22"
  3.         psk=6136bd9f2dced6eced7ec23dc4abed6d8dcff707a148d150ab97905facb6ca33
  4.         id_str="mobile-1"
  5.         priority=4
  6. }
複製代碼
同樣 psk 密碼加密字串是用上面講的方法,即在其他 Linux Terminal 打入指令得到
  1. wpa_passphrase "Samsung S22" "mysecretwords"
複製代碼
用 Notepad 打開 SD Card 上 interfaces 檔案的 "mobile-1" 設定由 Fixed IP 改為 DHCP,原本這部份是
  1. iface mobile-1 inet static
  2.     address 192.168.43.254
  3.     netmask 255.255.255.0
  4.     gateway 192.168.43.1
複製代碼
修改為以下
  1. iface mobile-1 inet dhcp
複製代碼
如果不修改為 DHCP,你是很難預先知道手機的內置 IP Segment。

(7) 儲存相關修改,接著就可以將 SD Card 插入 Pi Zero W 後就可以連接電源開機了,由於 Pi Zero W 很省電,一般使用流動電源(俗稱尿袋)都可以供電及使用很耐。

(8) 第一次開機後,要稍等一會初次自動設定後才會用 wifi 連接網絡。 待 Pi Zero W 連接網絡後,才用電腦 Terminal 的 ssh 去連接控制, Kali Linux ssh 的 username 是 kali ,password 是 kali,Pi-Tail HOW-TO 提供個 root password 用 wifi 係 login 唔到。
例如在屋企 wifi 下的 wsl Ubuntu Terminal 連接控制時要打指令
  1. ssh kali@192.168.1.79
複製代碼
(9) 如Pi Zero W 是用手機流動熱點連接,就要先將手機開啟流動熱點。 由於新的 Android 手機會支持 5GHz 的流動熱點,所以此類手機需要關閉 5GHz 改為 2.4GHz 的流動熱點讓 Pi Zero W 成功去連接。 當 Pi Zero W 成功連接手機流動熱點後,在手機流動熱點設定下的已連接裝置 connected device 查看 pi-tail 的 IP 地址如下截圖。


如要將 Raspberry Pi Zero W 的 "Pi-Tail" 版在街外流動使用,就要用手機網絡連接及流動電源的這個組合。

當手機顯示 pi-tail 已連接手機的流動熱點後,用 Android 手機的 Terminal App 例如 "Termux" App 或 "ConnectBot" App 連接控制時,例如打指令
  1. ssh kali@192.168.99.121
複製代碼


如果手機沒有顯示連接裝置的 IP 地址,可以在首次用屋企 Wifi 成功登入,查詢一下個 Pi Zero W 個 hostname,有需要就改,然後開啟 mDNS(請看下面第10點內容如何開啟服務),以後就可在使用同一 wifi network segment 時用它的 hostname + ".local" 例如 pi-tail.local 代替 IP 地址。例如打指令
  1. # 可以用 [hostname].local 去 connect,例如
  2. ssh kali@pi-tail.local
複製代碼


(10) 根據 Pi-Tail 的 HOW-TO,此 Kali Linux 是可以使用 VNC 連接控制的,但 Pi Zero W 行 VNC 開機用 GUI 會佔用很多資源控制會很慢。成功用 ssh 連接控制後就可以作進一步的設定及測試功能。
ssh 連接後首次 terminal 設定及測試例如
  1. sudo apt update
  2. # configure timezone and locales for terminal access.
  3. sudo dpkg-reconfigure tzdata
  4. sudo dpkg-reconfigure locales
  5. # use raspi-config to change the boot option to console mode so as to save memory usage to avoid GUI on boot up.
  6. # and change hostname as required
  7. sudo raspi-config
  8. # start mDNS so that you can use hostname + ".local" instead of IP address
  9. sudo systemctl enable avahi-daemon.service
  10. sudo systemctl start avahi-daemon.service
  11. # find hostname
  12. hostname
  13. # mon0up  will create and start up a monitoring interface "mon0" for wlan0
  14. sudo mon0up
  15. # show 2 interfaces, wlan0 and mon0
  16. sudo airmon-ng
  17. # dump the mon0 wifi signals
  18. sudo airodump-ng mon0
  19. #change root password
  20. sudo passwd
  21. #login root
  22. su
  23. #test again without using sudo under su
  24. mon0down
  25. airmon-ng
  26. mon0up
  27. airmon-ng
  28. airodump-ng mon0
複製代碼
此 Kali Linux "Pi-Tail" 版跟著有什麼其他用途就由你自己去 Youtube 發掘啦,我就不便在此說明。

留位

TOP

家陣想買 2W 都買唔到......

TOP

本帖最後由 javacomhk 於 2022-3-23 14:19 編輯
家陣想買 2W 都買唔到......
fakeman 發表於 2022-3-23 13:53


淘寶一定有 2W,但依家疫情直運來香港起碼要一星期。其實唔使買 2W,2W 可能行 VNC 會快的。呢個 setup 行 ssh wifi connect ,我試過第一代W做 dump 或 cap 都掂,因為後期的 hashcat 係要用 GPU 機去做,2W幾快都唔掂。

TOP

淘寶一定有 2W,但依家疫情直運來香港起碼要一星期。其實唔使買 2W,2W 可能行 VNC 會快的。呢個 setup  ...
javacomhk 發表於 2022-3-23 14:06



    TB 買 2W 唔使食炒價?

TOP

本帖最後由 javacomhk 於 2022-3-23 15:30 編輯
TB 買 2W 唔使食炒價?
fakeman 發表於 2022-3-23 14:45



    幾舊水野炒極咪貴幾草野,呢的機一定比 Pi 4 平啦。再唔係咪買番第一代囉。

TOP

幾舊水野炒極咪貴幾草野,呢的機一定比 Pi 4 平啦。再唔係咪買番第一代囉。 ...
javacomhk 發表於 2022-3-23 15:26



    貴幾草就好,老美 Amazon USD 15->90 都見過

TOP

本帖最後由 javacomhk 於 2022-4-7 13:02 編輯

大家注意 Raspberry Pi Zero 2 W (kernel 5.10) 係唔支持個 kernel patch,即係用唔到個 wifi monitor。
https://gitlab.com/kalilinux/build-scripts/kali-arm/-/issues/267

TOP

幾舊水野炒極咪貴幾草野,呢的機一定比 Pi 4 平啦。再唔係咪買番第一代囉。 ...
javacomhk 發表於 2022-3-23 15:26


你都咪話,pi zero 正價五蚊美金,即係四十幾港紙,正話見 rs-online 個 starter kit (加牛,sdcard,usb cable)叫價三佰四十幾

TOP