ctipilot.ch

GraphSpy

tool · tool:graphspy single-source

Open-source initial-access and post-exploitation tool for Entra ID and Microsoft 365 that presents a browser-based GUI over a local web server, centralising device-code phishing, primary refresh token theft, Windows Hello for Business key registration, MFA method manipulation and data exfiltration; Red Canary records it as the third device-code phishing tool to reach its most-prevalent list in 2026 (Red Canary, 2026-08-20).

Coverage timeline
1
first 2026-08-23 → last 2026-08-23
Peak priority
notable
1 notable
Sources cited
1
1 hosts
Sections touched
1
research
Co-occurring entities
3
see Related entities below
ATT&CK techniques
5
pinned v19.2 · see below

Hunting pivots

Affected products
Microsoft 365Microsoft Entra ID

ATT&CK techniques

5 techniques observed across 1 entry — derived from entry metadata and body evidence, never asserted without a published entry behind it · pinned to MITRE ATT&CK v19.2 · compare on the matrix · Navigator layer (JSON)

Execution TA0002

T1204.004User Execution: Malicious Copy and Paste×1

An adversary may rely upon a user copying and pasting code in order to gain execution. Users may be subjected to social engineering to get them to copy and paste code directly into a Command and Scripting Interpreter. One such strategy is "ClickFix," in which adversaries present users with seemingly helpful solutions—such as prompts to fix errors or complete CAPTCHAs—that instead instruct the user to copy and paste malicious code.

Evidence: 2026-08-23/blockchain-dead-drop-c2-commodity-graphspy · ATT&CK page ↗

Persistence TA0003

T1543.001Create or Modify System Process: Launch Agent×1

Adversaries may create or modify launch agents to repeatedly execute malicious payloads as part of persistence. When a user logs in, a per-user launchd process is started which loads the parameters for each launch-on-demand user agent from the property list (.plist) file found in <code>/System/Library/LaunchAgents</code>, <code>/Library/LaunchAgents</code>, and <code>~/Library/LaunchAgents</code>. Property list files use the <code>Label</code>, <code>ProgramArguments </code>, and <code>RunAtLoad</code> keys to identify the Launch Agent's name, executable location, and execution time. Launch Agents are often installed to perform updates to programs, launch user specified programs at login, or to conduct other developer tasks.

Evidence: 2026-08-23/blockchain-dead-drop-c2-commodity-graphspy · ATT&CK page ↗

T1556.006Modify Authentication Process: Multi-Factor Authentication×1

Adversaries may disable or modify multi-factor authentication (MFA) mechanisms to enable persistent access to compromised accounts.

Evidence: 2026-08-23/blockchain-dead-drop-c2-commodity-graphspy · ATT&CK page ↗

Privilege Escalation TA0004

T1543.001Create or Modify System Process: Launch Agent×1

Adversaries may create or modify launch agents to repeatedly execute malicious payloads as part of persistence. When a user logs in, a per-user launchd process is started which loads the parameters for each launch-on-demand user agent from the property list (.plist) file found in <code>/System/Library/LaunchAgents</code>, <code>/Library/LaunchAgents</code>, and <code>~/Library/LaunchAgents</code>. Property list files use the <code>Label</code>, <code>ProgramArguments </code>, and <code>RunAtLoad</code> keys to identify the Launch Agent's name, executable location, and execution time. Launch Agents are often installed to perform updates to programs, launch user specified programs at login, or to conduct other developer tasks.

Evidence: 2026-08-23/blockchain-dead-drop-c2-commodity-graphspy · ATT&CK page ↗

Defense Impairment TA0112

T1556.006Modify Authentication Process: Multi-Factor Authentication×1

Adversaries may disable or modify multi-factor authentication (MFA) mechanisms to enable persistent access to compromised accounts.

Evidence: 2026-08-23/blockchain-dead-drop-c2-commodity-graphspy · ATT&CK page ↗

Credential Access TA0006

T1528Steal Application Access Token×1

Adversaries can steal application access tokens as a means of acquiring credentials to access remote systems and resources.

Evidence: 2026-08-23/blockchain-dead-drop-c2-commodity-graphspy · ATT&CK page ↗

T1556.006Modify Authentication Process: Multi-Factor Authentication×1

Adversaries may disable or modify multi-factor authentication (MFA) mechanisms to enable persistent access to compromised accounts.

Evidence: 2026-08-23/blockchain-dead-drop-c2-commodity-graphspy · ATT&CK page ↗

Command and Control TA0011

T1102.001Web Service: Dead Drop Resolver×1

Adversaries may use an existing, legitimate external Web service to host information that points to additional command and control (C2) infrastructure. Adversaries may post content, known as a dead drop resolver, on Web services with embedded (and often obfuscated/encoded) domains or IP addresses. Once infected, victims will reach out to and be redirected by these resolvers.

