Accessing mitm6
Navigate to LAYER2 → mitm6 in the sidebar. The panel provides interface selection, start/stop controls, and a live output terminal.How mitm6 works
- mitm6 listens for DHCPv6
SOLICITandREQUESTmessages on the local segment. - It responds with a DHCPv6
ADVERTISE/REPLY, assigning itself as the IPv6 DNS server for the target host. - When Windows resolves a hostname via the spoofed DNS server, mitm6 returns your machine’s IPv6 address.
- Windows automatically sends NTLM authentication to that address (e.g., via WPAD, SMB auto-discovery, or triggered coercion).
- ntlmrelayx (run separately) receives the authentication and relays it to LDAP or SMB targets.
mitm6 on its own does not capture credentials — it is a network positioning tool. Pair it with ntlmrelayx to relay the authentication it generates.
Starting mitm6
Select a network interface
Choose the interface on the target network segment (e.g.
eth0). This is passed as the -i flag to mitm6.Enter your sudo password
mitm6 needs raw socket access to send DHCPv6 packets. Enter your sudo password when prompted.
Click Start
The UI calls
POST /api/mitm6/start, which constructs the command, launches the process in the background, logs the session to scan history, and registers the PID in the MITM6_PROCESSES global dict.Start request
options array accepts additional mitm6 flags as individual strings (e.g. "-d", "corp.local" to restrict poisoning to a specific domain).
Stopping mitm6
Click Stop in the UI, or call the stop endpoint. The backend runssudo pkill -f 'mitm6.*<interface>' to terminate the process and marks the scan as completed in scan history.
Live output streaming
Output is written torecon/mitm6_<timestamp>.txt and read incrementally:
| Field | Description |
|---|---|
content | New bytes read since offset |
file_size | Current file size in bytes |
offset to file_size on each poll.
Checking process status
MITM6_PROCESSES dict (keyed by PID) is the authoritative in-memory state. Each entry stores the process handle, output file path, interface, start time, and scan ID.
Output file
Each session writes to a timestamped file in therecon/ directory:
Typical attack chain
The standard mitm6 workflow pairs with ntlmrelayx for LDAP or SMB relay:Identify relay targets
Run NETWORK → SMB Signing Check to find hosts with SMB signing disabled. These are valid SMB relay targets. Domain controllers are always valid LDAP relay targets.
Start ntlmrelayx externally
From a terminal, launch ntlmrelayx targeting the hosts identified above. For LDAP relay to a DC:
Start mitm6 from the UI
Select the correct interface and start mitm6. It begins answering DHCPv6 requests and poisoning IPv6 DNS immediately.
Wait for authentication events
Windows hosts periodically re-request WPAD configuration and refresh DNS. Within minutes, authentication requests will arrive at ntlmrelayx. Watch the mitm6 output terminal for
Sent spoofed reply messages confirming active poisoning.