← All articles

consultant

FlowerStorm (KrakVM) evades email filters and the NIS 2 stakes

The FlowerStorm phishing kit runs obfuscated JavaScript in KrakVM to intercept MFA. Here is how an email gateway, DMARC/SPF/DKIM, and a 24/7 SOC help meet NIS 2 in Luxembourg.

Executive takeaway: here is what just happened (FlowerStorm/KrakVM), how to prevent it (hardened email gateway + DMARC/SPF/DKIM, IOC/TTP‑enabled SOC, phishing‑resistant MFA), and how to notify the ILR within 24h/72h if required.

What happened

On 14 May 2026, Sublime Security published an in‑depth analysis of an active campaign run by the phishing‑as‑a‑service kit “FlowerStorm.” Key point: HTML attachments carry obfuscated malicious code executed inside a JavaScript virtual machine (KrakVM), recently open‑sourced. When opened in the browser, the attachment renders a fake interface (often “voicemail” or invoice) to collect credentials and MFA codes, with an adversary‑in‑the‑middle (AiTM) relay to hijack sessions.

The report lists 153 IOCs, e.g., 2067612207-1317754460.cos.eu-frankfurt.myqcloud[.]com, iphgo.office0utloot356comonauth[.]line, ableg.docufiled[.]com. Primary source: Sublime Security (14 May 2026). Media coverage: CSO Online (14 May 2026).

Why this matters for the EU and Luxembourg in May 2026:

  • The payload arrives via HTML attachment (no explicit URL) and is encoded as bytecode, evading many static detections at the gateway.
  • The kit tailors the interface to the targeted service (Microsoft 365, GoDaddy…), enumerates the victim’s MFA methods (push, TOTP, SMS, voice call) and intercepts MFA challenges in real time.
  • Observed hosting relies on multi‑region object‑storage domains (Singapore, Frankfurt, Tokyo, Ashburn…), complicating simple blocklists. Public IOCs: see Sublime’s post above.

The legal framework

NIS 2 in Luxembourg (Law of 5 May 2026): essential and important entities must implement “cybersecurity risk‑management measures” (Art. 21), including anti‑phishing and integrity of information systems. They must notify a significant incident “without undue delay and no later than within 24 hours” (early warning), then within 72 hours (notification), then a final report within one month (Art. 23). The ILR details the process and SERIMA for national notification. References: ILR — NIS 2 and ILR — 24h/72h/1‑month notification, SERIMA. For a practical entry point, see NIS 2 in Luxembourg.

GDPR, Article 32 (security of processing): general duty to implement appropriate technical and organisational measures (strong authentication, logging, access control) to prevent unauthorised access to personal data compromised via phishing. Reference: EUR‑Lex — GDPR (Art. 32).

In practice, regulators expect:

  • Preventive controls (advanced email filtering, phishing‑resistant authentication, DMARC/SPF/DKIM).
  • Timely detection and alerting to meet the 24h/72h windows (NIS 2).
  • Logs and evidence to support investigation and notification (NIS 2 Art. 23; GDPR Art. 32).

The technical solution to deploy

Goal: block entry (obfuscated HTML, QR/“quishing”, AiTM links), detect early, and preserve artefacts usable for SERIMA and, if needed, for GDPR notification.

1) Email gateway + domain authentication (DMARC/SPF/DKIM)

  • Role: filter HTML attachments, detect obfuscated JavaScript (high entropy, non‑standard Base64 alphabets), URL disarm, controlled sandboxing with dynamic rendering.
  • DMARC/SPF/DKIM: reduce domain spoofing, useful against FlowerStorm’s “voicemail/invoice” lures imitating brands. Requires monitoring aggregated DMARC reports to spot spoofing campaigns.
  • Standards: ISO 27001:2022 A.8.23, A.5.17; CIS Control 9; NIST CSF 2.0 DE.CM, PR.PS.

2) Behavioural detection and Threat Intel (IOCs + TTPs)

  • Role: ingest confirmed IOCs (e.g., numbered myqcloud[.]com subdomains listed by Sublime) and detect TTPs: .html attachments with VM/bytecode encoding, variables “__krak_throw,” custom Base64 alphabets, KrakVM artefacts, AiTM MFA paths.
  • Legal benefit: speeds up “significant incident” assessment and 24h/72h SERIMA qualification (NIS 2 Art. 23). Refs: Sublime, IOCs; CSO Online.

