Skip to content
mouaad.sek:~$
All case files~/work/cf-06$
CF-06Network securitySTATUS: REMEDIATED

NetSecure Corp network audit

From a flat network where one foothold meant total access, to five segmented VLANs with default-deny filtering and detection on every flagged threat.

ROLE
Solo
WHEN
May 2026
STACK
Wireshark, Suricata, nftables, FreeRADIUS, 802.1X, VLANs, MITRE ATT&CK
LINK
Private repo, demo on request
01 / CONTEXT

The problem

NetSecure Corp is a fictional 200-employee company with a head office and two branches. Its network was flat (10.0.0.0/16), with switches managed over Telnet using default passwords, no DMZ, no IDS and a weak Wi-Fi key.

The job: prove the risk from captured traffic, chain it into a realistic attack, then redesign and harden the network.

02 / APPROACH

Attack chain reconstructed from the capture

  1. 01Weak Wi-Fi key
  2. 02SYN scan
  3. 03Telnet creds
  4. 04ARP spoofing
  5. 05Session hijack
  6. 06Exfiltration
03 / FINDINGS AND FIXES

Findings and fixes

FINDINGFIXLEVEL
Telnet admin credentials in clear textSSH with keysCRITICAL
ARP spoofing: one MAC claiming 3 IPsDAI + DHCP snoopingCRITICAL
Flat network, total lateral movement5 VLANsCRITICAL
Session cookie over plain HTTPTLS + DMZHIGH
Port scan went unnoticedSuricata rulesHIGH
No access control on ports802.1X + RADIUSHIGH
04 / EVIDENCE

Straight from the code

Excerpts from the actual repository and deliverables, trimmed for length.

configurations/firewall.nftbash
table inet filter {
    chain forward {
        type filter hook forward priority 0;
        policy drop;

        ct state established,related accept

        # admin VLAN: full access
        ip saddr 10.10.10.0/24 accept

        # employees: internal DNS and file server only
        ip saddr 10.10.20.0/24 ip daddr 10.10.30.10 udp dport 53 accept
        ip saddr 10.10.20.0/24 ip daddr 10.10.30.20 tcp dport 445 accept

        # Internet to DMZ web server
        ip daddr 10.10.40.10 tcp dport 443 accept

        # guests: Internet only, no internal access
        ip saddr 10.10.50.0/24 ip daddr 10.10.0.0/8 drop
        ip saddr 10.10.50.0/24 accept

        log prefix "FORWARD_DROP: " drop
    }
}

Default-deny forwarding between VLANs: admins reach everything, employees only DNS and the file server, guests only the Internet.

configurations/netsecure.rulestxt
# telnet
alert tcp any any -> any 23 (msg:"NETSECURE TELNET CONNECTION DETECTED"; sid:1000001; rev:1;)

# port scan: 5 SYN in 10 seconds from the same source
alert tcp any any -> any any (flags:S; msg:"NETSECURE POSSIBLE PORT SCAN"; threshold:type both, track by_src, count 5, seconds 10; sid:1000002; rev:1;)

# session cookie in clear text (session hijacking)
alert tcp any any -> any any (content:"Cookie:"; msg:"NETSECURE SESSION COOKIE OBSERVED"; sid:1000006; rev:1;)

Custom Suricata rules written for the threats found in the capture, including a threshold to catch the SYN scan.

05 / OUTCOME

Results

12vulnerabilities: 4 critical, 6 high, 2 medium
5VLANs with default-deny nftables
6custom Suricata detection rules
06 / LESSONS

What I'd do differently

The capture was only 76 packets, and it was enough to own the whole network. Next: validate DAI and port security on real switch images in a GNS3 lab, not only on paper.

NEXT CASE FILE · CF-01Travistello
Esc

↑↓ navigate · Enter open · Esc close