Back to Intelligence

Iron Man & CoGUI PhaaS Ecosystem: Chinese-Language Phishing Kit Disruption — OTX Pulse Analysis & Enterprise Detection Pack

SA
Security Arsenal Team
October 15, 2026
9 min read

Classification: TLP:WHITE | Pulse Date: 2026-10-15 | Confidence: High

Threat Summary

Two concurrent OTX pulses illuminate what is effectively a single industrial-scale credential theft economy operated by Chinese-speaking cybercriminal groups. The first pulse documents a coordinated law-enforcement and industry disruption of three major phishing kits — CoGUI, CoAceV, and CoFish_Ws — attributed to an operator tracked as YAM Store. These kits collectively pushed hundreds of millions of credential-phishing messages, impersonating 66 consumer and financial brands, with a heavy concentration on Japanese organizations (municipal government spoofing, Paidy payment-service lures) but also reaching the United States, Australia, and Italy.

The second pulse maps the Iron Man System, a commercial Phishing-as-a-Service (PhaaS) platform sold through Chinese criminal communities and brokered via YamStore. Iron Man is distributed as a self-hosted package with a licensing backend, pre-built lure templates impersonating postal services, banks, government agencies, and healthcare/telecom entities, and Dockerized deployment infrastructure (e.g., docker.aidchildren.cc).

Collectively, these pulses reveal a mature attack chain: kit licensing → bulk smishing/email delivery → brand-impersonating credential harvest pages → exfiltration of usernames, passwords, and payment data → monetization via banking fraud. The objective is high-volume credential and payment-data theft against finance, government, healthcare, education, manufacturing, transportation, telecommunications, and retail sectors.

Threat Actor / Malware Profile

YAM Store / YamStore (Operator & Marketplace)

  • Role: Kit developer, licensor, and broker operating within Chinese-speaking cybercriminal communities. Resecurity researchers infiltrated these communities and acquired an Iron Man license, confirming a commercial subscription model.
  • Distribution method: Bulk SMS (smishing) and email campaigns delivering shortened or direct lure URLs; kits are self-hosted by criminal buyers on disposable domains.
  • Payload behavior: Client-side credential harvesting via cloned login/payment pages of 66+ brands (consumer finance, postal services, municipal portals such as spoofed kumamoto-city.jp paths). Data is POSTed to kit-controlled backend endpoints (api2.* hostnames indicate centralized collection APIs).
  • C2 / backend communication: HTTPS to attacker-registered domains (e.g., lygyaou.com, kenandy.shop, paidy.farradae.com) and licensing/API infrastructure (api2.haoyutai.cc, api2.peaceman.cc, bin2.peaceman.cc). The licensing backend enforces per-buyer authorization — meaning disruption of the license server degrades all downstream deployments.
  • Persistence mechanism: None on the endpoint — this is a pure web-credential-harvest operation. Persistence exists at the infrastructure level: fast rotation of lure domains, subdomain spoofing of legitimate Japanese municipalities, and Dockerized redeployment for rapid reconstitution after takedown.
  • Anti-analysis techniques: Randomized URL path tokens (/9AioLNhtdi., /BCuXkTPfKZ.), geo-fencing toward Japanese victims, mobile-user-agent filtering, brand-impersonation templates that evade static signature matching, and disposable TLD usage (.shop, .xyz, .top, .cc).

Kit Families

KitFocusStatus
CoGUICredential phishing, Japanese targetsDisrupted
CoAceVCredential phishingDisrupted
CoFish_WsBulk message distributionDisrupted
Iron Man SystemSelf-hosted PhaaS with licensing backendActively marketed

Expect reconstitution. Historical precedent shows PhaaS operators rebrand and relaunch within weeks of seizure; the licensing/backend mapping in these pulses is the durable intelligence.

IOC Analysis

