SOC Prime Bias: High

01 Sep 2026 16:43 UTC

Le chargeur GitHub de Blind Eagle révèle un opérateur persistant

Author Photo
SOC Prime Team linkedin icon Suivre
Le chargeur GitHub de Blind Eagle révèle un opérateur persistant
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

Une enquête sur un chargeur de logiciels malveillants basé sur GitHub a dévoilé un pipeline de production sophistiqué opéré par un acteur de menace probablement lié à Blind Eagle. L’opérateur abuse de services légitimes, y compris GitHub, Bitbucket et AWS S3, pour héberger des charges malveillantes et du contenu de mise en scène. La campagne implique plusieurs familles de chevaux de Troie d’accès à distance (RAT), des modèles de phishing ciblant des institutions colombiennes, et des crypteurs commerciaux utilisés pour améliorer l’évasion.

Enquête

L’enquête a débuté en pivotant à partir d’une adresse e-mail trouvée dans les métadonnées d’un commit GitHub vers un journal d’un voleur divulgué. Cela a révélé une station de travail compromise nommée Ghost contenant plusieurs répertoires de construction RAT, des modèles de phishing, et des outils d’e-mail en masse. L’analyse du système a révélé le flux de travail de bout en bout de l’acteur, couvrant le développement d’appâts, la préparation de logiciels malveillants et la gestion de l’infrastructure.

Atténuation

Les défenseurs doivent configurer des filtres de messagerie pour identifier les archives protégées par mot de passe lorsque le mot de passe est fourni directement dans le corps du message. Les équipes de sécurité doivent surveiller les relations de processus suspectes, en particulier wscript.exe or cscript.exe lançant des sessions PowerShell cachées. Les alertes doivent également détecter des exécutions inhabituelles de InstallUtil.exe et restreindre l’accès sortant aux services de contenu brut tels que raw.githubusercontent.com.

Réponse

Si une activité malveillante est détectée, le point final affecté doit être isolé immédiatement pour empêcher tout mouvement latéral supplémentaire ou exfiltration de données. Les intervenants doivent traquer dans l’environnement les domaines de C2 connus et les hachages de fichiers malveillants. Les journaux de passerelles de messagerie doivent également être examinés pour des appâts de phishing à thème judiciaire ou fiscal similaires, et les identifiants doivent être réinitialisés pour les utilisateurs qui ont interagi avec des liens suspects.

Flux d’attaque

Nous mettons encore à jour cette partie.

Détections

Commandement et contrôle suspect par demande DNS de domaine de premier niveau (TLD) inhabituel (via dns)

Équipe de SOC Prime
01 sep 2026

Infiltration/exfiltration de données possible / C2 via des services/outils tiers (via proxy)

Équipe de SOC Prime
31 août 2026

Infiltration/exfiltration de données possible / C2 via des services/outils tiers (via dns)

Équipe de SOC Prime
31 août 2026

Service DNS dynamique possible a été contacté (via dns)

Équipe de SOC Prime
31 août 2026

IOC (SourceIP) à détecter : Still Circling : Inside the Operator Behind Blind Eagle’s GitHub Loader

Règles AI de SOC Prime
31 août 2026

IOC (DestinationIP) à détecter : Still Circling : Inside the Operator Behind Blind Eagle’s GitHub Loader

Règles AI de SOC Prime
31 août 2026

Détection des connexions de domaine enregistrées par DuckDNS [Réseau]

Règles AI de SOC Prime
31 août 2026

Exécution d’InstallUtil et écriture de fichier de script pour injection de processus [Création de processus Windows]

Règles AI de SOC Prime
31 août 2026

Exécution de PowerShell par Wscript avec fenêtre cachée et contournement [Windows Powershell]

Règles AI de SOC Prime
31 août 2026

Exécution de simulation

Prérequis : Le contrôle pré-vol de télémétrie et de ligne de base doit avoir réussi.

Justification : Cette section détaille l’exécution précise de la technique de l’adversaire (TTP) conçue pour déclencher la règle de détection. Les commandes et le récit DOIVENT refléter directement les TTP identifiés et viser à générer la télémétrie exacte attendue par la logique de détection. Les exemples abstraits ou non liés entraîneront un mauvais diagnostic.

  • Narratif et commandes d’attaque : Un adversaire a obtenu un accès initial via une pièce jointe de hameçonnage ciblée. Pour établir la persistance et préparer l’injection de processus, l’attaquant utilise un script PowerShell pour déposer une charge malveillante dans le %ProgramData% répertoire pour échapper à la surveillance standard du profil utilisateur. Après le dépôt du fichier, l’attaquant exécute InstallUtil.exe (un utilitaire .NET légitime) pour exécuter une DLL malveillante, tentant de contourner la liste blanche des applications en utilisant un binaire Microsoft de confiance.

  • Script de test de régression :

    # Script de Simulation : Déclenchement de InstallUtil et écriture de fichier dans ProgramData
    
    $ErrorActionPreference = "Stop"
    $TargetFile = "$env:ProgramDatamalicious_payload.ps1"
    $InstallUtilPath = "$env:SystemRootMicrosoft.NETFramework64v4.0.30319InstallUtil.exe"
    
    Write-Host "[*] Démarrage de la simulation de validation de détection..." -ForegroundColor Cyan
    
    # Étape 1 : Simuler l'écriture de script via PowerShell dans %ProgramData% (Déclenche sélection_scriptwriting)
    Write-Host "[*] Étape 1 : Dépôt de la charge utile à $TargetFile" -ForegroundColor Yellow
    "Write-Host 'Charge utile malveillante exécutée'" | Out-File -FilePath $TargetFile -Encoding ascii
    
    # Étape 2 : Simuler l'exécution de InstallUtil.exe (Déclenche sélection_installutil)
    # Nous utilisons un argument factice pour simuler une utilisation semblant légitime
    Write-Host "[*] Étape 2 : Exécution de InstallUtil.exe" -ForegroundColor Yellow
    Start-Process -FilePath $InstallUtilPath -ArgumentList "/U" -Wait
    
    Write-Host "[+] Simulation terminée. Vérifiez les alertes SIEM." -ForegroundColor Green
  • Commandes de nettoyage :

    # Script de nettoyage
    $TargetFile = "$env:ProgramDatamalicious_payload.ps1"
    if (Test-Path $TargetFile) {
        Remove-Item $TargetFile -Force
        Write-Host "[+] Nettoyé $TargetFile" -ForegroundColor Green
    } else {
        Write-Host "[-] Fichier cible non trouvé, rien à nettoyer." -ForegroundColor Red
    }