SOC Prime Bias: Critico

29 Gen 2026 18:34

Attacchi APT prendono di mira il governo indiano con GOGITTER, GITSHELLPAD e GOSHELL | Parte 1

Author Photo
Ruslan Mikhalov Capo della Ricerca sulle Minacce presso SOC Prime linkedin icon Segui
Attacchi APT prendono di mira il governo indiano con GOGITTER, GITSHELLPAD e GOSHELL | Parte 1
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Sommario

Zscaler ThreatLabz ha scoperto due campagne – Gopher Strike e Sheet Attack gestite da un gruppo APT collegato al Pakistan che ha come obiettivo le organizzazioni governative indiane. L’attività introduce strumenti basati su Golang, tra cui GOGITTER, GITSHELLPAD e GOSHELL, per mettere in scena payload, utilizzare repository GitHub privati per C2 e infine distribuire un beacon di Cobalt Strike. L’accesso iniziale è ottenuto attraverso spearphishing con PDF che attirano le vittime a scaricare file ISO dannosi. Gli operatori stratificano più metodi di evasione, inclusi controlli ambientali, padding dei file e persistenza di task pianificati.

Indagine

L’analisi ha mostrato che GOGITTER verifica la presenza di uno script windows_api.vbs, lo crea se assente e registra un task pianificato per eseguirlo ogni 50 minuti. GITSHELLPAD utilizza l’API REST di GitHub per il recupero di comandi e l’esfiltrazione di dati, mentre GOSHELL carica condizionalmente un beacon di Cobalt Strike solo su host selezionati. Gli strumenti incorporano URL codificati e stringhe user agent per ostacolare l’analisi automatizzata e il sandboxing. Le campagne hanno anche utilizzato repository GitHub privati ​​per ospitare payload di supporto come adobe_update.zip.

Mitigazione

Blocca l’esecuzione di binari Golang non fidati/senza firma e applica rigorose liste di permessi e revisioni per la creazione di task pianificati. Monitora il traffico in uscita verso domini noti pericolosi e verso le risorse GitHub utilizzate come C2, compreso un uso anomalo dell’API GitHub da punti finali non sviluppatori. Rafforza la sicurezza delle email scansionando gli allegati PDF alla ricerca di offuscamenti e bloccando i link che reindirizzano ai download ISO. Le rilevazioni sugli endpoint dovrebbero allertare sulla creazione dell’windows_api.vbs e sui modelli di esecuzione periodica di task coerenti con intervalli di 50 minuti.

Risposta

Se si rilevano IOCs, isola il punto finale, interrompi e rimuovi il task pianificato e elimina gli artefatti maligni associati. Effettua una revisione forense dell’attività C2 basata su GitHub, preserva i log di esecuzione dei comandi e rimuovi eventuali contenuti esfiltrati o caricati laddove possibile. Reimposta le credenziali per gli account compromessi, effettua una ricerca per movimenti laterali e aggiorna le rilevazioni con indicatori estratti per identificare attività correlata nell’intero ambiente.

