
Investigating Ephemeral Supply Chain Tampering
GTIG and Mandiant report on UNC7017, which tampered with AOMEI update servers in five to ten minute windows between April and July 2026. Edited down_html.ini and Notifycfg.ini files delivered the CROSSROAD downloader and SHINYROAD PocketPy backdoor, plus Adaptix C2 and WebDAV NTLM coercion. The post covers infrastructure shifts, YARA rules, IOCs, and vendor and SOC guidance on point-in-time triage failures.
What it is
UNC7017 is a threat cluster tracked by GTIG and Mandiant. Between April and July 2026 it tampered with the update servers of AOMEI Technology (Backupper, AnyViewer) in windows of five to ten minutes, then restored the authentic files. Any client that polled during a window received a malicious update. The ManageEngine Threat Analysis Lab (METAL) first saw it in EDR telemetry in late May. Mandiant notified AOMEI on 17 July 2026, and AOMEI said on 29 July that it had taken corrective action.
Confirmed windows were 28 May (05:40 to 05:50 UTC), 16 July (08:33 to 08:39 UTC) and 20 July (10:35 to 10:40 UTC). GTIG says other windows probably went unseen. Victims were opportunistic, across IT services, telecoms and higher education in 12 countries, including the US, India, Brazil and Spain.
How it works
The client polls two files over HTTPS: down_html.ini (version, MD5, download URL for upgrade-now.zip) and Notifycfg.ini (popups and local commands for ABNotify.exe).
- The actor edited
down_html.inito point at attacker storage, raised thethridbuild number and set a matching MD5. The client trusts that MD5 because the file is unauthenticated. - It injected over 35,000
[dummy_XXXXXX]sections intoNotifycfg.ini(16 July). This forced an update regardless of installed version and ran the unpackedupgrade-now.exe(CROSSROAD) from the localhtml/directory. - CROSSROAD checks for "AOMEI" in its own path, queries IP-lookup services and aborts in some branches if the country is CN. It then downloads
component.zipfrompromotion.storage-data.comand registers the scheduled taskRadminComponentRuntime, which runs%LOCALAPPDATA%\Radmin\FamItrfc.exe --runtimechkevery three hours. - That signed Radmin binary side-loads
BlkScrDl.dll, which registersRuntimeComponent.dllas a COM server. The DLL decrypts a payload (ChaCha20) and runs it in an embedded PocketPy VM (SHINYROAD), with C2 at8.218.65.184:443. - CROSSROAD resets
thridto 5 and the URL to the legitimate AOMEI one in the localdown_html.ini, then deletes itself (--nitrod). - On 28 May the actor also dropped a modified Radmin Server (
rsetup64.exe /intsetup). - From mid-July it added Adaptix C2 (ADAPTAGENT,
Eztwain4.dll) disguised as Nitro PDF. It uses the task\NitroRuntimeand beacons every 2 minutes to8.210.84.56:6800. - On 20 July the first download came from a Google Cloud Storage bucket (
storage.googleapis.com/aomeiupdate/upgrade-now.zip), which gets past proxies that block newly registered domains. - The same day,
Notifycfg.inicarried a 1x1 popup (Priority=9999) loadingfile://8.210.84.56/DavWWWRoot/.... This coerces NetNTLMv2 authentication to the actor's IP even if the payload is blocked.
Preconditions / Affected
Any host running AOMEI software that polled the update endpoints during a tampering window. Fixing the server does not remove payloads already installed, so the April to July period needs retrospective hunting.
What to do
- Do not validate alerts by fetching the vendor URL, because it will return clean files. Preserve
%PROGRAMFILES(X86)%\AOMEI\*\Tmphtml\and the proxy and firewall logs for the exact time of the alert. - Look for the scheduled tasks
\RadminComponentRuntimeand\NitroRuntime. - Look for
%LOCALAPPDATA%\Radmin\, the mutexGlobal\{F9E6E3C0-E11A-4F85-9944-AF4AD6E05883}, and the shared memory sectionLocal\963d3c60-d406-4ad6-aa1e-dc8e45061ccf. - Check the registry key
\REGISTRY\MACHINE\SYSTEM\Software\Microsoft\TIP\AggregateResults\datafor unusual binary blobs. - Block
storage-data.comand its subdomains,8.210.84.56,47.239.60.117and8.218.65.184. - Block outbound SMB (TCP 445) and WebDAV to external addresses.
- Search proxy logs for the User-Agent
Anyviewer-loader/1.0and forserv.oss-cn-hongkong.aliyuncs.com. - Trace the parent process of any alert on updater children, including Nitro-named binaries.
- Use the four YARA rules in the post (CROSSROAD, two SHINYROAD, ADAPTAGENT). Hash tables and the full IOC set are in a GTI Collection for registered users.
Vendors should verify Authenticode signatures on downloads, sign remote config files, pin download destinations, disallow file:// and UNC schemes in popups, and monitor file integrity on origin servers.
Caveats
The visible windows may be a subset of the real ones. Radmin binaries in the bundle are legitimate and signed, so detection must separate them from the hijacking DLL. The post does not say which AOMEI versions are affected. The IOC and hash tables did not come through in the fetched text.
Organisations named here
- 3CX
- AOMEI
- ManageEngine Threat Analysis Lab
- NTLM coercion
- T1195.002
- UNC7017
Technologies named here
- AOMEI Backupper
- YARA
- Google Security Operations
- VirusTotal
- Radmin
- Windows
- Mandiant
- Adaptix C2
- AOMEI AnyViewer
- AOMEI client build version 8.2.5 (thrid=5 default; tampered to thrid=6 and thrid=7)
- AOMEI update infrastructure: www2.aomeisoftware.com (down_html.ini) and account.aomeitech.com (Notifycfg.ini)
- ChaCha20 with HMAC-SHA256 derived key and IV
- Famatech Radmin 3.x (legitimate binaries FamItrfc.exe and FamItrf2.exe abused for DLL search-order hijacking)
- GTI Collection (Google Threat Intelligence)
- ManageEngine Threat Analysis Lab (METAL) EDR telemetry
- miniz
- Mitigation Guidance for Supply Chain Compromise
- Nitro PDF (masqueraded as NitroPromotion.exe and Eztwain4.dll)
- PocketPy
- Radmin Server (modified)
Techniques named here
- Timestomping
- Scheduled task persistence
- DLL
- DLL sideloading
- Masquerading
- Configuration bloat
- Custom binary C2 protocol with traffic chaffing
- Geolocation check and execution guardrails
- Host artifact reversion and anti-forensics
- In-process COM server registration
- Self-deletion via alternate data stream rename (--nitrod)
- Staging on legitimate cloud storage and lookalike domains
- Update redirection with version and MD5 manipulation
- WebDAV NTLM credential coercion
Threat actors named here
- CrossRoad
- ShinyRoad
- AdaptAgent
- Modified Radmin Server
- SolarWinds
- UNC7017 (threat cluster tracked by GTIG; conducted the AOMEI update infrastructure supply chain compromise, April 2026 to July 2026)
Also named here
- DLL search-order hijacking
Related in Supply Chain


