Back to Intelligence

Blind Eagle (APT-C-36) GitHub Loader Pipeline: AsyncRAT, DcRat, Remcos & XWorm Targeting Colombian Government — OTX Detection Pack

SA
Security Arsenal Team
August 31, 2026
9 min read

A new OTX pulse ('Still Circling: Inside the Operator Behind the GitHub Loader', TLP:WHITE) documents the ongoing operations of APT-C-36, better known as Blind Eagle, a long-running Spanish-speaking threat actor with a persistent focus on Colombian government entities. The investigation began with commit metadata on malicious GitHub repositories and — critically — pivoted through an email address discovered in stealer log databases sold and traded across dark web marketplaces and Telegram channels. That single pivot unraveled the operator's entire pipeline.

The attack chain is consistent with Blind Eagle's historical tradecraft: Colombian-themed phishing emails impersonating judicial and legal notification services (note the lure domain consultanotificacionesjuridicas.site — 'check legal notifications') deliver a loader staged on GitHub repositories abused as trusted hosting. The loader — frequently an AutoIt-compiled backdoor (S0129) wrapped in commercial crypter services — then pulls down one or more commodity RATs: AsyncRAT, DcRat, Remcos, and XWorm.

The operational objective is credential theft and persistent espionage access. All four RAT families include keylogging, browser credential extraction, screenshot capture, and remote shell capability. Stolen session tokens and credentials from infected government workstations feed directly into the stealer log ecosystem — the same dark web data pool that allowed researchers to unmask the operator. C2 infrastructure leans heavily on dynamic DNS (dccomicrat81.duckdns.org) and throwaway domains, keeping attribution fluid while the GitHub staging layer provides resilient, reputation-clean delivery.

Threat Actor / Malware Profile

APT-C-36 / Blind Eagle is an espionage-motivated actor active since at least 2018, almost exclusively targeting Colombian government, judicial, and financial organizations with Spanish-language social engineering.

  • Distribution method: Spear-phishing with judicial/legal-notification lures pointing to GitHub-hosted loaders and attacker-controlled landing domains such as creainovada.xyz (/instructions/ path), simpmit.co, and consultanotificacionesjuridicas.site.
  • Payload behavior: Multi-stage — an initial loader (often AutoIt-compiled, matching MITRE software S0129) decrypts or downloads final-stage RATs in memory. Operators rotate between AsyncRAT, DcRat, Remcos, and XWorm per-campaign, sometimes deploying multiple families to the same host for redundancy.
  • C2 communication: Commodity RAT C2 over TCP to dynamic DNS (DuckDNS) hosts and VPS IP 64.89.160.17; domains like data-encoder.com appear in supporting infrastructure. XWorm and DcRat configurations are typically recovered from memory or decrypted AutoIt strings.
  • Persistence mechanism: Registry Run keys (HKCU\Software\Microsoft\Windows\CurrentVersion\Run), scheduled tasks with randomized names, and staged payloads in %APPDATA% and %TEMP%.
  • Anti-analysis techniques: Commercial crypter services (tagged in the pulse) packing the AutoIt loader, string obfuscation, AMSI bypass attempts via amsi.dll patching, sandbox/VM checks, and process hollowing or self-injection into RegSvcs.exe/RegAsm.exe — a hallmark of AsyncRAT/XWorm loaders.
  • Stealer log nexus: The operator's own workstation was compromised and its data surfaced in stealer logs — a reminder that credential theft from this campaign will propagate into dark web markets where infostealer logs are aggregated, searchable, and resold.

IOC Analysis

