開源項目開源硬體開源軟體長篇分享

Pwnagotchi 開箱教程

綜述

Pwnagotchi 是一個由 Bettercap 驅動的 A2C 的 「AI」,它能夠從周圍的 WiFi 環境中學習,以最大限度地利用它捕獲的可破解 WPA 密鑰材料(通過被動嗅探或執行解除身份驗證和關聯攻擊)。該材料作為可被 hashcat 破解的 PCAP 文件收集在磁碟上,包括完整和半 WPA 握手以及 PMKID。

簡單來說,Pwnagotchi 就是一個能夠幫助你捕獲附近破解WiFi需要的握手包的工具。它的亮點在於採用了不同的情緒和性格來表示程序當前的狀態,會在嗅探握手包時東張西望,會因為沒有收到新鮮的握手包而感到無聊,會因為交到新朋友而感到開心,當然了,偶爾也會摸摸魚......就好像養了一隻電子寵物一樣。

項目地址:https://pwnagotchi.ai/

安裝

硬體要求

先按官網要求買一波設備,必備的是帶 WiFi 功能的樹莓派主板、8G 以上空間的 MicroSD 卡和一根 Micro-USB 數據線(不是 Type-C ),其他的可按需購買。

下面是我選用的硬體配置:

硬體要求 實際配置 價格 備註
帶 WiFi 功能的樹莓派主板 樹莓派 Zero W 帶排針 250 帶排針後面可以直接接插腳
MicroSD 卡8G+ 閃迪32GB A1 27.9
Micro-USB 數據線 家裡原有的一根不知名數據線 0
電源 UPS-Lite V1.2 95 這個型號支持電源顯示
I2C 時鐘 DS1307ZN+/SOIC-8 5.3 用於同步時間
屏幕 微雪2.13英寸電子墨水屏V3 118 V3官方還沒支持,要改源文件
合計 - 496.2

Step1-刷入系統

  1. 下載最新的 Pwnagotchi .img 文件,解壓並驗證 .img 的 SHA-256 校驗和。
  2. SD卡插入讀卡器連接電腦。
  3. 使用SD卡刷入工具刷入系統。

不會操作的話,請看MicroSD卡輸入系統教程

完成這一步就可以插入樹莓派開機了,但這之前還有可選的一步初始配置,同樣可以在讀卡器上進行操作,所以別急著拔卡。當然,這些配置以後也是可以修改的。

Step2-初始配置(可選)

通過讀卡器在SD卡的boot分區根目錄下創建一個新的config.toml的文件。該分區是一個簡單的 FAT32,所以基本上所有操作系統都能正常訪問。

在此過程中,你可以定義設備名稱、要列入白名單的網路以及使用的顯示器類型。 以下是帶有 Waveshare V2 顯示器的設備的示例配置:

main.name = "pwnagotchi"          # 給它起一個名字
main.lang = "en"                  # 語言,暫不支持中文
main.whitelist = [                  # 白名單設置,防止它攻擊家庭網路,值是WiFi名稱或MAC地址
  "EXAMPLE_NETWORK",
  "ANOTHER_EXAMPLE_NETWORK",
  "fo:od:ba:be:fo:od",
  "fo:od:ba"
]

main.plugins.grid.enabled = true    # PwnGrid社區選項,類似Pokémon Go,有記分排名,發生一些簡單統計數據
main.plugins.grid.report = true     # 完全加入選項,會向 PwnGrid API 發送一些網路的基本信息
main.plugins.grid.exclude = [       # 類似上面白名單,防止報告家庭網路數據
  "YourHomeNetworkHere"
]

ui.display.enabled = true           # 顯示屏設置
ui.display.type = "waveshare_2"       # 微雪v2屏幕,也可以設置其他
ui.display.color = "black"            # 黑色顯示,也支持彩色

這個文件會自動安裝到 /etc/pwnagotchi/config.toml(它會在啟動過程中將其從 SD 卡中 移除 ) 。

第一次開機後,可以打開 /etc/pwnagotchi/config.toml文件(通過 SSH 或通過帶有讀卡器的計算機直接編輯 SD 卡的內容)以使用自定義值覆蓋默認配置。

