
综述
Pwnagotchi 是一个由 Bettercap 驱动的 A2C 的 “AI”,它能够从周围的 WiFi 环境中学习,以最大限度地利用它捕获的可破解 WPA 密钥材料(通过被动嗅探或执行解除身份验证和关联攻击)。该材料作为可被 hashcat 破解的 PCAP 文件收集在磁盘上,包括完整和半 WPA 握手以及 PMKID。
简单来说,Pwnagotchi 就是一个能够帮助你捕获附近破解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-刷入系统
- 下载最新的 Pwnagotchi .img 文件,解压并验证 .img 的 SHA-256 校验和。
- SD卡插入读卡器连接电脑。
- 使用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.toml
中ui.display.type
指定配置即可。
目前支持:
waveshare_2
: 微雪 ePaper HAT V2(官方支持和推荐)waveshare_1
:微雪 ePaper HAT V1waveshare27inch
:微雪2.7 英寸墨水屏 HATwaveshare154inch
:微雪1.54 英寸墨水屏模块 (B)inky
:Pimoroni's Inky pHATpapirus
: PaPiRus Zerooledhat
:Waveshare's OLED Hatdfrobot
: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"
本文链接:http://www.linuxstory.org/pwnagotchi-installation-tutorial/
转载请注明出处,否则必究相关责任。
350fairfax nordvpn cashback
What’s up to all, because I am really keen of reading this web site’s post to be
updated regularly. It contains good stuff.
Your means of describing everything in this post is in fact good, all can easily be aware of it, Thanks a lot.
my page :: nordvpn coupons inspiresensation (http://cfg.me/nordvpn-coupons-inspiresensation–98798)
Hi there to every one, because I am actually eager
of reading this blog’s post to be updated daily. It contains fastidious information.
my web site: nordvpn coupons inspiresensation (https://t.co)
What’s up, I want to subscribe for this web site to get newest
updates, therefore where can i do it please
help out.
Feel free to surf to my webpage … Nordvpn Coupons Inspiresensation
I think that is one of the such a lot vital info for me.
And i am happy reading your article. But should remark on some normal issues, The
web site style is ideal, the articles is actually excellent : D.
Good task, cheers
Visit my web page: nordvpn coupons inspiresensation