graph TB %% Class definitions classDef action fill:#99ccff classDef technique fill:#b3e5fc classDef tool fill:#ffe0b2 classDef malware fill:#ffcccb classDef process fill:#d5f5e3 classDef operator fill:#ff9900 %% Nodes – Attack Steps step1_initial_access[“<b>Tecnica</b> – T1204.002 Esecuzione da Parte dell’Utente: File Dannoso<br/><b>Descrizione</b>: L’utente esegue un file dannoso distribuito tramite ingegneria sociale.<br/><b>Dettaglio</b>: PDF di spear-phishing mascherato da aggiornamento Adobe Acrobat; il clic su un pulsante falso scarica un ISO con il payload.”] class step1_initial_access technique step2_recon[“<b>Tecnica</b> – T1593.003 Ricerca su Siti Web/Domini Aperti: Repository di Codice<br/><b>Descrizione</b>: L’avversario raccoglie informazioni da siti pubblici di hosting del codice.<br/><b>Dettaglio</b>: Gli attori della minaccia creano repository GitHub privati che successivamente ospitano C2 e payload.”] class step2_recon technique step3_exec_vbscript[“<b>Tecnica</b> – T1059.005 Interprete di Comandi e Script: Visual Basic<br/><b>Descrizione</b>: Esegue script Visual Basic per avviare comandi.<br/><b>Dettaglio</b>: GOGITTER rilascia windows_api.vbs ed esegue lo script per recuperare ulteriori comandi da un server web.”] class step3_exec_vbscript technique step4_exec_cmd[“<b>Tecnica</b> – T1059.003 Interprete di Comandi e Script: Prompt dei Comandi di Windows<br/><b>Descrizione</b>: Utilizza il prompt dei comandi nativo di Windows per l’esecuzione.<br/><b>Dettaglio</b>: GITSHELLPAD esegue comandi come net user, systeminfo, tasklist e curl.”] class step4_exec_cmd technique step5_persistence[“<b>Tecnica</b> – T1053.005 Attività/Job Pianificato: Attività Pianificata<br/><b>Descrizione</b>: Crea un’attività pianificata per eseguire codice dannoso in modo ricorrente.<br/><b>Dettaglio</b>: GOGITTER crea un’attività denominata MicrosoftEdge_ConfigurationUpdate_<random> che esegue il VBScript ogni 50 minuti.”] class step5_persistence technique step6_masquerade[“<b>Tecnica</b> – T1036.008 Mascheramento: Tipo di File Mascherato e T1036.007 Doppia Estensione di File<br/><b>Descrizione</b>: I file vengono denominati per apparire legittimi e nascondere il vero tipo.<br/><b>Dettaglio</b>: File rilasciati con nomi windows_api.vbs, adobe_update.zip, edgehost.exe.”] class step6_masquerade technique step7_obfuscation[“<b>Tecnica</b> – T1027.015 File o Informazioni Offuscati: Compressione<br/><b>Descrizione</b>: Utilizza la compressione per nascondere i payload dannosi.<br/><b>Dettaglio</b>: Payload confezionati in archivi ZIP/RAR ospitati nel repository GitHub privato.”] class step7_obfuscation technique step8_account_disc[“<b>Tecnica</b> – T1087.001 Individuazione degli Account: Account Locale<br/><b>Descrizione</b>: Enumera gli account utente locali sul sistema.<br/><b>Dettaglio</b>: GITSHELLPAD esegue \”net user\” per elencare gli account.”] class step8_account_disc technique step9_network_disc[“<b>Tecnica</b> – T1016.001 Individuazione della Configurazione di Rete del Sistema: Individuazione della Connettività Internet<br/><b>Descrizione</b>: Verifica la connettività Internet e gli endpoint C2 raggiungibili.<br/><b>Dettaglio</b>: Usa curl per testare la connettività verso i domini dell’attaccante.”] class step9_network_disc technique step10_collection[“<b>Tecnica</b> – T1560.002 Archiviazione dei Dati Raccolti: Archiviazione tramite Libreria<br/><b>Descrizione</b>: Comprimi i dati raccolti in archivi per un uso successivo.<br/><b>Dettaglio</b>: Strumenti post-compromissione forniti come archivi ZIP/RAR.”] class step10_collection technique step11_c2[“<b>Tecnica</b> – T1102.001 Servizio Web: Dead Drop Resolver<br/><b>Descrizione</b>: Comunica con il C2 tramite un servizio web che funge da dead-drop.<br/><b>Dettaglio</b>: Utilizza l’API REST di GitHub per caricare info.txt e interrogare command.txt.”] class step11_c2 technique step12_exfil[“<b>Tecnica</b> – T1567.001 Esfiltrazione tramite Servizio Web: Esfiltrazione verso Repository di Codice<br/><b>Descrizione</b>: Esfiltra i dati caricandoli in un repository di codice.<br/><b>Dettaglio</b>: Il file info.txt raccolto viene caricato in un repository GitHub controllato dall’attaccante.”] class step12_exfil technique %% Connections – Attack Flow step1_initial_access –>|porta_a| step2_recon step2_recon –>|porta_a| step3_exec_vbscript step3_exec_vbscript –>|porta_a| step4_exec_cmd step4_exec_cmd –>|porta_a| step5_persistence step5_persistence –>|porta_a| step6_masquerade step6_masquerade –>|porta_a| step7_obfuscation step7_obfuscation –>|porta_a| step8_account_disc step8_account_disc –>|porta_a| step9_network_disc step9_network_disc –>|porta_a| step10_collection step10_collection –>|porta_a| step11_c2 step11_c2 –>|porta_a| step12_exfil

Flusso di Attacco

Rilevamenti

Esecuzione di Simulazione

Prerequisito: Il Controllo Pre-volo di Telemetria & Baseline deve essere passato.

Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTP identificati e mirano a generare la telemetria esatta prevista dalla logica di rilevamento. Esempi astratti o non correlati porteranno a diagnosi errate.

  • Narrazione & Comandi di Attacco:
    Un gruppo APT distribuisce il backdoor GITSHELLPAD (edgehost.exe) su un host Windows compromesso. Per confondersi con il comportamento di sistema previsto, l’attaccante lancia il backdoor tramite la shell dei comandi di Windows (cmd /c). Dopo aver completato il suo payload (ad es. scaricando moduli aggiuntivi), il backdoor esegue una “pulizia” terminando il proprio processo usando taskkill /F /PID <PID>. Entrambe le azioni generano eventi di creazione di processi che contengono il nome del binario e le sottostringe richieste della linea di comando, soddisfacendo la regola Sigma.

  • Script di Test di Regressione:

    # -------------------------------------------------
    # Simula l'esecuzione del backdoor GITSHELLPAD & pulizia
    # -------------------------------------------------
    # 1. Droppa un placeholder edgehost.exe (qualsiasi eseguibile benigno)
    $src = "$env:SystemRootSystem32notepad.exe"
    $dst = "$env:TEMPedgehost.exe"
    Copia-Item -Path $src -Destination $dst -Force
    
    # 2. Lancia edgehost.exe tramite cmd /c (abbina lo schema cmd_cmd)
    $proc = Start-Process -FilePath "cmd.exe" -ArgumentList "/c `"$dst`"" -PassThru
    
    # 3. Attendi alcuni secondi per assicurarti che il processo sia vivo
    Start-Sleep -Secondi 5
    
    # 4. Pulizia: termina il processo edgehost.exe usando taskkill (abbina lo schema taskkill_cmd)
    $pid = $proc.Id
    cmd /c "taskkill /F /PID $pid"
    
    # 5. Rimuovi il file droppato
    Remove-Item -Path $dst -Force
  • Comandi di Pulizia:

    # Assicurati che tutte eventuali istanze stray di edgehost.exe siano terminate
    Get-Process -Nome "edgehost" -ErrorAction SilentlyContinue | Stop-Process -Force
    
    # Elimina il binario temporaneo se ancora presente
    $temporaryPath = "$env:TEMPedgehost.exe"
    if (Test-Path $temporaryPath) { Remove-Item $temporaryPath -Force }