更具體的一些配置教程,後面會考慮出。

Step3-USB連接電腦

將MicroSD卡插入樹莓派,不會的話看下圖。

MicroSD卡插入示意圖

然後使用Micro-USB數據線將數據傳輸介面連接到電腦,見下圖向右數第二個口。

RPi0W示意圖

此時查看指示燈,綠燈閃爍或常亮為正常,閃爍說明是在正常讀取內存卡內容。如果是第一次啟動,可能要多等幾分鐘,請不要打斷它,因為它正在生成RSA密匙。

Windows系統

進入控制面板\網路和 Internet\網路連接查看,此時正常來說會出現一個新的RNDIS網路,如下圖。

RNDIS乙太網

沒出現這個網路,有可能是你電腦上沒有這個驅動,請參考這篇文章進行排查:Windows安裝RNDIS驅動教程

請右鍵喚出菜單,依次點擊屬性>Internet 協議版本 4 (TCP/IPv4),將它配置成如下靜態IP地址:

  • IP: 10.0.0.1
  • 掩碼: 255.255.255.0
  • 網關:10.0.0.1
  • DNS(如果需要的話): 8.8.8.8(或者別的)

屬性對話框

設置靜態IP

然後嘗試ping 10.0.0.2,如果通的話接下來就可以訪問Web介面或者通過SSH連接了。

ping 10.0.0.2

Web 介面

瀏覽器打開10.0.0.2:8080你之前配置的名稱.local:8080,這是會彈出驗證對話框,用戶名密碼都是changeme,然後就進入Web UI界面了。

Web-UI驗證

主頁會顯示當前的一些狀態信息,其他功能請根據官網介紹自行探索。

WebUI

SSH 連接

PowerShell 下輸入以下命令:

ssh pi@10.0.0.2 # 默認密碼: raspberry

SSH連接

輸入passwd修改初始密碼。

配置文件在/etc/pwnagotchi/config.toml,可以根據需要修改。

共享網路

Pwnagotchi 的網卡默認用於監聽網路,因此如果需要連接到網路,需要將PC的網路共享給它。

Step4-插件配置(可選)

使用插件

使用 Web UI 中的插件欄

通過 Web UI 的Plugins欄可以直接完成一些插件的操作,啟用/禁用、進入插件提供的介面界面。

插件配置按鈕

使用命令行

pwnagotchi 提供了類似 apt 包管理的命令行介面,可以直接使用它完成插件配置,具體用法如下:

用法: pwnagotchi plugins [-h]
                          {search,list,update,upgrade,enable,disable,install,uninstall,edit}
                          ...

位置參數:
  {search,list,update,upgrade,enable,disable,install,uninstall,edit}
    search              查找 pwnagotchi 插件
    list                列出可用的 pwnagotchi 插件
    update              更新插件資料庫
    upgrade             更新插件
    enable              啟用某個插件
    disable             禁用某個插件
    install             安裝某個插件
    uninstall           卸載某個插件
    edit                更改插件選項

可選參數:
  -h, --help            顯示幫助選項並退出

插件介紹

默認插件

默認插件由 pwnagotchi 官方倉庫維護,新版可用時會通過 auto-update 插件功能自動更新。

可以在這裡看到它們的源文件:https://github.com/evilsocket/pwnagotchi/tree/master/pwnagotchi/plugins/default

有相關使用教程的插件名稱會在表格中用超鏈接標示出來。

插件腳本 描述
auto-update.py 當網路連接可用時,自動執行更新命令apt update && apt upgrade
bt-tether.py 使顯示器可通過藍牙訪問。
gpio_buttons.py GPIO 按鈕支持插件。
gps.py 每當捕獲握手包時保存 GPS 坐標。
grid.py 向 api.pwnagotchi.ai 上的 PwnGRID 社區發送單元的加密身份和已加密網路列表(可選)。
led.py 這個插件會根據事件以不同的模式閃爍 PWR led。
logtail 可以通過瀏覽器查看日誌文件。
memtemp.py 添加內存和溫度指示器。
net-pos.py 每當捕獲到握手時保存 WiFi 位置,並在下次互聯網可用時檢索地理位置。
onlinehashcrack.py 自動將握手包上傳到 onlinehashcrack.com
paw-gps.py 每當捕獲握手時保存 GPS 坐標。 GPS 數據是從 Android 上的 PAW 獲取的。
session-stats.py 以漂亮的小圖顯示當前會話統計信息。
switcher.py 可以在一段時間內切換到一些非 pwnagotchi 活動。
ups_lite.py 一個為 UPS Lite v1.1 添加電壓指示器的插件。
webcfg.py 使用此插件,您可以通過瀏覽器更改配置。
webgpsmap.py 在地圖上繪製捕獲握手。
wigle.py 自動將收集到的 WiFi 握手上傳到 wigle.net
wpa-sec.py 自動將握手上傳到 wpa-sec.stanev.org

