Skip to content
View cyberlandji's full-sized avatar
๐ŸŽฏ
Focusing
๐ŸŽฏ
Focusing

Block or report cyberlandji

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please donโ€™t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
cyberlandji/README.md
  ____      _               _                 _  _ _ 
 / ___|   _| |__   ___ _ __| | __ _ _ __   __| |(_|_)
| |  | | | | '_ \ / _ \ '__| |/ _` | '_ \ / _` || | |
| |__| |_| | |_) |  __/ |  | | (_| | | | | (_| || | |
 \____\__, |_.__/ \___|_|  |_|\__,_|_| |_|\__,_|/ |_|
      |___/                                   |__/   

Hey, I'm Yohan ๐Ÿ‘‹

Blue Team Practitioner โ€” Detection Engineering

Detection-as-code pipelines ยท SOC & purple-team labs ยท network & endpoint detection engineering

ISC2 CC Security+ CASA


I design, build, and validate detection systems โ€” from architecture to alert.

Most of my work is hands-on: I build lab environments, write detection rules from real-world traffic and real endpoint telemetry, and document everything โ€” including failures. My focus is understanding how attacks actually look in network and endpoint data and how to detect them before the attacker gains a foothold. Lately I've been turning that craft into a Detection-as-Code pipeline โ€” detection rules under continuous validation in CI, where every change re-proves the whole corpus still works.

At a glance

  • โš’๏ธ 38 Suricata rules under continuous CI validation โ€” the badge below is live state, not a screenshot
  • ๐Ÿ”ฎ Elastic detection lab running โ€” EDR + SIEM on a WireGuard mesh; emulated campaigns correlated node-by-node, rules deployed and replay-validated
  • ๐ŸŒ First SigmaHQ pull request open โ€” #6110, filling a network-layer gap in existing RAT coverage
  • ๐Ÿ—‚๏ธ Work is organised as named operations โ€” Iron Watch (SOC architecture) ยท PCAP Autopsy (network forensics) ยท The Forge (detection-as-code CI) ยท Prism Box (endpoint detection engineering) ยท Ground Truth (OT/ICS, next)
  • ๐Ÿ“ Bremen, Germany โ€” open to Detection Engineering / SOC roles in DE ยท BE ยท CH ยท LU ยท French (native) ยท German ยท English ยท reach me on LinkedIn

๐Ÿ› ๏ธ Core Stack

Suricata Sigma EQL Zeek Wireshark Elastic Stack Elastic Defend Sysmon Atomic Red Team MITRE ATT&CK GitHub Actions Python

Also used across the labs: Snort ยท Graylog ยท Docker ยท WireGuard ยท Hetzner Cloud ยท Kali ยท Ubuntu/Debian ยท Windows 10 ยท Apache ยท rsyslog ยท Git ยท draw.io


โš’๏ธ The Forge โ€” Detection-as-Code (Live CI/CD Pipeline)

CI Status

A living lab, not a finished one. Detection rules ported into a Git CI/CD pipeline and held under continuous validation โ€” every push re-runs the harness against every operation, so the green check is a standing claim that the entire corpus still works, right now. This is where I practice Detection Engineering as an engineering discipline: hermetic test fixtures, regression detection, version control.

Each operation is validated in both directions โ€” a known-bad fixture that the rules must fire on, and a crafted known-good fixture that they must not fire on (false-positive guard). The badge above is the real CI state.

Operation Detection CI Status
PA-01 โ€” You Dirty Rat! (STRRAT) 3 Suricata ยท known-bad + known-good ๐ŸŸข Validated
PA-02 โ€” Lumma in the Room-ah (Lumma Stealer) 12 Suricata (1 removed โ€” ECH) ยท known-bad + known-good ๐ŸŸข Validated
PA-03 โ€” The Ghost in the Wire (GhostWeaver RAT) 16 Suricata ยท known-bad + known-good + benign-adversarial ๐ŸŸข Validated
PA-04 โ€” Easy as 123 (NetSupport Manager RAT) 7 Suricata ยท known-bad + known-good ๐ŸŸข Validated

All four PCAP Autopsy operations are ported and green โ€” 38 Suricata rules under continuous validation. Next intake: the Sigma track, now that endpoint telemetry is live and Operation Prism Box has surfaced the coverage gaps worth authoring from scratch โ€” followed by OT/ICS rules from Operation Ground Truth. The lab is designed to keep growing and stay green.


๐Ÿ”ฎ Operation Prism Box โ€” SIEM + EDR + Detection Correlation

A cloud-hosted, living detection lab on a WireGuard mesh: an Elastic Stack brain (Elasticsearch + Kibana) with a Fleet Server managing Elastic Defend EDR on a Windows 10 victim endpoint, correlated against Suricata / Zeek network telemetry. Atomic Red Team drives emulated attack chains; detection rules are written from the resulting telemetry and cross-correlated across the network and endpoint layers โ€” then hardened and automated with Shuffle SOAR.

Phase Focus Status
PB-01 Elastic Stack brain + Fleet Server + Elastic Defend EDR on Windows victim (WireGuard mesh) โœ… Complete
PB-02 Detection engineering on Elastic โ€” emulation campaigns, correlation, rule authoring ๐Ÿšง Active
PB-03 Hardening ยท full detection suite ยท Shuffle SOAR + playbook automation ๐Ÿ”œ Planned

PB-02 โ€” Campaigns

PB-02 is my detection-engineering home on the Elastic stack. Campaigns are deliberately laddered: each one has to prove a different tier of detection craft, not just add more coverage.

Campaign Emulates Detection tier Status
Magpie Lumma Stealer โ€” 11-node chain, Atomic Red Team Signature โ€” single-event Sigma โ†’ Elastic (Lucene / EQL) โœ… Complete
Brood DBatLoader / ModiLoader Behavioural โ€” multi-event ancestry correlation, hand-authored EQL sequences ๐Ÿ”œ Next

๐Ÿฆโ€โฌ› Magpie โ€” complete. An 11-node Lumma Stealer kill chain, pinned by atomic GUID (not test index) so the run is actually reproducible, detonated on the victim endpoint and then correlated node-by-node against ground truth.

  • All 11 nodes correlated โ€” endpoint evidence, SIEM evidence, and timeline reconciled independently per technique (Kibana in UTC vs. victim in CEST โ€” a standing +2h reconciliation).
  • 4 Sigma rules adapted from SigmaHQ under DRL 1.1 (related: derived, original authors retained), converted to Elastic detection rules, deployed to Kibana and replay-validated 4/4 firing.
  • Defender caught 2 of 11 โ€” both at the delivery/transfer stage. Everything after the foothold passed the NGAV tier untouched, which is exactly the gap custom rules exist to close.
  • Headline finding: two rules deployed as Lucene produced zero alerts despite the events being present. Root cause โ€” Lucene's whitespace tokenisation breaks wildcard matching on space-bearing command-line substrings. Re-converting to EQL fixed both. The non-firing Lucene versions are kept in the repo on purpose, as evidence.
  • Honest scoping: the atomics are discrete TTP demonstrations, not an end-to-end data flow โ€” the exfil node shipped synthetic data to a placeholder domain. The claim is "each TTP Lumma uses was emulated and its telemetry correlated," not "credentials were stolen and exfiltrated end-to-end."

๐Ÿฅš Brood โ€” next on the bench. Where Magpie detects events, Brood detects relationships. The thesis: express well-known parent/child abuse as true two-step EQL sequences (sequence by โ€ฆ with maxspan=โ€ฆ, ancestry join, derived time window) instead of the single-event ParentImage shortcut most rules settle for. Sigma can't cleanly express sequences โ€” so Brood is authored directly in EQL, by design.

  • Campaign: DBatLoader / ModiLoader โ€” chosen because it's ancestry-native: multi-stage BAT / JS / PowerShell chains, a signed legitimate binary used as the malicious parent via DLL side-loading, plus LOLBin abuse.
  • Single-host by design โ€” the name is the scope guardrail. No lateral movement, no AD.
  • Status: campaign and method locked, awaiting clean baseline reset and detonation.

Repo: github.com/cyberlandji/prism-box โ€” detection work lives in pb-02-detection-engineering/

A Microsoft-stack mirror (Defender for Endpoint + Sentinel, KQL translation) is a longer-term goal โ€” decoupled from this arc, not a direct successor to PB-03.


๐Ÿ”ฌ Operation PCAP Autopsy โ€” Detection Rule Development & Network Forensics

PCAP-based investigation series. Each operation analyzes real-world malware traffic, reconstructs the attack chain, and produces validated Suricata detection rules. Zeek runs alongside as a known-answer calibration layer, auditing and sharpening the investigation methodology.

Operation Title Malware Family Rules Status
PA-01 You Dirty Rat! STRRAT 3 Suricata โœ… Complete
PA-02 Lumma in the Room-ah Lumma Stealer 12 Suricata (1 removed โ€” ECH) โœ… Complete
PA-03 The Ghost in the Wire GhostWeaver RAT 16 Suricata + 3 Sigma โœ… Complete
PA-04 Easy as 123 NetSupport Manager RAT 7 Suricata + 1 Sigma โœ… Complete

38 Suricata rules validated across 4 operations, all four ported into The Forge and green in CI. The 4 Sigma rules identified during these autopsies are still open โ€” network-layer, single-event signature work, parked in PB-02 alongside the campaign output rather than lost in a backlog.


๐ŸŒ Community Contribution โ€” SigmaHQ

Giving back to the ruleset I learn from. My first pull request to SigmaHQ โ€” a Zeek-based detection for NetSupport Manager RAT cleartext C2 over port 443, derived directly from the PA-04 network forensics.

  • Rule: zeek_http_netsupport_manager_cleartext_c2.yml โ†’ rules/network/zeek/
  • Logic: user_agent|startswith 'NetSupport Manager/' AND id.resp_p: 443
  • Why it's non-duplicate: existing SigmaHQ coverage for this RAT is host-based; this fills the network-layer gap.
  • Validation: fields confirmed against real PA-04 Zeek http.log ยท sigma-cli clean (0 errors) ยท logic tested to fire only on malicious rows.

๐Ÿ“ฌ Submitted and currently under maintainer review โ€” PR #6110.


๐Ÿ—๏ธ Operation Iron Watch โ€” SOC Architecture & Detection Labs

A three-part SOC lab series. Each operation builds on the last: from manual detection to centralized log management to full DMZ architecture with proactive defense.

Operation Focus Status
IW01 Foundational SOC โ€” Snort IDS, manual correlation โœ… Complete
IW02 Graylog log management โ€” web enumeration detection, SSH compromise invisible โœ… Complete
IW03 DMZ hardening, full log pipeline, DDoS Detection Suite โœ… Complete

๐Ÿญ Operation Ground Truth โ€” OT/ICS Detection (Next Build)

Industrial protocol detection in an OT/ICS context โ€” Modbus / DNP3 behavioral rules with Suricata, framed against IEC 62443 and KRITIS. Bringing detection engineering to the operational-technology side, where the traffic and the threat model look nothing like enterprise IT.

๐Ÿ”œ In design โ€” next on the anvil.


๐Ÿ”— Contact

LinkedIn

Everything I build lives here on GitHub โ€” the repos above are the portfolio.


I design, build, and validate detection systems โ€” from architecture to alert.

Pinned Loading

  1. the-forge the-forge Public

    Python

  2. prism-box prism-box Public

  3. operation-pcap-autopsy operation-pcap-autopsy Public

    Detection rules written, validated, and documented from real-world malicious network traffic. Each operation takes a PCAP containing actual malware activity, reconstructs the attack chain, and prodโ€ฆ

  4. operation-iron-watch-03 operation-iron-watch-03 Public

    Iron Watch 03 continues where prevention failed โ€” focusing on post-compromise detection, investigation, and hardening.