The 26 indicators across both pulses are exclusively network-based — consistent with web-phishing infrastructure rather than endpoint malware:

  • Domains (lygyaou.com, kenandy.shop, new-app-haixing.com, loveboy.xyz, aidchildren.cc, haoeryu.top, protonmail.me): Block at DNS, secure web gateway, and email/SMS gateway layers. Note protonmail.me is a look-alike of legitimate Proton infrastructure — flag for brand-impersonation review rather than blanket-blocking protonmail.com.
  • Hostnames (docker.aidchildren.cc, api2.haoyutai.cc, api2.peaceman.cc, bin2.peaceman.cc): These represent deployment and licensing backend infrastructure. Passive DNS expansion on these hostnames is high-value — resolve them, then pivot on co-hosted IPs and certificate SANs to surface unlisted lure domains.
  • URLs: Full-path indicators (e.g., /paidy/ubmisionsjp/, token-suffixed municipal spoofs) should be normalized: extract the registered domain for blocklisting, but retain full paths for proxy log retro-hunts — the path tokens are campaign-specific fingerprints.

Operationalization: Ingest into your TI platform (MISP, ThreatConnect, or Sentinel threat intelligence) with 90-day expiry; push domains to DNS sinkhole; run 30-day retro-hunts in proxy, DNS, and email logs. Tools that decode/enrich: urlscan.io and VirusTotal for page rendering and screenshots, PassiveTotal/SecurityTrails for infrastructure pivoting, and cert transparency (crt.sh) for wildcard lure certificates.

Detection Engineering

YAML
---
title: Suspicious Phishing Kit Lure Domain Resolution - Iron Man / CoGUI Infrastructure
id: 8f3a1c2e-9b4d-4e7a-a1c5-2d6f8e0b3a91
status: experimental
description: Detects DNS resolution of known Iron Man System, CoGUI, CoAceV, and CoFish_Ws phishing kit infrastructure identified in OTX pulses (2026-10-15), including licensing backend hostnames.
author: Security Arsenal Threat Intelligence
logsource:
    category: dns
product: windows
level: high
detection:
    selection_domain:
        QueryName|contains:
            - 'lygyaou.com'
            - 'kenandy.shop'
            - 'new-app-haixing.com'
            - 'farradae.com'
            - 'ylhgkj.com'
            - 'loveboy.xyz'
            - 'aidchildren.cc'
            - 'haoeryu.top'
            - 'haoyutai.cc'
            - 'peaceman.cc'
            - 'protonmail.me'
    condition: selection_domain
falsepositives:
    - 'None expected - these are dedicated phishing kit domains'
references:
    - https://www.proofpoint.com/us/blog/threat-insight/disruption-targets-major-chinese-language-phishing-kits-japanese-focus
    - https://www.resecurity.com/blog/article/iron-man-yamstore-powering-a-global-phishing-as-a-service-ecosystem
tags:
    - attack.t1566.002
    - attack.t1071.001
date: 2026/10/15
---
title: Proxy Access to PhaaS Credential Harvesting URL Patterns
description: Detects HTTP requests matching Iron Man / CoGUI kit URL structures - brand-impersonation paths and randomized token paths spoofing Japanese municipal and payment brands.
author: Security Arsenal Threat Intelligence
logsource:
    category: proxy
level: medium
id: 2b7d4e1f-5c8a-4f2b-9d3e-6a0c1f7b8e24
status: experimental
detection:
    selection_uri:
        c-uri|contains:
            - '/paidy/'
            - '/ubmisionsjp'
            - '/ubmissionsjp'
            - '.kumamoto-city.jp'
    filter_legit:
        cs-host|endswith:
            - 'paidy.com'
            - 'kumamoto-city.jp'
    condition: selection_uri and not filter_legit
falsepositives:
    - 'Legitimate Paidy or municipal traffic if filter list is incomplete - extend with verified brand domains'
references:
    - https://www.proofpoint.com/us/blog/threat-insight/disruption-targets-major-chinese-language-phishing-kits-japanese-focus
tags:
    - attack.t1566.002
    - attack.t1656
date: 2026/10/15
---
title: Browser Credential Entry Followed by Connection to Newly Observed Disposable TLD
description: Detects browser process network connections to high-risk disposable TLDs (.shop, .xyz, .top, .cc) commonly abused by Iron Man and CoGUI phishing kit deployments, correlated with page titles suggesting login or payment forms.
author: Security Arsenal Threat Intelligence
logsource:
    category: network_connection
