开源项目开源硬件开源软件长篇分享

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 […]