Pwnagotchi开箱教程

综述

Pwnagotchi 是一个由 Bettercap 驱动的 A2C 的“AI”,它能够从周围的 WiFi 环境中学习,以最大限度地利用它捕获的可破解 WPA 密钥材料 (通过被动嗅探或执行解除身份验证和关联攻击)。该材料作为可被 hashcat 破解的 PCAP 文件收集在磁盘上,包括完整和半 WPA 握手以及 PMKID。

简单来说,就是一个能够帮助你捕获附近破解WiFi需要的握手包的工具。它的亮点在于采用了不同的情绪和性格来表示程序当前的状态,会在嗅探握手包时东张西望,会因为没有收到新鲜的握手包而感到无聊,会因为交到新朋友而感到开心,当然了,偶尔也会摸摸鱼......就好像养了一只电子宠物一样。

Pwnagotchi

安装

硬件要求

先按官网要求买一波设备,必备的是带WiFi功能的树莓派主板、8G以上空间的MicroSD卡和一根Micro-USB数据线(不是Type-C),其他的可按需购买。

下面是我选用的硬件配置:

硬件要求实际配置价格备注
带WiFi功能的树莓派主板树莓派Zero W带排针250带排针后面可以直接接插脚
MicroSD卡8G+闪迪32GB A127.9
Micro-USB数据线家里原有的一根不知名数据线0
电源UPS-Lite V1.295这个型号支持电源显示
I2C时钟DS1307ZN+/SOIC-85.3用于同步时间
屏幕微雪2.13英寸电子墨水屏V3118V3官方还没支持,要改源文件
合计-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卡插入示意图
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(或者别的)

![属性对话框](https://static-cdn.p0ise.cn/local/屏幕截图 2022-07-29 192140.png)

设置静态IP

然后尝试ping 10.0.0.2,如果通的话接下来就可以访问Web接口或者通过SSH连接了。

ping

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.pyGPIO 按钮支持插件。
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.pyPimoroni Button Shim GPIO Button 和 RGB LED 支持插件,基于 pimoroni-buttonshim-lib 和 pwnagotchi-gpio-buttons-plugin。
christmas.pypwnagotchi 的圣诞节倒数计时器。
clock.pypwnagotchi 的时钟/日历。
gpio_shutdown.pyGPIO 关机插件。
handshakes-dl.py从 web-ui 下载握手捕获。
hashie.py尝试自动将 pcaps 转换为可破解的格式。
mostodon.py定期发布状态更新。 基于 evilsocket 的 twitter 插件。
quickdic.py针对捕获的握手运行快速字典扫描。
screen_refresh.pyX 次更新后刷新电子墨水显示。
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"

安装电源

安装时钟

参考

[1] Pwnagotchi官网教程, https://pwnagotchi.ai/

暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