product: windows
level: medium
id: 5e9c2a8d-1f6b-4d3a-8c7e-0b2d4f6a9e15
status: experimental
detection:
    selection_image:
        Image|endswith:
            - '\chrome.exe'
            - '\msedge.exe'
            - '\firefox.exe'
            - '\brave.exe'
    selection_tld:
        DestinationHostname|endswith:
            - '.shop'
            - '.xyz'
            - '.top'
            - '.cc'
    filter_known:
        DestinationHostname|contains:
            - 'your-corporate-vendor.com'
    condition: selection_image and selection_tld and not filter_known
falsepositives:
    - 'Legitimate small vendors using low-cost TLDs - tune with an allowlist of business-approved domains'
references:
    - https://www.resecurity.com/blog/article/iron-man-yamstore-powering-a-global-phishing-as-a-service-ecosystem
tags:
    - attack.t1566
    - attack.t1071.001
date: 2026/10/15
KQL — Microsoft Sentinel / Defender
// Iron Man / CoGUI PhaaS Infrastructure Hunt - Microsoft Sentinel
// Hunts network connections and DNS queries to kit and licensing backend IOCs (OTX 2026-10-15)
let PhaaSIoCs = dynamic([
    "lygyaou.com", "kenandy.shop", "new-app-haixing.com", "farradae.com",
    "ylhgkj.com", "loveboy.xyz", "protonmail.me", "aidchildren.cc",
    "haoeryu.top", "haoyutai.cc", "peaceman.cc"
]);
let Lookback = 30d;
let NetworkHits = DeviceNetworkEvents
    | where Timestamp > ago(Lookback)
    | where RemoteUrl has_any (PhaaSIoCs)
    | project Timestamp, DeviceName, InitiatingProcessAccountName,
              InitiatingProcessFileName, RemoteUrl, RemoteIP, ActionType;
let DnsHits = DeviceNetworkEvents
    | where Timestamp > ago(Lookback)
    | extend RemoteUrl = tostring(RemoteUrl)
    | where RemoteUrl endswith ".shop" or RemoteUrl endswith ".xyz"
       or RemoteUrl endswith ".top" or RemoteUrl endswith ".cc"
    | where RemoteUrl has_any ("paidy", "kumamoto", "api2", "bin2", "docker")
    | project Timestamp, DeviceName, InitiatingProcessAccountName, RemoteUrl, RemoteIP;
union NetworkHits, DnsHits
| summarize FirstSeen=min(Timestamp), LastSeen=max(Timestamp),
            Connections=count(), Processes=make_set(InitiatingProcessFileName)
    by DeviceName, InitiatingProcessAccountName, RemoteUrl, RemoteIP
| sort by Connections desc
PowerShell
# Iron Man / CoGUI PhaaS IOC Hunt Script - Security Arsenal
# Checks DNS cache, browser history artifacts, and proxy-relevant network state for kit IOCs
# Run elevated on endpoints or via your EDR remote shell / Intune remediation

$IoCs = @(
    'lygyaou.com','kenandy.shop','new-app-haixing.com','farradae.com',
    'ylhgkj.com','loveboy.xyz','protonmail.me','aidchildren.cc',
    'haoeryu.top','haoyutai.cc','peaceman.cc','paidy.farradae.com'
)

$findings = @()

Write-Host "[*] Checking DNS client cache for PhaaS kit domains..." -ForegroundColor Cyan
$dnsCache = Get-DnsClientCache -ErrorAction SilentlyContinue
foreach ($ioc in $IoCs) {
    $hits = $dnsCache | Where-Object { $_.Entry -like "*$ioc*" }
    if ($hits) {
        foreach ($h in $hits) {
            $findings += [PSCustomObject]@{
                Source = 'DNSCache'; IOC = $ioc; Detail = "$($h.Entry) -> $($h.Data)"; Severity = 'HIGH'
            }
        }
    }
}

Write-Host "[*] Checking active and recent TCP connections..." -ForegroundColor Cyan
$conns = Get-NetTCPConnection -State Established -ErrorAction SilentlyContinue |
    Where-Object { $_.RemoteAddress -notmatch '^(10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.|192\.168\.|127\.)' }
