综述

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

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

安装

硬件要求

先按官网要求买一波设备,必备的是带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卡插入树莓派,不会的话看下图。

然后使用Micro-USB数据线将数据传输接口连接到电脑,见下图向右数第二个口。

此时查看指示灯,绿灯闪烁或常亮为正常,闪烁说明是在正常读取内存卡内容。如果是第一次启动,可能要多等几分钟,请不要打断它,因为它正在生成RSA密匙。

Windows系统

进入控制面板\网络和 Internet\网络连接查看,此时正常来说会出现一个新的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(或者别的)

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

Web接口

浏览器打开10.0.0.2:8080你之前配置的名称.local:8080,这是会弹出验证对话框,用户名密码都是changeme,然后就进入Web UI界面了。

主页会显示当前的一些状态信息,其他功能请根据官网介绍自行探索。

SSH连接

PowerShell下输入以下命令:

ssh pi@10.0.0.2 # 默认密码: raspberry

输入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指定配置即可。

目前支持:

  • waveshare_2: 微雪 ePaper HAT V2(官方支持和推荐)
  • waveshare_1:微雪 ePaper HAT V1
  • waveshare27inch:微雪2.7 英寸墨水屏 HAT
  • waveshare154inch:微雪1.54 英寸墨水屏模块 (B)
  • inky:Pimoroni’s Inky pHAT
  • papirus: PaPiRus Zero
  • oledhat:Waveshare’s OLED Hat
  • dfrobot:DFRobot 的 eInk Hat

另外,有人做了对微雪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/

吃握手包的电子宠物 - Pwnagotchi开箱教程相关推荐

  1. .NET5.0 Preview 8 开箱教程

    .NET5.0 Preview 8 开箱教程 前言 首先,看到 .NET5.0 Preview 8 发布后,作为一枚基层应用开发人员,很想要体验一下新版本的魅力:这可能就是程序员对新技术的一种执着吧. ...

  2. 在python中模块可以封装_python 制作python包,封装成可用模块教程

    首先编写py程序: printtest.py def test(): print('print test') 将以上.py文件做成python模块,需要在相同目录下创建setup.py文件,setup ...

  3. 最新MDK软件安装包和芯片包及超详细图文教程来咯!!!

    注意啦!注意了!最新MDK软件安装包和芯片包及详细图文教程来咯!!! 欢迎使用最新MDK软件安装包和芯片包及超详细图文教程 如何安装KEIL5 1.1 温馨提示 1.2 获取KEIL5 1.3开始安装 ...

  4. mysql握手_详细介绍mysql 协议的服务端握手包及对其解析

    概况 mysql客户端登陆到mysql服务端需要一个交互的过程,这里先看服务端给客户端发送的初始握手包.如下,client通过socket连接到server指定的端口后,server将往client发 ...

  5. hashcat跑握手包笔记

    可以在wireshark使用eapol过滤找到握手包 在hashcat站转换格式: hashcat cap2hccapx - advanced password recovery hashcat.ex ...

  6. Linux kali无线安全之WPA/WPA2握手包捕获与爆破

    提示:本文章内所有内容环境为自己搭建绝无违法内容,请不要利用其中的技术来做违法的事情. 无线网络安全 简介 相对于有线网络,无线网络有严重的缺点,因为它使用天空作为媒介.因此,黑客有能力通过中间人或其 ...

  7. 计算机sd模式怎么打游戏,绝地求生提升fps方法,绝地求生吃鸡游戏提高帧数优化教程(图文)...

    绝地求生对电脑硬件的要求较高,而且游戏优化很差,不少玩家会遇到FPS帧数过低的情况,那么有没有绝地求生提升fps方法?答案是有的,下面云狐网分享一下绝地求生吃鸡游戏提高帧数优化教程.eX0电脑_数码_ ...

  8. 【爬虫】网页抓包工具--Charles的使用教程

    抓包工具Charles的使用教程 参考:https://zhubangbang.com/charlesproxy 如果您是您一次使用Charles,可能对下面的感兴趣. Charles破解版免费下载和 ...

  9. 饥荒服务器模组全部显示冲突,饥荒联机版TGP多层世界服务端整合包及MOD添加设置教程_游戏堡...

    今天游戏堡小编为大家带来的是饥荒联机版TGP多层世界服务端整合包及MOD添加设置教程,还不清楚的玩家下面一起来看看吧! 下载地址:<饥荒联机版> TGP多层世界服务端整合包及MOD添加设置 ...

  10. Beini 在 VMware 环境下通过不用U盘,改用FTP交换握手包的方法

    安装 VMware 后,系统默认将出现两个虚拟网卡,可以用 VM 自带的 Virtual Network Editor 查看,见图1: 将 VM 中的网卡模式设置成 NAT 模式,见下图2: 得到 B ...

最新文章

  1. SQL中distinct的用法
  2. 安装nvm管理多版本nodejs
  3. jstat PID not found产生的原因
  4. tomcat+nginx+redis实现均衡负载、session共享
  5. 计算机科学导论课后感悟,计算机科学导论课后总结_2
  6. pip工具可以打包python源代码吗_将python源文件打包成exe文件
  7. 腾讯叮当智能屏发布,主打视听体验、海量内容、儿童模式
  8. 加入域时出现以下错误 登陆失败 该目标账户名称不正确_Windows 10 20H1新加入的这些功能,你应该用得上...
  9. spark-dataframe与rdd的区别
  10. OpenCV之感兴趣区域ROI
  11. 第一次做APP接口开发过程总结
  12. 如何使用Axure制作产品需求文档prd
  13. vscode更改背景颜色
  14. 中首清算:她被誉为中国第一美女,迷倒国际花花公子,今36岁仍单身
  15. 实时系统解决方案 TIBCO Rendezvous — 技术介绍(消息中间件|基于数据库的主动推送)...
  16. L4操作系统(L4/Fiasco介绍)
  17. 简单编程---哥德巴赫猜想
  18. .pth转.weights/openCV-python + YOLO v3实现目标检测
  19. vrep/CoppeliaSim关节抖动问题原因总结
  20. 分享简单易用的配网终端加密模块

热门文章

  1. solidworks属性管理器_SolidWorks自定义属性——属性标签编制程序
  2. 非模式物种ROSE超级增强子鉴定分析详解
  3. 杭州银行2018信息科技部面试
  4. 初始化audio失败是什么意思_DirectXAudio初始化失败,高手看 – 手机爱问
  5. IAR 7.4版本安装(带下载链接)
  6. 计算机am3代表,拨开重重迷雾 AMD处理器历代接口解谜
  7. seo优化之怎样降低网站跳出率
  8. 外星人aw768键盘设置快捷键
  9. Lead项目中简单分析卡号的编码规则
  10. 仿真树叶飘落效果的实现(精灵旋转…