基于树莓派与Alfa WiFi USB适配器的自製(无头)PwnBox / RogueAP
设计用途:

* 需要对内置Broadcom芯片应用 nexmon 补丁才能启用监听模式和注入支持(此处用途不需要)。
root 身份运行。arm64 上均可运行,但部分较旧的预编译二进制文件可能需要 box64 或手动编译。dd)。git clone https://github.com/koutto/pi-pwnbox-rogueap.git
scripts/install-system.sh 文件顶部的安装脚本配置:
GUACAMOLE_PASSWORD、GUACAMOLE_MYSQL_PASSWORD)。wlxaabbccddeeff 对应MAC地址 aa:bb:cc:dd:ee:ff 的设备。eth0 和 wlan0(内置接口)的MAC地址。WIFI_SSID、WIFI_PASSPHRASE)。启动时,PwnBox自动在一个接口上生成AP,便于远程访问:
PWNBOX_ADMIN(隐藏SSID)Koutto!PwnB0x!启动时,PwnBox自动连接:
有线网络(如果以太网口已连接)。
WiFi网络(使用内置树莓派芯片),若存在已保存连接设置的可用无线网络(保存在 /etc/wpa_supplicant.conf)。若要连接新的WiFi网络(未保存到PwnBox),需先添加该网络的WPA密码:
wpa_passphrase <SSID> <passphrase> >> /etc/wpa_supplicant.conf
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
dhclient -v wlan0
ping 8.8.8.8
可通过以下方式控制PwnBox:
SSH服务(22/tcp):
ssh kali@<pwnbox_ip>
基于Guacamole的VNC-over-HTTP(8080/tcp):
http://<pwnbox_ip>:8080/guacamole
PwnBox的IP 取决于您访问的网络:
PWNBOX_ADMIN):IP始终为 10.0.0.1。netdiscover 查找IP。注意:Guacamole服务运行时可能占用大量资源(RAM)。若不使用,可通过 stop-guacamole.sh 脚本停止。
/usr/share。因为 /etc/network/interfaces 中包含 auto eth0,系统会在启动时等待DHCP租约。若您经常在不连接以太网的情况下使用PwnBox并遇到启动缓慢,请编辑 /etc/network/interfaces 并将:
auto eth0
allow-hotplug eth0
改为:
allow-hotplug eth0
(删除 auto eth0 行。)
isc-dhcp-server 已安装,因为某些工具(如Fluxion)需要它,但 默认禁用,以避免与 dnsmasq(为 PWNBOX_ADMIN AP提供服务)产生端口67/udp冲突。若需启用 isc-dhcp-server,请先停止 dnsmasq:
systemctl stop dnsmasq
systemctl start isc-dhcp-server
较新版本的Kali/Debian附带 Tomcat 10 而非Tomcat 9。start-guacamole.sh 和 stop-guacamole.sh 脚本会自动检测已安装的Tomcat版本。若安装后Guacamole无法运行,请检查:
systemctl list-unit-files | grep tomcat
systemctl status guacd
systemctl status mysql
# 然后使用正确的Tomcat版本手动启动,例如:
systemctl start tomcat10
如果供应商安装程序(deb.trendtechcn.com)离线,请手动编译驱动:
sudo apt-get install -y bc git build-essential dkms
sudo git clone https://github.com/cilynx/rtl88x2bu.git /usr/src/rtl88x2bu-5.8.7
sudo dkms add -m rtl88x2bu -v 5.8.7
sudo dkms autoinstall
确保在安装过程中已运行 vncpasswd 创建密码文件:
vncpasswd
systemctl restart vncserver
现代Kali已移除Python 2。安装脚本现在 仅使用Python 3。若您有旧的Python 2自定义工具,请将其迁移到Python 3,或在专用Docker容器中运行。
安装脚本禁用了NetworkManager,转而使用传统的 /etc/network/interfaces。若需临时重新启用NM:
systemctl start NetworkManager
systemctl enable NetworkManager
检查 install-system.sh 中的MAC地址是否与实际情况匹配:
ip link show
然后重新运行网络配置部分,或手动更新 /etc/udev/rules.d/70-persistent-net.rules。
| 设备 | 芯片组 | 用途 | 802.11 | 2.4 GHz | 5 GHz | Kali即插即用 | 监听模式 | 注入 | AP |
|---|
| 树莓派3 B+内置WiFi芯片 | Broadcom 43430 | 连接互联网(若在配置中添加WiFi密钥,启动时自动连接) | 802.11 b/g/n/ac | 是 | 是 | 是 | 否* | 否* | 是 |
| BrosTrend AC1L AC1200 | Realtek RTL8812AU | 远程访问接入点(启动时自动开启) | 802.11 a/b/g/n/ac | 是 | 是 | 否 | 是 | 否 | 是 |
| Alfa AWUS036NEH | Ralink RT2870/3070 | WiFi攻击 | 802.11 b/g/n | 是 | 否 | 是 | 是 | 是 | 是 |
| Alfa AWUS036ACH | Realtek RTL8812AU | WiFi攻击 | 802.11 a/b/g/n/ac | 是 | 是 | 是 | 是 | 是 | 是 |
cd pi-pwnbox-rogueap/scripts
./install-system.sh
ip a
iwconfig
eth0 和 wlan0。wlx*)。PWNBOX_ADMIN)应在相应的 wlx* 接口上启动。pwnbox-vncROOTVNC33127.0.0.14822127.0.0.15901(运行 install-system.sh 时选择的密码)True color (32-bit)passwd kali)http://<pwnbox_ip>:8080/guacamole/#/manage/mysql/users/guacadmin)