wickednull/KTOX_Pi
GitHub: wickednull/KTOX_Pi
将树莓派 Zero 2W 变身为摇杆控制、支持 WebUI 远程操作的便携式网络渗透与紫队攻防平台,集成 156 个攻击载荷。
Stars: 1 | Forks: 1

# KTOx_Pi
### Raspberry Pi Zero 2W · Kali Linux ARM64 · Waveshare 1.44" LCD HAT
```
██╗ ██╗████████╗ ██████╗ ██╗ ██╗
██║ ██╔╝╚══██╔══╝██╔═══██╗╚██╗██╔╝
█████╔╝ ██║ ██║ ██║ ╚███╔╝
██╔═██╗ ██║ ██║ ██║ ██╔██╗
██║ ██╗ ██║ ╚██████╔╝██╔╝ ██╗
╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝
Network Control Suite
authorized eyes only · wickednull
```
## ▐ 这是什么
KTOx_Pi 将 Raspberry Pi Zero 2W 变成了一台独立的网络渗透和紫队设备。Waveshare 1.44" LCD HAT 提供了一个完整的摇杆控制攻击菜单,开机即可运行。它打包了完整 KTOx 套件中的每一个模块 —— ARP 攻击、MITM、WiFi 引擎、Responder/NTLMv2、紫队防御、DNS 欺骗(包含 30+ 钓鱼网站),以及涵盖 12 个类别的 156 个 Payload 脚本。
WebUI(端口 8080)实时镜像 LCD 屏幕内容,因此你可以从同一网络上的任何浏览器控制该设备。WebSocket 服务器(端口 8765)处理实时帧流传输和虚拟按键注入。完整的 KTOx TUI 始终可以通过 SSH 访问,用于任何需要终端的操作。
**这不是一个定制的 OS 镜像。** 它安装在 Pi Zero 2W 全新的 Kali Linux ARM64 镜像之上。
## ▐ 硬件
| 组件 | 部件 | 大致成本 |
|-----------|------|-------|
| SBC | Raspberry Pi Zero 2W (或 2WH) | $15 |
| 显示屏 + 控制器 | Waveshare 1.44" LCD HAT (ST7735S, 128×128) | $14 |
| WiFi 适配器 | Alfa AWUS036ACH 或 TP-Link AC1300 (用于攻击) | $30 |
| 以太网 | USB-C OTG 转 Ethernet 适配器 | $10 |
| 电源 | PiSugar2 或 USB 充电宝 | $20 |
| 存储 | 32GB+ microSD (Class 10 / A1) | $10 |
| **总计** | | **约 $99** |
板载 Pi WiFi (`wlan0`) 保留用于 WebUI 和互联网访问。外部 USB 适配器 (`wlan1+`) 用于 WiFi 攻击和监听模式。
## ▐ 按键控制
```
Joystick UP navigate up
Joystick DOWN navigate down
Joystick LEFT back / cancel
Joystick RIGHT select / enter submenu
Joystick CTR select / confirm
KEY1 back (same as LEFT)
KEY2 home screen (any depth)
KEY3 stop running attack / exit payload
Stealth exit: hold KEY1 + KEY3 for 3 seconds
```
## ▐ LCD 菜单结构
```
▐ KTOx ▌ (home)
│
├── Network
│ ├── Scan Network nmap -sn ping sweep → host table
│ ├── Show Hosts scroll discovered IP / MAC list
│ ├── Ping Gateway 4-packet ping test
│ ├── Network Info IP, gateway, interface, loot count
│ └── ARP Watch passive ARP conflict monitor
│
├── Offensive
│ ├── Kick ONE off ARP denial → selected host
│ ├── Kick ALL off ARP denial → gateway (drops everyone)
│ ├── ARP MITM bidirectional ARP poison + IP forward
│ ├── ARP Flood saturate target ARP cache
│ ├── Gateway DoS flood router with fake ARP entries
│ ├── ARP Cage isolate target — sees LAN, not internet
│ └── NTLMv2 Capture redirect to Responder menu
│
├── WiFi Engine
│ ├── Enable Monitor airmon-ng check kill → airmon-ng start
│ ├── Disable Monitor airmon-ng stop → restart NetworkManager
│ ├── WiFi Scan airodump-ng CSV log to loot
│ ├── Deauth (Payload) launches payloads/wifi/deauth.py
│ ├── Handshake Cap enter BSSID/channel via WebUI or SSH
│ ├── PMKID Attack launches payloads/wifi/pmkid_capture.py
│ ├── Evil Twin AP launches payloads/wifi/evil_twin.py
│ └── Select Adapter pick from detected wlan interfaces
│
├── MITM & Spoof
│ ├── Start MITM Suite → SSH + ktox_mitm.py for full config
│ ├── DNS Spoofing ON select phishing site → php -S :80
│ ├── DNS Spoofing OFF kill php + ettercap
│ ├── Rogue DHCP/WPAD launches payloads/interception/rogue_dhcp_wpad.py
│ ├── Silent Bridge launches payloads/interception/silent_bridge.py
│ └── Evil Portal launches payloads/evil_portal/honeypot.py
│
├── Responder
│ ├── Responder ON Responder.py -Q -I
│ ├── Responder OFF kill Responder processes
│ └── Read Hashes browse Responder/logs/ on LCD
│
├── Purple Team
│ ├── ARP Watch flag ARP conflicts live with scapy
│ ├── ARP Diff Live baseline ARP table, alert on changes
│ ├── Rogue Detector scan every 30s, alert on new MACs
│ ├── LLMNR Detector scapy sniffer on UDP 5355
│ ├── ARP Harden arp -s static entries for known hosts
│ ├── Baseline Export save host table to loot/baseline_DATE.json
│ ├── Verify Baseline diff current hosts against saved baseline
│ └── SMB Probe launches payloads/reconnaissance/smb_probe.py
│
├── Payloads 156 scripts, 12 categories — see below
│
├── Loot browse /root/KTOx/loot/ on LCD
│
├── Stealth blank LCD, all attacks keep running silently
│
└── System
├── WebUI Status http://[ip]:8080 / ws://[ip]:8765
├── Refresh State re-detect interface + gateway
├── System Info kernel, uptime, temp, loot count, IP
├── Discord Webhook show/configure exfiltration webhook
├── Reboot confirm → reboot
└── Shutdown confirm → poweroff
```
## ▐ KTOX 套件模块
完整的 KTOx 套件安装到 `/root/KTOx/`。通过 SSH 访问,或在 LCD 上的 MITM/WiFi 菜单中启动。
| 模块 | 功能 |
|--------|-------------|
| `ktox.py` | 全血红屏 TUI — 35+ 模块,ARP 攻击,MITM,侦察,主机扫描,NDJSON 会话日志 |
| `ktox_mitm.py` | DNS 欺骗,DHCP 欺骗,HTTP 嗅探器,凭证收集器,SSL strip,5 模板强制门户,IP 转发 |
| `ktox_advanced.py` | 注入 JS/HTML 到 HTTP 响应,多协议嗅探器 (FTP/SMTP/POP3/IMAP/Telnet/IRC/Redis/SNMP),Wireshark PCAP 导出,NTLMv2 中继,会话劫持 |
| `ktox_extended.py` | LLMNR/WPAD/NBT-NS 投毒,恶意 SMB 服务器,网络拓扑映射器,报告生成器,hashcat/john 接口 |
| `ktox_defense.py` | 紫队套件 — ARP 加固,禁用 LLMNR,强制 SMB 签名,加密 DNS,明文协议审计,所有更改均备份并支持 dry-run 预览 |
| `ktox_stealth.py` | IoT 设备指纹识别器 (5 层),隐身配置文件 (Ghost/Ninja/Normal),MAC 轮换,速率限制,抖动 |
| `ktox_netattack.py` | ICMP 重定向攻击 (隐蔽 MITM),IPv6 NDP 欺骗,DHCPv6 欺骗,IPv6 RA 洪水 |
| `ktox_wifi.py` | 监听模式管理器,airodump-ng AP/客户端扫描器,deauth,WPA 握手捕获,PMKID,evil twin |
| `ktox_dashboard.py` | 位于 `:9999` 的实时 Flask Web 仪表盘 — 攻击状态,战利品浏览器,实时接口统计 |
| `ktox_repl.py` | 交互式 REPL — `set`/`get` 会话变量,`module.start`/`module.stop`,插件系统 |
| `ktox_config.py` | 所有模块的持久化配置 |
| `scan.py` | nmap 扫描器 — 返回 `[ip, mac, vendor, hostname]` |
| `spoof.py` | ARP 数据包制作和注入引擎 |
```
# 通过 SSH 登录
ssh root@[ip] # password: kali (change this)
# 完整 TUI
python3 /root/KTOx/ktox.py
# 单个模块
python3 /root/KTOx/ktox_defense.py
python3 /root/KTOx/ktox_mitm.py
python3 /root/KTOx/ktox_wifi.py
# REPL
python3 /root/KTOx/ktox_repl.py
# KTOx dashboard (独立于 WebUI)
python3 /root/KTOx/ktox_dashboard.py
# 然后打开 http://[ip]:9999
```
## ▐ PAYLOADS (156 个脚本)
所有 Payload 都与 KTOx 兼容。它们使用 `_input_helper.py` 进行统一的按键输入(WebUI 虚拟按键也可用),并将战利品写入 `/root/KTOx/loot/`。将任何 `.py` 文件放入类别文件夹,它就会自动出现在菜单中。
| 类别 | 数量 | 亮点 |
|----------|-------|-----------|
| `reconnaissance` | 25 | arp_scanner, traffic_analyzer, log4shell_scanner, ping sweep, TCP/UDP port scanners, DNS zone transfer, SMB shares, SNMP walk, HTTP headers, OS fingerprint, cam finder, wardriving, navarro OSINT |
| `interception` | 38 | kickthemout, mitm_code_injector, silent_bridge, dhcp_starvation, vlan_hopper, EternalBlue, Kerberoasting, PetitPotam, PrintNightmare, SMB relay, Pass the Hash, ProxyLogon, ProxyShell, Follina, KRACK, SSH/FTP/Telnet bruteforce, hashcat crack, IMSI catcher, JTAG |
| `wifi` | 18 | deauth (multi-target), evil_twin, pmkid_capture, wifi_handshake_capture, tiny_wifite, marauder, wps_pixie, wifi_lab, beacon flood, probe sniffer, channel analyzer, client mapper, rogue AP, known networks deauth |
| `dos` | 6 | SYN flood, UDP flood, LAND attack, smurf, ping of death, ARP poison DoS |
| `bluetooth` | 9 | BLE spam, impersonator, flood, replay, char scanner, service explorer, BT scanner, BT manager |
| `social_eng` | 5 | Evil twin 门户 — Facebook, Google, PayPal, 路由器登录, VPN 登录 |
| `general` | 36 | MAC 欺骗 (eth0/wlan0), C2 控制器, Bloodhound 收集器, pwnagotchi, 进程终止器, 文件浏览器, 日志查看器, 服务管理器, 文件系统 加密/解密, 摄像头间谍, 系统信息, 自毁, shell, 自动更新 |
| `games` | 13 | Breakout, snake, Tetris, 2048, Conway's Game of Life, Doom demake, 时钟, 番茄钟, 视频播放器, 网页浏览器 |
| `exfiltration` | 1 | exfiltrate_discord — 将战利品文件发送到 Discord webhook |
| `remote_access` | 2 | shell (PTY over network), tailscale_control |
| `evil_portal` | 1 | honeypot — 完整的强制门户凭证捕获 |
| `examples` | 2 | `_payload_template.py`, `example_show_buttons.py` |
**`payloads/` 中的共享辅助工具:**
- `_input_helper.py` — 统一的 GPIO + WebUI 虚拟按键输入
- `monitor_mode_helper.py` — 共享的监听模式启用/禁用
- `hid_helper.py` — USB HID 键盘/鼠标 via zero-hid
## ▐ DNS SPOOF 钓鱼网站
`DNSSpoof/sites/` 中有 30+ 个凭证收集网站。从 `MITM & Spoof → DNS Spoofing ON` 中选择 — PHP 在端口 80 上启动,DNS 将受害者重定向到选定的页面。捕获的凭证保存到 `DNSSpoof/captures/`。
**可用站点:** Adobe, Amazon, Badoo, Google, iCloud, Instagram, Instafollowers, LDLC, LinkedIn, Microsoft, Netflix, Origin, PayPal, Pinterest, PlayStation, ProtonMail, Shopify, Snapchat, Spotify, Steam, Twitter, WiFi login, WordPress, Yahoo, Yandex — 以及为 Facebook, Google, PayPal, 路由器登录和 VPN 登录定制的轻量级钓鱼页面。
## ▐ WEBUI
通过 `http://[ip]:8080` 进行实时浏览器控制(真正的 KTOx WebUI)。
- **实时 LCD 镜像** — 屏幕通过 WebSocket 以 10fps 流式传输
- **虚拟手柄** — 从浏览器进行完整的按键控制
- **Payload IDE** — 远程浏览、编辑和启动 Payload
- **战利品浏览器** — 查看和下载捕获的文件,nmap XML 可视化工具
- **系统监视器** — CPU, RAM, 温度, 磁盘, 运行时间, 活动 Payload 状态
- **Shell** — 浏览器中完整的交互式 PTY 终端 (xterm.js)
- **Discord webhook** — 配置数据窃取目标
- **认证系统** — 用户名/密码登录与会话令牌,首次运行引导
```
http://[ip]:8080 WebUI (HTTP server)
ws://[ip]:8765 WebSocket device server (frame mirror + virtual buttons)
http://[ip]:9999 KTOx live dashboard (ktox_dashboard.py)
```
帧镜像 JPEG 始终位于 `/dev/shm/ktox_last.jpg`,供任何需要它的工具使用。
## ▐ 安装
### 步骤 1 — 将 Kali 刷入 SD 卡
从 [kali.org/get-kali/#kali-arm](https://www.kali.org/get-kali/#kali-arm) 获取适用于 Raspberry Pi Zero 2W 的 Kali Linux ARM64 镜像,并使用 Raspberry Pi Imager 或 Balena Etcher 进行刷写。
### 步骤 2 — 首次启动
```
# 默认凭证
ssh root@[pi-ip]
# 密码: kali
```
### 步骤 3 — 复制固件并运行安装程序
```
scp -r ktox_pi/ root@[pi-ip]:/tmp/
ssh root@[pi-ip]
cd /tmp/ktox_pi
chmod +x install.sh
sudo bash install.sh
```
完全无人值守。完成后重启。下次启动时会出现 KTOx 恶魔骷髅标志,然后是主菜单。
### 安装程序执行的操作
1. 检测 `/boot/firmware/config.txt` 或 `/boot/config.txt` (兼容 Bookworm)
2. 启用 SPI 和 I2C
3. 添加 `gpio=6,19,5,26,13,21,20,16=pu` 用于按键上拉
4. 加载 `spi_bcm2835`, `spidev`, `i2c-bcm2835`, `i2c-dev` 内核模块
5. 安装 APT 软件包 — nmap, aircrack-ng, hostapd, dnsmasq, hashcat, john, ettercap, php, net-tools, iw, git 等
6. 为板载 WiFi 监听模式安装 Nexmon
7. 通过 pip 安装 Python 软件包
8. 下载 Font Awesome 用于 LCD 图标渲染
9. 复制所有文件到 `/root/KTOx/`
10. 创建 `/root/KTOx` → `/root/KTOx` 符号链接以兼容 Payload
11. 在 `/root/KTOx/.webui_token` 中生成 WebUI 认证令牌和会话密钥
12. 通过 systemd `.link` 文件和 udev 规则将板载 WiFi MAC 固定到 `wlan0`
13. 配置 NetworkManager 保持监听接口不受管理
14. 创建并启用 3 个 systemd 服务
15. 配置 tty1 自动登录
16. 将主机名设置为 `ktox`,写入 `/etc/motd` 和 SSH banner
17. 健康检查 — SPI 设备,Python 导入,工具可用性
18. 重启
## ▐ SYSTEMD 服务
| 服务 | 运行内容 | 端口 |
|---------|------|------|
| `ktox.service` | `ktox_device.py` — LCD 固件,菜单控制器 | — |
| `ktox-device.service` | `device_server.py` — WebSocket 服务器 | 8765 |
| `ktox-webui.service` | `web_server.py` — HTTP WebUI | 8080 |
```
# 状态
systemctl status ktox ktox-device ktox-webui
# 日志
journalctl -fu ktox
journalctl -fu ktox-device
journalctl -fu ktox-webui
# 重启 LCD 固件
systemctl restart ktox
# 手动启动 (调试)
python3 /root/KTOx/ktox_device.py
```
## ▐ 战利品 (LOOT)
所有内容都存入 `/root/KTOx/loot/`:
```
/root/KTOx/loot/
├── atk_arp_mitm_20250101_120000.log attack runner logs
├── wifi_scan_20250101-01.csv airodump-ng WiFi scans
├── baseline_20250101.json ARP baseline exports
├── payload.log combined payload stdout
├── MITM/ MITM session captures
├── Nmap/ nmap XML results
└── payloads/ per-payload loot subdirs
```
硬编码了 `/root/KTOx/loot/` 的 Payload 仍然有效 — 安装程序会将 `/root/KTOx` 链接到 `/root/KTOx`。
```
# 在设备上浏览
# LCD: Loot 菜单
# WebUI: http://[ip]:8080 → Loot 标签页
ls -lh /root/KTOx/loot/
# 拉取所有内容
scp -r root@[ip]:/root/KTOx/loot/ ./loot/
```
## ▐ 隐身模式
从主菜单中选择 `Stealth`。LCD 变黑(或诱饵图像)。所有攻击和服务继续运行。
**退出:** 按住 KEY1 + KEY3 持续 3 秒,或者在 WebUI 中向 `/dev/shm/ktox_stealth.json` 写入 `{"stealth": false}`。
## ▐ 无头模式 (无 LCD HAT)
`ktox_device.py` 会检测硬件缺失并静默回退。你可以通过以下方式完全访问:
- 位于 `http://[ip]:8080` 的 WebUI
- SSH + `python3 /root/KTOx/ktox.py` 获取完整的 TUI
- WebUI 虚拟手柄仍然可以向 Payload 注入按键事件
## ▐ 文件结构
```
ktox_pi/ copy this to the Pi → run install.sh
│
├── install.sh one-shot installer
├── README.md this file
│
├── ktox_pi/ LCD firmware
│ ├── ktox_device.py main controller + menu tree
│ ├── LCD_1in44.py Waveshare ST7735S driver (real)
│ ├── LCD_Config.py SPI + GPIO hardware config (real)
│ └── rj_input.py WebUI virtual button bridge (Unix socket)
│
├── ktox.py KTOx main suite TUI
├── ktox_mitm.py MITM + credential harvest engine
├── ktox_advanced.py JS inject, multi-proto sniffer, PCAP
├── ktox_extended.py LLMNR, rogue SMB, topology, hash crack
├── ktox_defense.py purple team defense suite
├── ktox_stealth.py stealth + IoT fingerprinter
├── ktox_netattack.py ICMP redirect, IPv6 attacks
├── ktox_wifi.py WiFi attack engine
├── ktox_dashboard.py live Flask dashboard (:9999)
├── ktox_repl.py interactive REPL + plugins
├── ktox_config.py persistent config
├── scan.py nmap scanner helper
├── spoof.py ARP packet engine
├── requirements.txt Python dependencies
│
├── device_server.py WebSocket server (:8765)
├── web_server.py HTTP WebUI (:8080)
├── nmap_parser.py nmap XML parser for WebUI
├── web/ WebUI frontend (HTML/JS/CSS)
├── gui_conf.json blood-red colour scheme
├── discord_webhook.txt webhook URL placeholder
│
├── payloads/ 156 payload scripts
│ ├── _input_helper.py
│ ├── monitor_mode_helper.py
│ ├── hid_helper.py
│ ├── bluetooth/
│ ├── dos/
│ ├── evil_portal/
│ ├── examples/
│ ├── exfiltration/
│ ├── games/
│ ├── general/
│ ├── interception/
│ ├── reconnaissance/
│ ├── remote_access/
│ ├── social_eng/
│ └── wifi/
│
├── Responder/ LLMNR/NBT-NS/MDNS poisoner
├── DNSSpoof/ 30+ phishing site templates
├── wifi/ WiFi manager integration
├── img/logo.bmp 128×128 boot logo
└── assets/ screenshots
```
## ▐ PYTHON 依赖
```
rich>=13.0.0 terminal UI
scapy>=2.5.0 packet crafting + injection
python-nmap>=0.7.1 nmap scanner wrapper
netifaces>=0.11.0 network interface enumeration
flask>=3.0.0 web dashboard
pillow>=10.0.0 LCD image rendering
spidev>=3.6 SPI bus (LCD hardware)
RPi.GPIO>=0.7.1 GPIO (buttons + LCD)
requests HTTP client
websockets WebSocket server
customtkinter>=5.2.0 desktop GUI (Pi 5 / desktop only)
```
## ▐ 免责声明
仅用于授权的安全测试和研究,且仅限于您拥有或获得明确书面许可测试的网络和系统。未经授权的使用是非法的。
`authorized eyes only`
## ▐ 兼容硬件
KTOx_Pi 是在 Pi Zero 2W 上构建和测试的,但也适用于任何具有 40 针 GPIO 接头的 Pi。
| 开发板 | 状态 | 备注 |
|-------|--------|-------|
| **Pi Zero 2W** *(推荐)* | ✅ 完全支持 | 在此机型上构建和测试。非常适合野外使用。 |
| **Pi Zero 2WH** | ✅ 完全支持 | 与上述相同,但带有预焊接的接头 — 无需焊接。 |
| **Pi 3B / 3B+** | ✅ 完全支持 | 相同的 ARM64 Kali 镜像,相同的 40 针接头。开箱即用。 |
| **Pi 4B** | ✅ 完全支持 | RAM/CPU 性能过剩,但完全兼容。引脚定义相同。 |
| **Pi Zero W (v1)** | ⚠️ 部分支持 | 仅限 32 位 — ARM64 Kali 无法运行。请改用 Kali ARMhf 镜像。 |
| **Pi 5** | ⚠️ 需要调整 | 不同的 GPIO 芯片 (RP1)。需将 `RPi.GPIO` 替换为 `lgpio` 或 `gpiozero`。SPI 也不同。 |
| **Pi Pico / Pico W** | ❌ 不支持 | 微控制器,非 Linux。架构完全不同。 |
Waveshare 1.44" HAT 可安装在任何具有标准 40 针接头的开发板上。`LCD_Config.py` 使用的 BCM 引脚编号 (RST=27, DC=25, CS=8, BL=24) 和按键引脚 (5, 6, 13, 16, 19, 20, 21, 26) 在所有兼容的 Pi 型号上都是一致的。
## ▐ 致谢
KTOx_Pi 是在 **RaspyJack** 项目之上构建的。WebUI、WebSocket 设备服务器、LCD 驱动程序、Payload 架构、`rj_input` 虚拟按键系统以及 DNSSpoof 钓鱼网站均源自 RaspyJack。没有他们的工作,这个项目就不会存在。
**RaspyJack** — [github.com/7h30th3r0n3/Raspyjack](https://github.com/7h30th3r0n3/Raspyjack)
| 角色 | 账号 |
|------|--------|
| 创始人 & 主开发者 | [@7h30th3r0n3](https://github.com/7h30th3r0n3) |
| 贡献者 | [@dagnazty](https://github.com/dagnazty) |
| 贡献者 | [@Hosseios](https://github.com/Hosseios) |
| 贡献者 | [@m0usem0use](https://github.com/m0usem0use) |
RaspyJack 采用 MIT 许可证授权。版权所有 (c) 2025 7h30th3r0n3。
**KTOx_Pi** 在 RaspyJack 基础之上增加了完整的 KTOx 攻击和紫队套件、155 个自定义 Payload、KTOx_Pi 固件控制器、血红主题以及扩展的菜单系统。
**KTOx_Pi** — [github.com/wickednull/KTOx_Pi](https://github.com/wickednull/KTOx_Pi) · [@wickednull](https://github.com/wickednull)
标签:ARM64, ARP欺骗, CTF学习, DNS欺骗, DoS, ESC8, LCD HAT, MITM, NTLMv2, Payload, Python, Raspberry Pi Zero 2W, Responder, WebUI, WiFi攻击, 中间人攻击, 便携设备, 内网渗透, 实时镜像, 密码管理, 拒绝服务, 攻击路径可视化, 数据展示, 旁路攻击, 无后门, 游戏摇杆控制, 社会工程学, 紫队, 红队, 网络安全, 蓝牙攻击, 足迹分析, 逆向工具, 钓鱼, 隐私保护, 黑客工具