Lion Cipher Lab

Hunt a covert ICMP exfiltration channel in a packet capture

Why it matters

ICMP — the protocol behind ping — is almost always allowed outbound. Firewalls that would block a raw upload in a heartbeat happily pass echo requests, and an echo request carries a payload the sender fills with whatever it likes. A standard ping fills that payload with a fixed, predictable filler of a fixed size; an attacker fills it with chunks of a stolen file instead, and the traffic still looks like someone running ping. That makes ICMP a classic non-application-layer covert channel (MITRE ATT&CK T1095) used for exfiltration over an alternative protocol (T1048). The giveaway is the…

What you'll learn

Steps in this lab

  1. What you're hunting: ICMP echo as a covert channel
  2. What a NORMAL ping looks like (so you know the baseline)
  3. Shannon entropy in one paragraph (your sharpest tool)
  4. The pcap file format, so you can build and parse one
  5. Build the synthetic capture (make_capture.py)
  6. Write the hunter (hunt.py)
  7. Read the real numbers — baseline vs covert
  8. Tune the threshold and measure the catch
  9. The honest negative — low-and-slow defeats size+entropy
  10. The real mitigations — what actually closes the gap
  11. How a pro does this better

Open the full interactive lab →