Evidence: 2026-08-23/blockchain-dead-drop-c2-commodity-graphspy · ATT&CK page ↗

Story timeline

  1. 2026-08-23Dead-drop command-and-control went commodity: three of four new entrants on Red Canary's monthly list resolve their C2 from a dead drop, two of them from a public blockchain, and the fourth is a GUI for Entra ID device-code phishing
    researchDead-drop C2 moved from novelty to routine, and the control is an egress baseline rather than a blocklist

Where this entity is cited

  • research1

Source distribution

  • redcanary.com1 (100%)

Co-occurring entities

Derived — referenced by the same focused operational entries (weekly summaries and report roundups don't count); ×N counts the shared entries.

Entries about GraphSpy (1)

2026-08-23 · view entry permalink →

NOTABLENATOB2

Dead-drop command-and-control went commodity: three of four new entrants on Red Canary's monthly list resolve their C2 from a dead drop, two of them from a public blockchain, and the fourth is a GUI for Entra ID device-code phishing

Red Canary's monthly threat round-up, published 2026-08-20 against July 2026 telemetry, is useful here not for its rankings but for what the new arrivals have in common: three of the four resolve their command-and-control address from a dead drop rather than from a hardcoded domain or IP, and two of those read that dead drop off a public blockchain (Red Canary, 2026-08-20). The technique — querying a smart contract whose stored value is the current C2 URL, which Red Canary calls EtherHiding and dates to first reporting in 2023 — has been documented for a while; what this round-up records is its arrival in commodity tooling — Red Canary counts three of its top ten using it this month, two of them new arrivals.

The mechanics are worth stating precisely because they determine what a defender can and cannot block. Phexia, a macOS remote-access tool and stealer delivered through malicious copy-and-paste lures, queries public Polygon RPC endpoints for a smart contract's value, decodes the ABI-encoded response to extract a URL, posts to it and pipes the reply into osascript; it keeps Telegram and Steam profiles as redundant dead-drop channels and persists with a LaunchAgent that sets both KeepAlive and RunAtLoad. EtherRAT is "a Node.js-based remote access trojan observed targeting Windows workstations via social engineering and Linux servers via exploitation of server-side vulnerabilities", polling one or more public Ethereum RPC endpoints for a C2 URL held at a predefined contract address, with modules for credential theft, lateral movement and web-server hijacking. CastleRAT resolves its dead drop through steamcommunity.com or adversary-controlled domains. Red Canary's own summary of why this matters operationally: "The technique makes traditional C2 blocking challenging, since the URL can be updated dynamically by adversaries" — the operator rewrites one contract value and the change propagates to every installation without redistributing the malware.

The fourth entrant is a different problem. GraphSpy is an open-source initial-access and post-exploitation tool for Entra ID and Microsoft 365 that, in Red Canary's words, "runs a local web server that presents a browser-based GUI, which enables less technical adversaries to engage in Entra ID attacks". It centralises device-code phishing, primary refresh token theft and abuse, Windows Hello for Business key registration, MFA method manipulation, and exfiltration from SharePoint, OneDrive, Outlook and Teams. Red Canary notes it is the third device-code phishing tool to reach its top ten in 2026, after GraphRunner in May and Kali365 in June — three separate toolkits in four months packaging the same identity attack behind progressively lower skill requirements.

Detection concepts, telemetry class first. For the dead-drop families the signal is in egress telemetry: an outbound HTTPS session from an endpoint or server to a public blockchain RPC endpoint, made by a process that has no business speaking to one — the request itself is ordinary-looking JSON-RPC to a widely used, reputable host, so the discriminator is the process and the host role, not the destination's reputation. On macOS, correlate it with process-lineage telemetry showing osascript executing content received from a network read, and with persistence artifacts — a newly written LaunchAgent whose program arguments carry an encoded payload. For GraphSpy the surface is identity telemetry rather than endpoint: device-code authentication events for users and locations that have no workflow requiring that flow, primary refresh token issuance followed by access from an unfamiliar device, and new Windows Hello for Business key or MFA method registration on an account that did not request it. Red Canary's own mitigation for the device-code half is to revoke the affected user's refresh tokens and active sessions, reset credentials, force re-authentication, and restrict the device-code flow through Conditional Access policies "for users and locations that do not require it".

GraphSpy runs a local web server that presents a browser-based GUI, which enables less technical adversaries to engage in Entra ID attacks.

The technique makes traditional C2 blocking challenging, since the URL can be updated dynamically by adversaries

the public blockchain RPC endpoints highlighted on chainlist.org are a good place to start, as adversaries are more likely to leverage widely-used URLs instead of standing up their own infrastructure

Red Canary 2026-08-20
research23 Aug 04:46Zsingle-sourceOpen finding ↗
Sources: Red Canary