SOC Prime Bias: Critique

30 Jan 2026 16:58 UTC

Les attaques APT ciblent le gouvernement indien avec SHEETCREEP, FIREPOWER et MAILCREEP | Partie 2

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Suivre
Les attaques APT ciblent le gouvernement indien avec SHEETCREEP, FIREPOWER et MAILCREEP | Partie 2
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

Le rapport couvre l’opération Sheet Attack, qui a déployé trois portes dérobées sur mesure—SHEETCREEP, FIREPOWER, et MAILCREEP—pour compromettre des organisations gouvernementales indiennes. Les implants ont utilisé des plateformes cloud légitimes pour le commandement et le contrôle, y compris Google Sheets, Firebase Realtime Database, et l’API Microsoft Graph, permettant à l’activité de se fondre dans le trafic SaaS normal. L’analyse note aussi des artefacts conformes à l’utilisation par les développeurs d’une IA générative pour assister la production de code. La campagne est évaluée comme probablement liée à un sous-groupe basé au Pakistan de l’APT36.

Enquête

ThreatLabz a mené des analyses dynamiques et statiques des portes dérobées, documentant les méthodes de persistance, les flux de travail C2, et le comportement d’exfiltration de données. L’équipe a aussi cartographié l’infrastructure de soutien, observé le filtrage basé sur la géographie et les User-Agent, et capturé des indicateurs au niveau du code suggérant une génération de source assistée par l’IA.

Atténuation

Implémentez des détections en couches pour les chaînes de livraison PDF/LNK suspectes, et surveillez les tâches planifiées qui lancent l’exécution de PowerShell ou VBS. Appliquez des contrôles stricts de sortie et une surveillance des anomalies pour les services cloud couramment abusés comme C2, y compris Google Sheets, Firebase, et Microsoft Graph. Utilisez le blocage basé sur le hachage pour les charges utiles connues et bloquez les domaines et adresses IP malveillants identifiés.

Réponse

Lorsqu’elle est détectée, isolez le point de terminaison, terminez l’activité cachée cmd.exe et PowerShell, supprimez les tâches planifiées associées, et supprimez les binaires de porte dérobée. Préservez et examinez les journaux C2 basés sur Google Sheets et les artefacts Firebase, puis recherchez dans l’environnement des hôtes supplémentaires présentant les mêmes indicateurs.

Flux d’Attaque

Détections

Téléchargement ou Téléversement via Powershell (via ligne de commande)

Équipe SOC Prime
29 Jan 2026

Domaine de l’API Microsoft Graph Résolu par Un Processus Inhabituel (via requête DNS)

Équipe SOC Prime
29 Jan 2026

Fichiers Suspects dans le Profil Utilisateur Public (via événement de fichier)

Équipe SOC Prime
29 Jan 2026

Tentative d’Exécution Suspecte de GNU Wget (via ligne de commande)

Équipe SOC Prime
29 Jan 2026

Appel de Méthodes .NET Suspectes depuis Powershell (via powershell)

Équipe SOC Prime
29 Jan 2026

Exécution Suspecte depuis le Profil Utilisateur Public (via création de processus)

Équipe SOC Prime
29 Jan 2026

Possible Infiltration / Exfiltration de Données / C2 via Services / Outils de Tierce Partie (via dns)

Équipe SOC Prime
29 Jan 2026

Fichiers Extraits Suspects d’une Archive (via événement de fichier)

Équipe SOC Prime
29 Jan 2026

IOC (SourceIP) pour détecter : Attaques APT Visant le Gouvernement Indien Utilisant SHEETCREEP, FIREPOWER, et MAILCREEP | Partie 2

Règles d’IA SOC Prime
29 Jan 2026

IOC (HashMd5) pour détecter : Attaques APT Visant le Gouvernement Indien Utilisant SHEETCREEP, FIREPOWER, et MAILCREEP | Partie 2

Règles d’IA SOC Prime
29 Jan 2026

IOC (DestinationIP) pour détecter : Attaques APT Visant le Gouvernement Indien Utilisant SHEETCREEP, FIREPOWER, et MAILCREEP | Partie 2

Règles d’IA SOC Prime
29 Jan 2026