3) Phishing‑resistant authentication (FIDO2/WebAuthn) for sensitive accounts

  • Even if the vector is email, FlowerStorm captures OTP/TOTP. Origin‑bound factors (FIDO2, passkeys) break the AiTM effect. Aligns with GDPR Art. 32 and NIS 2 Art. 21.

4) Logging and forensic SIEM

  • Log HTML attachment opens, clicks to suspicious domains, anomalous SSO attempts, suspicious/failed MFA; retain artefacts for evidence and post‑mortem.

How Luxgap delivers

Our 24/7 managed SOC for incident detection integrates your email gateway, EDR/XDR, and reverse proxy. We correlate “obfuscated HTML/JS + non‑standard Base64 alphabets + ‘voicemail’ emails” with public IOCs (e.g., encrypted myqcloud[.]com subdomains listed by Sublime). On alert, we open a ticket, isolate the compromised mailbox, revoke sessions/tokens, and prepare the SERIMA template (24h/72h steps).

Our dark web monitoring covers 12+ sources (forums, pastes, Telegram channels) to detect reuse of FlowerStorm domains/infrastructure and map artefacts to your look‑alike domains for preventive blocking.

Our ISO 27001 governance frames the email policy (block .html attachments, disable “data:” anchors, QR/“quishing”), DMARC to “quarantine/reject” with monitoring, NIS 2 notification procedure (who does what at H+4/H+24/H+72), and audit evidence.

Three‑week rollout

  • T0–T7: harden the gateway (HTML/JS policies, sandbox, URL rewriting), deploy DMARC “quarantine,” SOC playbooks “FlowerStorm/KrakVM” + IOCs.
  • T8–T14: detection tests (benign campaigns), switch DMARC to “reject,” integrate SERIMA (notification template).
  • T15–T21: review MFA for sensitive accounts (FIDO2 for admins/privileged), 90‑min response drills with CISO/DPO (ILR notification, GDPR breach alignment). To strengthen the human layer, schedule awareness and simulated phishing.

Real‑world case in Luxembourg/EU

An “important” NIS 2 IT services firm (125 staff, EU B2B) faced multiple “New Voice Msg” emails with .html attachments. In six weeks we:

  • Systematically blocked .html attachments with non‑standard Base64 alphabets and suspicious “write” tags;
  • Migrated DMARC from “none” to “reject” with DKIM tuning across four third‑party sending domains;
  • Deployed IOC blocking on gateway/proxy (e.g., patterns *.cos.*.myqcloud.com with abnormal numbering) and a SOC playbook for mailbox purge and MFA reset;
  • Documented a SERIMA procedure: early warning at H+12, notification at H+60 (≤72h), artefact collection (email headers, attachment hashes, access logs). Outcome: one successful attempt spotted on D+0, contained by H+3, no proven exfiltration, no GDPR notification required; demonstrable NIS 2 compliance.

Immediate next steps

  • Block .html attachments at the gateway except a controlled allow‑list; enable dynamic rendering analysis for obfuscated JavaScript (entropy, VM bytecode, custom functions like “__krak_throw”).
  • Set DMARC to “quarantine” within 7 days and “reject” within 30; monitor aggregate reports to spot domain spoofing.
  • Feed FlowerStorm IOCs (sample above) into your controls and automate refresh; add TTP rules (HTML attachment + non‑standard Base64 alphabet + “voicemail/invoice” theme).
  • Harden privileged accounts with FIDO2/WebAuthn; forbid reusable OTPs on these accounts.
  • Draft the “NIS 2 Art. 23” playbook: who triggers ILR early warning within 24h, who completes the 72h notification, which logs/artefacts to attach, and how to coordinate with potential GDPR notification.

Need hands‑on support? Reach out via the Luxgap contact page.

Official sources

LUXGAP NEWSLETTER

Get our analyses the moment they drop.

GDPR, NIS 2, AI expertise articles, plus invitations to free webinars + trainings at Luxgap. 1 to 2 emails per week max, one-click unsubscribe.

Your data is never shared. GDPR-compliant (we're DPOs after all).

A question on this topic?

Our team usually replies within one business day. Configure your quote or write to us.

Build my quote →