featured post

How to APT EP.2: Lying to the whole netns through BPF_PROG_TYPE_FLOW_DISSECTOR

Flowdiss explores how BPF_PROG_TYPE_FLOW_DISSECTOR can be abused to forge the Linux kernel's notion of packet flow identity without modifying packet contents. By manipulating the flow_keys used to derive skb->hash, a privileged eBPF program can influence downstream consumers such as RPS, GRO, ECMP, and other eBPF programs that rely on the cached flow hash. The article presents a proof of concept, validates its effects and limitations, and demonstrates how a separate BPF LSM program can conceal the attack from standard bpftool enumeration, illustrating both an underexplored attack surface and the limits of relying on user-space BPF tooling on a compromised system.

eBPF BPF flow dissector rootkit post-exploitation linux kernel bpftool BPF LSM syscall interception RPS GRO ECMP skb->hash stealth networking security
Aug 2, 2026  ·  22 min read  ·  471 views
read →
eBPF, kernel How to APT EP.2: Lying to the whole netns through BPF_PROG_TYPE_FLOW_DISSECTOR Aug 2, 2026
eBPF Security How to APT EP.1: Bypassing XDP and TC: Stealthy Connection Interception via BPF SK_LOOKUP Jul 30, 2026
Linux, Kernel, shellcode Cacheghost: Executing code from the kernel page cache Jul 30, 2026
Kernel I Spent a Week Fuzzing the BPF Verifier's New Circular Number System Jul 29, 2026
Security Research or Vulnerability Analysis DCOM Permission Misconfiguration in WaaSMedicSvc Enables Unprivileged PPL Process Access Mar 11, 2026
6posts
0papers
75topics
1904total views
eBPF Security ·ebpf

How to APT EP.1: Bypassing XDP and TC: Stealthy Connection Interception via BPF SK_LOOKUP

While most offensive eBPF techniques rely on XDP or TC to intercept raw network packets, Linux 5.6+ introduced BPF_PROG_TYPE_SK_LOOKUP, a hook operating at the socket dispatch layer. By attaching a 28-line BPF program directly to a network namespace, an attacker can silently redirect incoming TCP SYN requests to a backdoor socket without modifying packets, recalculating checksums, altering iptables rules, or leaving wire-level artifacts. This post breaks down how the technique works, common implementation traps, why it evades conventional EDR checks, and how defenders can audit for it.

Jul 30, 2026 16 min 220 views
Linux, Kernel, shellcode ·linux-kernel

Cacheghost: Executing code from the kernel page cache

A file-backed executable mapping where the page content diverges from the backing file.

Jul 30, 2026 5 min 184 views
Kernel ·bpf

I Spent a Week Fuzzing the BPF Verifier's New Circular Number System

I spent the better part of a week reverse-engineering Meta's ~3500 line refactoring of the BPF verifier's bounds tracking, the "circular number" (or cnum) rework that landed in Linux 7.0. I built a fuzzer, ran a quarter million random tests, traced through the linked register propagation by hand, disassembled my running kernel's vmlinux to check for backports, and generally went deeper into `kernel/bpf/verifier.c` than any sane person should.

Jul 29, 2026 4 min 107 views
Security Research or Vulnerability Analysis ·Windows

DCOM Permission Misconfiguration in WaaSMedicSvc Enables Unprivileged PPL Process Access

The Windows Update Medic Service (WaaSMedicSvc) is configured with overly permissive DCOM LaunchPermission rights, granting standard users the ability to instantiate COM objects within a Protected Process Light (PPL) service running as LocalSystem. The service, which operates with LaunchProtected=2 (PPL), exposes the WaaSRemediation COM object with LaunchPermission SDDL that includes Everyone (WD) and Interactive User (IU) with execute rights. This configuration allows unprivileged users to communicate across the PPL security boundary and execute methods in SYSTEM context. While prior research demonstrated exploitation of this attack surface via TypeLib hijacking, this finding identifies a distinct unprivileged access vector. Remediation involves restricting DCOM LaunchPermission to SYSTEM and Administrators only.

Mar 11, 2026 6 min 251 views
Windows Internals ·windows

How Windows Delivery Optimization's Trust Chain Can Be Broken Before It Starts

Windows Delivery Optimization's security model, chunk hashes, peer banning, retry logic, all of it flows from a single in-memory structure called the Pieces Hash File. Control that file, and every downstream verification check works in your favor. This research traces how to get there: from the DLL, through the unpinned SSL channel, to the third-party CDN infrastructure serving that file to every Windows 11 machine on the planet.

Mar 10, 2026 25 min 671 views