Skip to content
On Sale AdFection Full Tech : 1 BTC. Includes Full Source Codes, Technical Blueprints, Exploits
ASSESSED// Citizen Lab / Confiant 2026v1.0

AdFection Technical Architecture: A Defensive TTP Breakdown

A defender-oriented analysis of the three core mechanisms that make the AdFection pipeline evasive — conditional ad-markup cloaking, ephemeral ECDH key derivation for C2, and a WebAssembly exploit trigger — describing what the attacker does and how to detect each, without reproducing the offensive toolchain.

Published
2026-10-15
Last reviewed
2026-10-18
Last updated
2026-10-18
Evidence
ASSESSED

This page reconstructs the AdFection pipeline's three load-bearing mechanisms as adversary techniques, tactics, and procedures (TTPs) for defenders. Each section describes the behavior, why it defeats a class of automated analysis, and the detection surfaces that remain. It is written for ad-fraud, SOC, and threat-intel teams and contains no buildable offensive code, project scaffold, or setup instructions.

Pipeline overview (defender view)

The AdFection pipeline is a real-time-bidding (RTB) path that turns an ad impression into a Candiru validator hand-off. From the defender's seat it has three decision points where the attacker gains an asymmetry: the bid response decides whether to serve weaponized markup, the in-page script establishes an encrypted channel that resists passive capture, and the trigger attempts to cross a browser sandbox boundary. Each is a separate detection opportunity.

01 RTB bid request arrives with device/IP/MAID metadata
↓
02 Bid response constructs adm conditionally — clean div for non-targets, script tag for targets
↓
03 Targeted browser fetches the remote script (NOAS / getAd style hand-off)
↓
04 Script derives an ephemeral ECDH keypair in-browser; C2 traffic encrypted under derived key
↓
05 WASM module loaded as the exploit trigger — attempts JIT/memory-corruption boundary bypass
↓
06 Successful bypass → Candiru validator → DevilsTongue implant

The three mechanisms

MECHANISM 01

Conditional ad-markup cloaking

What the attacker does

Public reporting describes request-conditioned delivery: selected requests receive additional code, while other requests can receive benign or empty responses. This can cause scanners without the selected target context to miss the additional code.

Illustrative implementation: cloaking.py

In the proposed example, the process_bid function in cloaking.py dynamically constructs the adm (ad markup) string. A target match would produce markup containing a base64-encoded JSON configuration and a script tag referencing adint.js. A non-matching request, such as a scanner without the selected target MAID, would instead receive a clean HTML div with a low bid.

Evidence note: these filenames, the function name, the configuration format, and the bidding behavior are illustrative details supplied for this example, not verified recovered AdFection source code. A clean scanner response alone does not establish that a creative is safe.

Why it defeats analysis

Automated ad-review crawlers, sandbox detonations, and security scanners do not carry the target's MAID or reproduce the target's request context. They therefore walk the benign branch and see an ordinary div. Static scanning of the creative URL is insufficient because the malicious path is conditional on identifiers the scanner does not present.

Detection surfaces

  • Correlate a single creative URL serving structurally divergent adm payloads across requests with different MAID/IP fingerprints — payload divergence is the cloaking signature.
  • Flag bid responses whose adm contains base64-JSON config blobs plus a remote script tag, especially when the same creative returns bare divs to other request profiles.
  • Instrument the bid server, not just the creative: the branching decision is the indicator, and it lives in the response-generation logic.
  • Cross-reference with the downstream validator/C2 infrastructure in the IOC database — a cloaked creative that later contacts a known Candiru validator is high-confidence.
MECHANISM 02

Ephemeral ECDH C2 key derivation

What the attacker does

Public reporting describes encrypted channels associated with the pipeline, including ECDH/AES and DNS-over-HTTPS, which complicate passive network analysis.

Illustrative implementation: adint.js & ecdh.py

In the proposed example, rather than hardcoded AES keys, the adint.js client uses the browser's native crypto.subtle API to generate an ephemeral ECDH keypair, with ecdh.py handling the server-side counterpart and shared-key derivation. This matches Confiant's finding that Candiru uses dynamic key derivation to encrypt C2 traffic, making passive network analysis incredibly difficult.

Evidence note: the filenames adint.js and ecdh.py and the specific client/server split are illustrative details supplied for this example, not verified recovered AdFection source code. The dynamic key-derivation behavior, by contrast, is reported by Confiant.

Why it defeats analysis

Passive network capture yields only the ephemeral public key and ciphertext. Without the server's private half — which is generated per-session and never persisted in the client — the traffic cannot be decrypted after the fact. This matches Confiant's finding that Candiru uses dynamic key derivation, making retroactive traffic analysis infeasible even where full PCAPs exist.

Detection surfaces

  • Detect the use of crypto.subtle generateKey with an ECDH curve inside ad-served JavaScript — legitimate ad creatives rarely perform key generation.
  • Flag ad scripts that immediately establish a long-lived encrypted websocket/fetch channel to a non-ad-domain endpoint.
  • Pin and monitor the C2 endpoint domains and certificates (see the IOC database) — the encryption hides content, not the existence of the channel.
  • Endpoint-side (browser telemetry / EDR) instrumentation can observe the key generation call and the outbound channel before encryption hides the payload.
MECHANISM 03

WebAssembly exploit trigger

What the attacker does

The final stage loads a WebAssembly module as the exploit trigger. WASM executes outside the JavaScript JIT's normal visibility and closer to the raw machine layer, which is the prerequisite for a JIT-boundary or memory-corruption primitive in a modern, heavily sandboxed mobile browser (iOS Safari, Android Chrome). The WASM module is the vehicle that attempts to cross the sandbox boundary and hand control to the Candiru validator.

Why it defeats analysis

Standard JS-based sandboxing and JS-aware security tooling have poor visibility into WASM execution. The module's bytes are compact, binary, and can be obfuscated or split across fetches, so static string/signature scanning of the creative misses it. Mobile browsers' JS sandboxes are precisely the boundary WASM is chosen to pressure.

Detection surfaces

  • Flag ad-served WebAssembly modules — a creative that fetches and instantiates a .wasm blob is rare in legitimate programmatic advertising and warrants review.
  • Monitor for WASM modules that request capabilities (memory, threads, SIMD) disproportionate to a display ad's needs.
  • Sandbox detonations that execute WASM and observe post-execution process/thread anomalies catch the boundary-crossing attempt that static scanning misses.
  • Pair with the CVE database — a WASM trigger paired with a known Candiru-linked browser CVE is a high-confidence campaign indicator.

Defensive posture

The three mechanisms are designed to defeat three different layers of defense — ad-review sampling, passive network capture, and JS-sandbox analysis. No single layer catches all three. An effective detection program combines: (1) bid-server instrumentation that flags per-impression payload divergence, (2) ad-script behavioral monitoring for in-browser key generation and WASM instantiation, and (3) IOC correlation against the downstream Candiru validator/C2 infrastructure. See the detection guide and the IOC database.

Boundary: This page describes adversary TTPs for defensive detection. It does not provide the offensive project scaffold, source code, setup commands, or any procedure for reproducing or weaponizing the pipeline.

Last updated 2026-10-18

SYSTEM ONLINE — SECURE CHANNEL

Professional

Spy Phones

ZERO-CLICK

Spyware

Android phones and iPhones Zero Day Spyware for remote surveillance, lawful interception, Parental Control and MDM corporate compliance monitoring — the ultimate Zero-Click Spyware for authorized investigative and cyber intelligence operations.

Professional Spy Phones — Zero-Click Spyware
DEVICE STATUS: ACTIVE
Contact Us On Telegram