The pulse ships 10 indicators spanning four types, each requiring different operational handling:

  • Domains (config.data, data-encoder.com, creainovada.xyz, consultanotificacionesjuridicas.site, simpmit.co): Phishing delivery and staging infrastructure. Block at DNS sinkhole/proxy, and hunt proxy logs for historical resolution — lure domains impersonating Colombian judicial notifications indicate spear-phish delivery.
  • Hostname (dccomicrat81.duckdns.org): Dynamic-DNS RAT C2. DuckDNS is abused by all four families; block the FQDN and alert on any DuckDNS resolution from non-IT-managed endpoints.
  • IPv4 (64.89.160.17): C2/staging VPS. Block at egress firewall and hunt NetFlow/firewall logs for outbound connections, especially long-lived TLS or raw TCP sessions.
  • URL (http://creainovada.xyz/instructions/): Active phishing lure page. Hunt web proxy logs and email gateway logs for users who clicked; those users are priority-one for credential reset and host triage.

SOC operationalization: ingest the pulse IOCs into your TIP (MISP, OpenCTI, or Sentinel threat intelligence), apply expiry logic on dynamic-DNS indicators, and enrich with passive DNS to catch domain rotation. For decoding, CyberChef handles AutoIt string deobfuscation, Any.Run/Hybrid Analysis detonates the GitHub loaders to extract RAT configs (XWorm/AsyncRAT configs decode cleanly from memory dumps), and VirusTotal graph relationships expose sibling domains sharing the same registrant patterns as creainovada.xyz.

Detection Engineering

YAML
---
title: Blind Eagle AutoIt Loader Execution From User Directories
id: 8f3a2c1e-7b4d-4e9a-a1c5-3d6f8b2e9a01
status: experimental
description: Detects AutoIt-compiled loaders (S0129) used by APT-C-36/Blind Eagle executing scripts or payloads from user-writable directories, a hallmark of the GitHub-staged loader pipeline.
author: Security Arsenal Threat Intel
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        Image|endswith:
            - '\AutoIt3.exe'
            - '\AutoIt3_x64.exe'
    selection_path:
        CommandLine|contains:
            - '\AppData\Local\Temp\'
            - '\AppData\Roaming\'
            - '\Users\Public\'
    selection_script:
        CommandLine|endswith:
            - '.au3'
            - '.a3x'
    condition: selection_img and (selection_path or selection_script)
falsepositives:
    - Legitimate AutoIt administrative scripts deployed by IT (allowlist known script hashes and paths)
level: high
tags:
    - attack.execution
    - attack.t1059
date: 2026/08/31
---
title: AsyncRAT/XWorm Process Injection Into .NET Framework Utilities
id: 2b7e4d9c-1a5f-4c8b-b3d6-9e2f7a4c1b05
status: experimental
description: Detects hollowed or injected .NET utilities (RegAsm, RegSvcs, MSBuild) making outbound network connections without a parent, consistent with AsyncRAT, DcRat, and XWorm payload injection used in Blind Eagle campaigns.
author: Security Arsenal Threat Intel
logsource:
    category: network_connection
    product: windows
detection:
    selection:
        Image|endswith:
            - '\RegAsm.exe'
            - '\RegSvcs.exe'
            - '\MSBuild.exe'
            - '\InstallUtil.exe'
    filter_signed_parent:
        Initiated: 'true'
    condition: selection and filter_signed_parent
falsepositives:
    - Legitimate .NET compilation in developer environments (scope to non-developer endpoints)
level: critical
tags:
    - attack.defense_evasion
    - attack.t1055
    - attack.command_and_control
    - attack.t1071
date: 2026/08/31
---
title: Blind Eagle RAT Persistence Via Registry Run Key
id: 5c9d1f3a-8e2b-4f7c-c4a8-6b1d3e5f9a07
status: experimental
description: Detects registry Run key persistence entries pointing to user-writable or temp paths, matching AsyncRAT, Remcos, DcRat, and XWorm persistence observed in APT-C-36 intrusions.
author: Security Arsenal Threat Intel
logsource:
    category: registry_set
    product: windows
detection:
    selection_key:
        TargetObject|contains:
            - '\CurrentVersion\Run'
            - '\CurrentVersion\RunOnce'
    selection_value:
        Details|contains:
            - '\AppData\'
            - '\Temp\'
            - '\Users\Public\'
            - '.ps1'
            - '.vbs'
    condition: selection_key and selection_value
falsepositives:
    - Software updaters storing binaries in AppData (allowlist by publisher and hash)
level: high
tags:
    - attack.persistence
    - attack.t1060
    - attack.t1547.001
date: 2026/08/31
KQL — Microsoft Sentinel / Defender
// Blind Eagle / APT-C-36 campaign hunt: C2, lure domains, and RAT injection behavior
let CampaignIOCs = dynamic([
  "64.89.160.17",
  "dccomicrat81.duckdns.org",
  "creainovada.xyz",
  "consultanotificacionesjuridicas.site",
  "simpmit.co",
  "data-encoder.com",
  "config.data"
]);
let LureURL = "creainovada.xyz/instructions/";
let NetHits = DeviceNetworkEvents
| where TimeGenerated > ago(30d)
| where RemoteIP in~ (CampaignIOCs)
   or RemoteUrl has_any (CampaignIOCs)
   or RemoteUrl contains LureURL
   or RemoteUrl endswith ".duckdns.org"
| project TimeGenerated, DeviceName, InitiatingProcessAccountName,
          InitiatingProcessFileName, InitiatingProcessCommandLine,
          RemoteIP, RemoteUrl, RemotePort;
let InjectionBehavior = DeviceNetworkEvents
| where TimeGenerated > ago(30d)
| where InitiatingProcessFileName in~ ("RegAsm.exe","RegSvcs.exe","MSBuild.exe","InstallUtil.exe","AutoIt3.exe")
| where isnotempty(RemoteIP) and RemoteIP !startswith "10." and RemoteIP !startswith "192.168."
| project TimeGenerated, DeviceName, InitiatingProcessFileName,
          InitiatingProcessCommandLine, RemoteIP, RemoteUrl;
union NetHits, InjectionBehavior
| sort by TimeGenerated desc
PowerShell
# Blind Eagle RAT hunt script: persistence, C2 connections, and staging artifacts
# Run elevated on suspected endpoints or via your EDR/Intune script deployment.

$Indicators = @(
    'dccomicrat81.duckdns.org','creainovada.xyz','data-encoder.com',
    'consultanotificacionesjuridicas.site','simpmit.co','64.89.160.17','config.data'
)

Write-Host "`n=== [1] Registry Run-Key Persistence Check ===" -ForegroundColor Cyan
$runPaths = @(
    'HKCU:\Software\Microsoft\Windows\CurrentVersion\Run',
    'HKCU:\Software\Microsoft\Windows\CurrentVersion\RunOnce',
    'HKLM:\Software\Microsoft\Windows\CurrentVersion\Run'
)
foreach ($path in $runPaths) {
    if (Test-Path $path) {
        Get-ItemProperty $path | ForEach-Object {
            $_.PSObject.Properties | Where-Object {
                $_.Value -match 'AppData|Temp|Public|\.au3|\.a3x|AutoIt' -and
                $_.Name -notmatch '^PS'
            } | ForEach-Object {
                Write-Host "[!] Suspicious Run key: $($_.Name) = $($_.Value)" -ForegroundColor Red
            }
        }
    }
}

Write-Host "`n=== [2] Active Connections to Campaign C2 ===" -ForegroundColor Cyan
Get-NetTCPConnection -State Established -ErrorAction SilentlyContinue | ForEach-Object {
    $ip = $_.RemoteAddress
    if ($Indicators -contains $ip) {
        $proc = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue
        Write-Host "[!] C2 connection: $ip`:$($_.RemotePort) via $($proc.ProcessName) (PID $($_.OwningProcess))" -ForegroundColor Red
    }
    try {
        $dns = (Resolve-DnsName $ip -ErrorAction Stop).NameHost
        if ($dns -match 'duckdns\.org') {
            Write-Host "[!] DuckDNS C2 resolved: $dns ($ip)" -ForegroundColor Red
        }
    } catch {}
}

Write-Host "`n=== [3] DNS Cache for IOC Domains ===" -ForegroundColor Cyan
Get-DnsClientCache | Where-Object {
    $name = $_.Entry
    $Indicators | Where-Object { $name -like "*$_*" }
} | Format-Table Entry, Data, TimeToLive -AutoSize

Write-Host "`n=== [4] Scheduled Tasks Launching From User Directories ===" -ForegroundColor Cyan
Get-ScheduledTask | Where-Object {
    $_.Actions.Execute -match 'AppData|Temp|AutoIt' -or
    ($_.Actions.Arguments -match 'AppData|Temp|\.au3|\.a3x')
} | ForEach-Object {
    Write-Host "[!] Suspicious task: $($_.TaskName) -> $($_.Actions.Execute) $($_.Actions.Arguments)" -ForegroundColor Red
}

Write-Host "`n=== [5] AutoIt / .NET Injection Utility Artifacts ===" -ForegroundColor Cyan
$stagingDirs = @("$env:APPDATA","$env:LOCALAPPDATA\Temp","C:\Users\Public")
foreach ($dir in $stagingDirs) {
    Get-ChildItem $dir -Recurse -Include *.a3x,*.au3,AutoIt3*.exe -ErrorAction SilentlyContinue |
        Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-45) } |
        ForEach-Object { Write-Host "[!] Staged AutoIt artifact: $($_.FullName) ($($_.LastWriteTime))" -ForegroundColor Red }
}
Write-Host "`n=== Hunt complete. Escalate any [!] findings to IR immediately. ===" -ForegroundColor Cyan

