Offensive testing of perimeter network appliances and VPN crypto — IKE/IPsec (aggressive-mode, transform/DH enum, NAT-T), Check Point SIC/OPSEC, safe firmware/patch-level inference for FortiGate/PAN-OS/Cisco ASA/Citrix feeding CVE applicability, NTLM Type-2 target-info decode, handshake-completion TLS-version probing, and an RST-TTL forgery discriminator. The active/offensive counterpart to the static firewall-review skill. Use when a perimeter firewall/VPN/appliance is in scope and you must te…
Offensive testing of perimeter network appliances and VPN crypto — IKE/IPsec (aggressive-mode, transform/DH enum, NAT-T), Check Point SIC/OPSEC, safe firmware/patch-level inference for FortiGate/PAN-OS/Cisco ASA/Citrix feeding CVE applicability, NTLM Type-2 target-info decode, handshake-completion TLS-version probing, and an RST-TTL forgery discriminator.
The active/offensive counterpart to the static firewall-review skill.
Use when a perimeter firewall/VPN/appliance is in scope and you must test it (not just audit a config), without reinventing raw-socket protocol tooling each engagement.
Similar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Claude CodeNot declared
CursorNot declared
CodexNot declared
GitHub CopilotNot declared
WindsurfNot declared
Gemini CLINot declared
ClineNot declared
OpenCodeNot declared
Repository health
Stars516
LicenseLICENSE
Default branchmain
Open issues8
Status
Active
Package contents
Files included with this skill beyond the listing page.
skill mdSKILL.md5,824 B
docsSUMMARY.md633 B
History
First seen on skills.sh
First recorded snapshot · 44 installs
SKILL.md
Network-Appliance Offensive
firewall-review audits a config statically; infrastructure covers generic ports/DNS/SMB. Neither tests a live perimeter appliance or its VPN crypto — so IKE builders, SIC/OPSEC fingerprinting, and TTL discriminators were reinvented from raw sockets each engagement, often shallowly, and CVE applicability was left UNDETERMINED across whole estates. This skill provides the deterministic, tested tools and the precondition-gated methodology. Non-destructive only — every tool observes/decodes/infers; none fires an exploit, and CVE applicability is a precondition check, never a blind "vulnerable."
RST-TTL forgery discriminator (real host vs firewall forging a RST) + IKE NOTIFY decode
Never asserts "internal host behind FW" on RSTs alone — a firewall forges RSTs indistinguishably at this layer; returns undetermined without an open-service TTL baseline
Workflow
Fingerprint the appliance — from the port set + banners + login markers, run applianceversioninfer.py (vendor + version guess + confidence) and, for Check Point, checkpointsicopsec.py. A version guess of undetermined/low-confidence stays undetermined — do not score CVEs against it.
VPN crypto — on UDP 500/4500, run ikeenum.py: flag IKEv1 aggressive mode (leaks the PSK hash → a finding), enumerate accepted transforms + weak DH groups (1/2/5), and decode NAT-T/NOTIFY. IKEv2-only where IKEv1 RA is absent (a CVE requiring IKEv1 aggressive mode is notapplicable there — see severity-calibration.md rule 5).
TLS posture — tlshandshakeprobe.py per host: report only handshake-completed versions; TLS 1.0/1.1 completion is the weak-protocol finding (not an openssl exit code).
Info leaks — decode any NTLM Type-2 challenge (ntlm_decode.py) for internal host/domain/OS intel; record it as an information-disclosure finding.
CVE applicability (precondition-gated) — for each surfaced appliance CVE, take the vendor+version from step 1 and the precondition map (checkpointsicopsec / applianceversioninfer applicability) and mark applicable / undetermined / not_applicable. Enrich the CVE via python3 tools/nvd-lookup.py. An undetermined applicability is reported as such — never inflated to a confirmed vuln.
Forensics — if a "closed" host appears live behind the firewall, run perimeter_forensics.py --classify-ttls before asserting anything: distinguish a real host RST from a filter-forged RST (needs an open-service TTL baseline; otherwise undetermined).
Anti-Patterns
Do not score an appliance CVE as confirmed on a version banner alone — banners are backported/spoofable; gate on applicability (severity-calibration.md rules 4-5).
Do not claim TLS 1.0/1.1 support from an openssl sclient non-zero exit — require a completed handshake (tlshandshake_probe.py).
Do not assert "internal host behind the firewall" from RSTs — a firewall forges RSTs; use the TTL discriminator and accept undetermined.
Do not crack an IKE aggressive-mode PSK hash in-band on the engagement — capturing/flagging the aggressive-mode exposure is the finding; offline cracking needs explicit authorization.