foreach ($c in $conns) {
    try {
        $rdns = ([System.Net.Dns]::GetHostEntry($c.RemoteAddress)).HostName
        foreach ($ioc in $IoCs) {
            if ($rdns -like "*$ioc*") {
                $proc = (Get-Process -Id $c.OwningProcess -ErrorAction SilentlyContinue).ProcessName
                $findings += [PSCustomObject]@{
                    Source = 'NetConnection'; IOC = $ioc
                    Detail = "$proc (PID $($c.OwningProcess)) -> $($c.RemoteAddress):$($c.RemotePort) [$rdns]"
                    Severity = 'CRITICAL'
                }
            }
        }
    } catch { }
}

Write-Host "[*] Sweeping Chrome/Edge history for lure URL patterns..." -ForegroundColor Cyan
$historyPaths = @(
    "$env:LOCALAPPDATA\Google\Chrome\User Data\Default\History",
    "$env:LOCALAPPDATA\Microsoft\Edge\User Data\Default\History"
)
$patterns = @('paidy','ubmisionsjp','ubmissionsjp','kumamoto-city','.shop/','.xyz/','.top/')
foreach ($hp in $historyPaths) {
    if (Test-Path $hp) {
        $tmp = Join-Path $env:TEMP ("hist_" + [guid]::NewGuid().Guid + ".db")
        Copy-Item $hp $tmp -Force -ErrorAction SilentlyContinue
        # Requires SQLite; if unavailable, note artifact for offline EDR query instead
        $findings += [PSCustomObject]@{
            Source = 'BrowserArtifact'; IOC = 'n/a'
            Detail = "History DB copied to $tmp for offline SQLite analysis against patterns: $($patterns -join ', ')"
            Severity = 'INFO'
        }
    }
}

Write-Host "`n===== HUNT RESULTS =====" -ForegroundColor Yellow
if ($findings.Count -eq 0) {
    Write-Host "[+] No PhaaS IOC artifacts found on this host." -ForegroundColor Green
} else {
    $findings | Sort-Object Severity | Format-Table -AutoSize
    $findings | Export-Csv -Path ".\phaas_hunt_$(Get-Date -Format 'yyyyMMdd_HHmmss').csv" -NoTypeInformation
    Write-Host "[!] $($findings.Count) finding(s) exported to CSV. Escalate CRITICAL/HIGH to IR immediately." -ForegroundColor Red
}

Response Priorities

Immediate (0-4 hours):

  • Push all 26 IOC domains/hostnames to DNS sinkhole, secure web gateway, and email/SMS filtering. Block the disposable TLD patterns at the proxy for non-business-approved categories.
  • Execute the KQL query and PowerShell hunt across the fleet for the last 30 days. Any DNS cache hit is a confirmed victim interaction — treat as credential exposure.
  • Alert help desk and Japanese-market business units: active impersonation of municipal services (Kumamoto) and payment brands (Paidy) is in the wild.

24 Hours:

  • This is credential- and payment-data-stealing activity: force password resets for any user whose device resolved or connected to kit infrastructure. Invalidate active sessions and OAuth tokens for those identities.
  • Verify MFA enrollment on all affected accounts; phishing kits of this class increasingly pair with adversary-in-the-middle tooling — review sign-in logs for anomalous session token reuse and impossible-travel events.
  • Report payment-card exposure (Paidy/banking lures) to your fraud team and, where regulated, begin breach-notification assessment.

1 Week:

  • Deploy phishing-resistant MFA (FIDO2/passkeys) for finance, government-facing, and high-risk user populations — PhaaS credential harvesting is neutralized by hardware-bound authentication.
  • Enroll brand-impersonation monitoring for your organization's domains; the kits impersonate 66+ brands and rotate quickly post-disruption.
  • Implement DMARC enforcement (p=reject), SMS sender-ID registration where available, and conditional access policies blocking authentication from untrusted locations and anonymizing infrastructure.
  • Subscribe to OTX pulse feeds for Iron Man/YamStore reconstitution indicators — post-seizure rebranding is expected within weeks.

Related Resources

Security Arsenal Incident Response Managed SOC & MDR Services AlertMonitor Threat Detection From The Dark Side Intel Hub

Is your security operations ready?

Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.