社區貢獻的插件

這些是用戶為 pwnagotchi 貢獻的插件,其中一些還沒有經過開發團隊的完全測試, 使用它們需要自擔風險。

這些插件被收錄在 pwnagotchi-plugins-contrib 倉庫中。

插件腳本 描述
aircrackonly.py 驗證 pcap 是否包含足夠用於破解的信息(握手包和PMKID) ,否則刪除它。
auto_backup.py 當互聯網可用時備份文件。
buttonshim.py Pimoroni Button Shim GPIO Button 和 RGB LED 支持插件,基於 pimoroni-buttonshim-lib 和 pwnagotchi-gpio-buttons-plugin。
christmas.py pwnagotchi 的聖誕節倒數計時器。
clock.py pwnagotchi 的時鐘/日曆。
gpio_shutdown.py GPIO 關機插件。
handshakes-dl.py 從 web-ui 下載握手捕獲。
hashie.py 嘗試自動將 pcaps 轉換為可破解的格式。
mostodon.py 定期發布狀態更新。 基於 evilsocket 的 twitter 插件。
quickdic.py 針對捕獲的握手運行快速字典掃描。
screen_refresh.py X 次更新後刷新電子墨水顯示。
telegram.py 定期向 Telegram 發送有關 pwnagotchi 近期活動的消息。
twitter.py 創建有關 Pwnagotchi 最近活動的推文。

Step5-破解WiFi密碼

本地破解

把捕獲的握手包拷貝到電腦上,捕獲的握手包放在 /root/handshakes/ 上。

轉換為 hash 格式。

然後使用 hashcat 進行破解。

這裡講的比較簡略,需要的話可以另出教程。

在線破解

利用 onlinehashcrack 等提供 WPA 破解服務的網站進行在線破解。

可選步驟

安裝屏幕

按照你買的屏幕安裝教程進行安裝,部分屏幕 Pwnagotchi 官方做了支持,只需要在config.tomlui.display.type指定配置即可。

目前支持:

另外,有人做了對微雪2.13寸顯示器V3的支持,具體教程見Add support for Waveshare 2.13inch V3 Rev2.1

屏幕刷新率可通過ui.fps指定,默認為0。

以下是以 微雪 2.13寸 顯示器 V2 為例的配置:

ui.display.type = "waveshare_2"
ui.display.color = "black"

參考文章:https://pwnagotchi.ai/

本文鏈接:http://www.linuxstory.org/pwnagotchi-installation-tutorial/

轉載請註明出處,否則必究相關責任。

對這篇文章感覺如何?

太棒了
3
不錯
2
愛死了
2
不太好
0
感覺很糟
1

You may also like

Leave a reply

您的電子郵箱地址不會被公開。 必填項已用 * 標註

此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

More in:開源項目

開源項目

Pandora:一個讓你呼吸順暢的ChatGPT

本文介紹了一款名為Pandora的開源項目,它是一款用於解決國內用戶使用ChatGPT時遇到的種種問題的客戶端。本文詳細介紹了Pandora的功能特性、安裝方法、部署方式以及Docker部署方法。
開源新聞

FTP 伺服器:Vsftpd vs ProFTPd

FTP(文件傳輸協議)是用於傳輸文件的標準協議。像 Vsftpd 和 ProFTPd 這樣的 FTP 伺服器提供了一種訪問和傳輸遠程伺服器上存儲的文件的方法。 Vsftpd Vsftpd(Very S […]