NATION-STATE

Iran's MOIS Runs Its Spyware Through a Telegram Bot, One Bot Per Victim

On September 15, 2026, the FBI, the UK NCSC, and the Netherlands AIVD jointly attributed a Windows implant called HEAVYGRAM, or CHOSEN BRICK, to Iran's Ministry of Intelligence and Security.

Matt Lucas  |  September 16, 2026  |  6 min
Editorial hero illustration
3
agencies in the joint advisory
2023
campaign traced to autumn
1:1
Telegram bots per victim
4
Iranian leak sites seized by DOJ
TL;DR
  • What: The FBI, NCSC, and AIVD published a joint advisory on September 15, 2026 detailing a Windows implant they call HEAVYGRAM and CHOSEN BRICK, attributed to Iran's Ministry of Intelligence and Security and used to surveil dissidents, journalists, and activists.

The file looked like MRI scan results. Other times it looked like KeePass, or Norton Antivirus, or the AI video tool Pictory, or Telegram itself. The target opened it, a convincing screen appeared, and in the background a second stage quietly wired the machine to a Telegram bot that could read their mail, copy their WhatsApp and Telegram data out of the browser, photograph the screen, and switch on the microphone. On September 15, 2026, the UK's NCSC, the FBI, and the Netherlands' AIVD put a name to it: HEAVYGRAM to the Bureau, CHOSEN BRICK to the NCSC, and the work of Iran's Ministry of Intelligence and Security either way.

The stakes here are not quarterly revenue. The agencies say the targets are mainly Iranian dissidents, journalists who oppose Iran, activists, and members of groups whose views clash with the government, hit in the UK, the US, the Netherlands, and elsewhere since at least 2025, as part of a campaign the FBI dates to the autumn of 2023. Screenshots and collected files reveal contacts, location, and daily routine. The personal details of some victims have already turned up on pro-Iranian leak sites. In March, the US Justice Department seized four of those sites, which it said were used to post stolen data and to call for the killing of dissidents and journalists. The advisory notes that Iranian intelligence services have, in some cases, plotted to kidnap or kill people abroad. This is surveillance with a body count attached to the far end of it.

The work laptop is the beachhead, and your success is the pivot

Read this line from the advisory twice, because it is the part that belongs to IT managers rather than to human rights desks: the attackers often start on a target's work computer, and if that does not succeed, they move to a personal device, which company security does not protect. The approach is patient social engineering. They pose as someone the target already knows, or as tech support for a messaging app, and build trust before the file ever arrives. Your EDR holding the line is not the end of the engagement. It is the signal that tells MOIS to go after the same person on the laptop you cannot see.

What the implant actually does

Every version seen so far is Windows only. Once running, operators can tell it to:

Persistence is unglamorous: a Windows registry Run key entry named SMQDService or winappx, so it restarts at every logon. It then instructs Microsoft Defender to skip certain folders so its own files go unscanned, and drops extras into a folder whose name carries a trailing space, C:\Windows \SysWOW64, which reads as the real system path to a tired analyst. Each infected machine gets its own Telegram bot, which the agencies say keeps one victim's activity from mixing with another's. Stolen files leave through that bot and through cloud storage including Vultr and Storj, and newer builds push their Telegram traffic through proxies to hide it. The agencies have not seen it spread across a network on its own.

Hunt for these today

Run key values named SMQDService or winappx. A folder at C:\Windows \SysWOW64 with a space after Windows. Mutex names ytyjyujyu and noi672pp434awkc12f. Outbound connections to api.telegram.org, vultrobjects.com, storjshare.io, backblazeb2.com, iproyal.com, and lightningproxies.net. The agencies warn that file names and folders change, so treat this as a starting point, not a checklist.

The RedEye take

Technically, this is a boring implant. No zero-day, no worming, no clever in-memory gymnastics. A Run key, a Defender exclusion, and a chat bot. That is the point, and it should bother you more than a flashy exploit chain would. MOIS does not need an expensive capability because the attack surface is a person under pressure who receives a file from someone they believe they know. The tradecraft budget went into the pretext, not the payload.

The per victim Telegram bot is the detail worth sitting with. It kills the infrastructure pivot that most threat intel programs are built around. There is no shared C2 IP to enumerate, no hosting provider to burn, no single domain to sinkhole, because the C2 is api.telegram.org and so is half the legitimate traffic on the internet. Blocking that domain outright is the single highest value control available here, and it is the control most organizations will refuse to apply because Telegram is also how their staff talk to sources. That is a policy decision, not a technical one, and it should be made deliberately by a named person rather than by default. Meanwhile the other half of the problem is outside your console entirely: newsrooms, universities, NGOs, and diaspora organizations employ the exact people MOIS is hunting, and when the corporate build holds, the attacker walks over to a personal Windows machine that has no telemetry, no allowlist, and no one watching it.

What defenders should learn

The limit, stated plainly