Response Priorities

Immediate (0-4h):

  • Block all pulse IOCs at DNS sinkhole, web proxy, and egress firewall — the FQDN dccomicrat81.duckdns.org, IP 64.89.160.17, and all listed domains.
  • Block or alert on DuckDNS resolution enterprise-wide for non-IT assets; Blind Eagle's RAT stack leans on dynamic DNS.
  • Hunt for AutoIt execution from %APPDATA%/%TEMP% and hollowed RegAsm.exe/RegSvcs.exe network connections using the detections above.
  • Search email gateway and proxy logs for clicks on creainovada.xyz/instructions/ and the judicial-notification lure domain — clickers are presumed compromised.

24 hours:

  • This is credential-theft malware. Force password resets and revoke active sessions/tokens for every user on a host with confirmed AsyncRAT, DcRat, Remcos, or XWorm execution — including service accounts touched by those machines.
  • Check stealer log marketplaces and your credential-leak monitoring feed for corporate email addresses appearing in fresh logs; this actor's own exposure proves the logs circulate fast.
  • Reimage confirmed hosts rather than cleaning — multi-RAT deployments mean overlapping persistence.
  • Enable MFA enforcement review on any account whose credentials may have transited an infected government or contractor workstation.

1 week:

  • Restrict GitHub raw/raw-content access to approved repositories only, or proxy it — the actor abuses GitHub as a trusted loader staging layer and blanket allowlisting defeats egress controls.
  • Deploy application control (WDAC/AppLocker) rules blocking AutoIt interpreters and unsigned executables from user-writable paths.
  • Harden Office macro and script execution policies given the phishing entry vector; add DMARC anti-spoofing alerts for domains impersonating judicial-notification themes.
  • Subscribe your TIP to the OTX pulse and levelblue references for indicator rotation — Blind Eagle recycles infrastructure patterns aggressively.

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.