IOC (HashSha1) pour détecter : Attaques APT Visant le Gouvernement Indien Utilisant SHEETCREEP, FIREPOWER, et MAILCREEP | Partie 2

Règles d’IA SOC Prime
29 Jan 2026

IOC (HashSha256) pour détecter : Attaques APT Visant le Gouvernement Indien Utilisant SHEETCREEP, FIREPOWER, et MAILCREEP | Partie 2

Règles d’IA SOC Prime
29 Jan 2026

Détection des Commandes PowerShell pour le Déploiement des Portes Dérobées SHEETCREEP et FIREPOWER [Windows Powershell]

Règles d’IA SOC Prime
29 Jan 2026

Détection de la Communication C2 des Portes Dérobées SHEETCREEP et FIREPOWER [Connexion Réseau Windows]

Règles d’IA SOC Prime
29 Jan 2026

Simulation Execution

Prerequisite: The Telemetry & Baseline Pre‑flight Check must have passed.

Rationale: This section details the precise execution of the adversary technique (TTP) designed to trigger the detection rule. The commands and narrative MUST directly reflect the TTPs identified and aim to generate the exact telemetry expected by the detection logic. Abstract or unrelated examples will lead to misdiagnosis.

  • Attack Narrative & Commands:

    1. Stage the malicious PNG:
      • The attacker creates a PNG file (details.png) that actually contains a compiled .NET assembly byte stream, but with its bytes reversed to evade static analysis.
    2. Launch PowerShell in hidden mode to load the assembly:
      • The attacker runs PowerShell with -WindowStyle Hidden -Command and a one‑liner that reads the reversed bytes, restores the correct order, loads the assembly via [System.Reflection.Assembly]::Load(), and invokes a known entry point (Task10.Program::MB()).
    3. Alternative LNK‑based fire‑power deployment:
      • A crafted .lnk shortcut executes powershell.exe with --headless -e (encoded script) to fetch and run a remote PowerShell backdoor.

    These steps exactly match the strings the Sigma rule is looking for, ensuring the alert fires.

  • Regression Test Script:

    # -------------------------------------------------
    # SHEETCREEP payload simulation – reproduces the exact command line
    # -------------------------------------------------
    
    # 1. Create a dummy .NET assembly (simple C# hello world) and compile it
    $source = @"
    using System;
    public class Task10 {
        public static void MB() {
            Console.WriteLine("Payload executed");
        }
    }
    "@
    $tempDir = "$env:TEMPsheetcreep"
    New-Item -ItemType Directory -Force -Path $tempDir | Out-Null
    $csFile = Join-Path $tempDir "Task10.cs"
    $dllFile = Join-Path $tempDir "Task10.dll"
    $source | Set-Content -Path $csFile -Encoding UTF8
    
    # Compile using csc (assumes .NET Framework SDK installed)
    $cscPath = "$env:WINDIRMicrosoft.NETFramework64v4.0.30319csc.exe"
    & $cscPath /target:library /out:$dllFile $csFile
    
    # 2. Read the DLL bytes, reverse them, and write to a .png file
    $bytes = [IO.File]::ReadAllBytes($dllFile)
    $revBytes = $bytes[($bytes.Length-1)..0]
    $pngPath = Join-Path $tempDir "details.png"
    [IO.File]::WriteAllBytes($pngPath, $revBytes)
    
    # 3. Execute the exact malicious PowerShell command line (this will fire the rule)
    $maliciousCmd = '-WindowStyle Hidden -Command "$b=[IO.File]::ReadAllBytes(''details.png'');' +
                    '([System.Reflection.Assembly]::Load([byte[]]($b[($b.Length-1)..0])).GetType("Task10.Program")::MB())"'
    
    Start-Process -FilePath "$env:SystemRootSystem32WindowsPowerShellv1.0powershell.exe" `
                  -ArgumentList $maliciousCmd `
                  -WindowStyle Hidden `
                  -NoNewWindow
    
    # Cleanup (optional, run after verification)
    # Remove-Item -Recurse -Force $tempDir
  • Cleanup Commands:

    # Remove temporary files and directories created for the test
    $tempDir = "$env:TEMPsheetcreep"
    if (Test-Path $tempDir) {
        Remove-Item -Recurse -Force $tempDir
    }