The advisories do not say whether removing the malware alone clears a compromise. At least one version can wipe the machine, and the implant can pull down further tooling. Treat a confirmed infection as a rebuild and a credential reset for every account that touched the host, not as a successful quarantine.

The agencies present their conclusions as assessments rather than as matters settled in court, and that framing is worth preserving when you brief your own leadership. When the FBI first described this campaign in March 2026, Telegram told TechCrunch that its moderators routinely remove any accounts found to be involved with malware. The September 15 joint advisory, and the FBI's updated analysis with new indicators of compromise, suggest that removal has not been fast enough to change the economics. Reported by Swati Khandelwal for The Hacker News, September 15, 2026: https://thehackernews.com/2026/09/iranian-hackers-use-telegram-controlled.html

Fix It Yourself

Everything above is what happened. This is what to run. The check commands change nothing.

Check whether you are exposed

Lists user and machine autorun entries so you can spot SMQDService or winappx

reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Run"
reg query "HKLM\Software\Microsoft\Windows\CurrentVersion\Run"

Prints every Microsoft Defender path exclusion on the host, the malware adds its own

powershell -NoProfile -Command "Get-MpPreference | Select-Object -ExpandProperty ExclusionPath"

Looks for the drop folder whose name carries a trailing space after Windows

powershell -NoProfile -Command "Get-ChildItem -LiteralPath 'C:\Windows \SysWOW64' -Force -ErrorAction SilentlyContinue | Select-Object FullName, Length, LastWriteTime"

Close it

Backs the Run key up to your desktop first, then removes the autorun value (swap SMQDService for winappx if that is the name you found)

reg export "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" "%USERPROFILE%\Desktop\run-key-backup.reg"
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v SMQDService /f

Removes the attacker added Defender exclusion and kicks off a full scan (run as administrator)

powershell -NoProfile -Command "Remove-MpPreference -ExclusionPath 'C:\Windows \SysWOW64'"
powershell -NoProfile -Command "Start-MpScan -ScanType FullScan"

Quarantines rather than deletes: moves the suspect drop folder aside so you keep the evidence for the rebuild

powershell -NoProfile -Command "New-Item -ItemType Directory -Force -Path 'C:\Quarantine'"
powershell -NoProfile -Command "Move-Item -LiteralPath 'C:\Windows \SysWOW64' -Destination 'C:\Quarantine\syswow64-suspect' -Force -ErrorAction SilentlyContinue"

Prompts for the agent you already run

Paste into your SOC copilot or Claude Code on a Windows host you want triaged against this advisory

Triage this Windows host for the HEAVYGRAM / CHOSEN BRICK implant described in the September 15, 2026 FBI, NCSC, and AIVD joint advisory. Do all of the following read only steps and print the raw output of each before you interpret it: 1) query HKCU and HKLM Software\Microsoft\Windows\CurrentVersion\Run and flag any value named SMQDService or winappx; 2) run Get-MpPreference and list every ExclusionPath, flagging anything under C:\Windows; 3) test for a directory literally named 'C:\Windows \SysWOW64' with a trailing space after Windows and list its contents with hashes; 4) pull the last 2000 Sysmon Event ID 22 records and report any QueryName matching api.telegram.org, vultrobjects.com, storjshare.io, backblazeb2.com, iproyal.com, or lightningproxies.net along with the Image that made the query. Show your work for each step. Do not delete, move, or modify anything, and stop and report to me before any remediation.

Paste when you want fleet wide detection coverage built from the advisory indicators

Write me detection rules for the HEAVYGRAM / CHOSEN BRICK indicators, targeting whatever SIEM config you find in this repo (tell me which one you detected and why). Cover four observables: Sysmon Event ID 13 registry value writes where TargetObject ends in CurrentVersion\Run\SMQDService or CurrentVersion\Run\winappx; Windows Defender operational Event ID 5007 where the changed value contains ExclusionPath; Sysmon Event ID 22 where QueryName is api.telegram.org and Image is not the signed Telegram client; and any file path containing a trailing space before a backslash, normalized so 'C:\Windows \' is caught. Output the rules as files, explain each field you matched on, and stop before committing or deploying anything so I can review the diff.

What to alert on

The highest value single observable is an unexplained Microsoft Defender exclusion change: in the Windows Defender operational log (Microsoft-Windows-Windows Defender/Operational), Event ID 5007 records configuration changes, and the New Value field will show the added ExclusionPath. Legitimate exclusions are rare, are added by administrators, and map to a change ticket, so any 5007 naming a path under C:\Windows on a user endpoint deserves an immediate look. Pair it with two supporting signals: Sysmon Event ID 13 where TargetObject ends in CurrentVersion\Run\SMQDService or CurrentVersion\Run\winappx, which catches the persistence write at the moment it happens, and Sysmon Event ID 22 where QueryName is api.telegram.org while the Image field is any binary other than the signed Telegram client. That last one is the rule that survives the malware renaming its files, because the C2 channel cannot move without giving up its cover.

Questions about your exposure?

RedEye Security provides assessments for organizations that need to understand their real risk.

Talk to us