Skip to main content

Packet Squirrel Mark II — The Complete Guide

一句話定位:Packet Squirrel Mark II 是一部「夾在網路中間的小盒子」——把目標裝置接上 Target 埠、把真正的網路接上 Network 埠,它就位於流量路徑上,能嗅探、改寫、重導甚至切斷流量。三向撥桿一掰就換一套 Payload。

While the Shark Jack jumps onto a network to scan it, the Packet Squirrel sits inside a network link and becomes the man-in-the-middle. It's the perfect way to demonstrate (and defend against) inline interception: plug it between a device and its network, flip a switch, and it captures, proxies, redirects, or isolates that device's traffic.

The Mark II runs DuckyScript, Bash, and Python payloads, and adds VPN support (WireGuard), dynamic proxying, DNS manipulation, and Cloud C². It's a favorite for red teams dropping a silent tap, and for the blue team wanting to understand exactly how inline MITM works.

⚠️ Authorised testing only. Inline interception of traffic you don't own is illegal. Use the Squirrel on your own devices and network.


Specs at a glance

ItemSpecification
Ports2× Ethernet (Target + Network) + USB 2.0 host
PowerUSB-C (just 0.2 A)
InterfaceInline layer-2 / layer-3 device-in-the-middle
PayloadsDuckyScript + Bash + Python
NetworkingNAT, BRIDGE, TRANSPARENT, JAIL, ISOLATE modes
ManipulationDynamic proxy, killport, killstream, spoof-DNS, DNS sinkhole, packet capture
VPNWireGuard support in NAT/BRIDGE modes
Arming/ConfigWeb UI + SSH at 172.16.32.1
Size / weight50 × 40 × 15 mm, 24 g
Official docshttps://docs.hak5.org/packet-squirrel-mk-ii

Anatomy

PartPurpose
Target Ethernet port (top-left)The device you want to watch/manipulate
Network Ethernet port (top-right)The real network / uplink
3-position switchSelects which payload runs
USB-CPower
USB 2.0 hostStorage / additional interfaces

Network modes (the heart of it)

The Squirrel's behavior is set by payloads via the NETMODE command. This is where 90% of the learning happens:

ModeWhat it doesStealthVPN/C²
NATRoutes Target → Network as its own router (DHCP 172.16.32.X)Low
BRIDGETransparent layer-2 bridge (Target gets IP from network)Medium
TRANSPARENTSame as bridge but visible nowhere (no IP of its own)Highest
JAILDisconnects Target from the network; Squirrel keeps net access
ISOLATEDisconnects Target and drops the Squirrel off the net

You might be asking: "Which mode should I use?" For learning, NAT is easiest (you control the DHCP). For real stealth, TRANSPARENT leaves no trace — but you lose VPN/C². Choose by whether silence or connectivity matters more.


Quickstart — first capture

Step 1 — Wire it up

  1. Network port → your router/switch.
  2. Target port → the device you want to watch (your test laptop!).
  3. Power over USB-C.

Step 2 — Arming mode

Put the switch in the arming position. Set your NIC to 172.16.32.0/24 and browse to the web UI (or SSH):

http://172.16.32.1

Set an admin password, and you can load or edit payloads.

Step 3 — Run a sniffing payload

Put a packet-capture payload on a switch position, flip to it, and watch the device's traffic:

# From the Squirrel shell (arming mode / SSH)
tcpdump -i eth0 -w /root/loot/capture.pcap

Then open the .pcap in Wireshark on your laptop for analysis.


Payload ideas & commands

GoalCommand / payload
Sniff to a filetcpdump -i eth0 -w /root/loot/capture.pcap
Block a TCP portkillport 80 (TCP RST injection)
Kill a TCP stream by contentkillstream "secret"
Fake DNS answersspoofdns example.com 1.2.3.4
Sinkhole all DNSDNS SINKHOLE (redirect chosen domains)
Rewrite trafficDYNAMIC PROXY (log/alter client-server data)
Big-button network toggleGATEKEEPER — pop the pushbutton to cut the link
REM Example payload — capture traffic and sinkhole known-bad domains
NETMODE BRIDGE
LED R
DNS SINKHOLE bad-domain.example.com
tcpdump -i eth0 -w /root/loot/capture.pcap &
LED G

Advanced

CapabilityHow
WireGuard VPNEncrypt the Squirrel's network path in NAT/BRIDGE mode
Cloud C²Manage payloads + offload loot remotely
Python payloadsFull Python for scripting more logic
Background commandsRun long tasks, then interact from shell
Traffic detection (blue team)Use JAIL + filters to isolate a compromised device mid-engagement
USB host expansionAttach storage to grow the loot capacity

Troubleshooting

SymptomCauseFix
Target has no IP in TRANSPARENTFed IP from network — needs real uplink presentVerify Network port link; or use NAT for an independent DHCP
Internet slow through SquirrelNAT mode rewritingExpected in NAT; use BRIDGE/TRANSPARENT to keep IPs
Web UI unreachableWrong subnetNIC to 172.16.32.0/24, browse 172.16.32.1
killport/killstream no effectTarget using a different port/patternMatch the exact port; check payload syntax for your firmware
Payload not auto-runningSwitch position vs payload folder mappingVerify which switch position runs which payload