SOC Prime Bias: High

21 Sep 2026 19:58 UTC

Lancio di Mining di Criptovalute In-Memory con PowerShell Memorizzato nel Registro

Author Photo
SOC Prime Team linkedin icon Segui
Lancio di Mining di Criptovalute In-Memory con PowerShell Memorizzato nel Registro
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Sommario

Una catena di infezione multi-stadio utilizza tecniche sofisticate di offuscamento per distribuire un miner di criptovaluta. L’attacco memorizza i payload nel Registro di sistema e sfrutta i record DNS TXT insieme alla steganografia in file PNG e WAV per fornire fasi successive. Il payload finale carica un assembly .NET direttamente in memoria per eseguire il mining di criptovalute attraverso l’ecosistema XMRig.

Indagine

Gli analisti hanno investigato su avvisi di esecuzione ripetuta di PowerShell e hanno scoperto una strategia di occultamento del payload a strati. La catena di infezione ricostruisce contenuti dannosi da contenitori non convenzionali, inclusi dati di pixel di immagine e morsetti di file audio. L’esecuzione procede da script PowerShell memorizzati nel Registro attraverso più fasi fino a caricare infine un miner di criptovaluta .NET direttamente in memoria.

Mitigazione

Le organizzazioni dovrebbero imporre politiche di esecuzione PowerShell rigorose e monitorare modifiche sospette al Registro associate con la memorizzazione dei payload. Le soluzioni EDR dovrebbero rilevare il caricamento di assembly .NET in memoria e le query anomale dei record DNS TXT. Dovrebbe essere implementato anche l’allowlisting delle applicazioni per prevenire driver in modalità kernel non autorizzati come WinRing0.sys dal caricamento.

Risposta

Se viene rilevata attività malevola, gli host interessati dovrebbero essere isolati immediatamente per fermare ulteriori comunicazioni C2 e il mining di criptovalute. I soccorritori dovrebbero eseguire una scansione forense per task pianificati non autorizzati, sottoscrizioni WMI ed esclusioni di Microsoft Defender. Anche i log di rete dovrebbero essere rivisti per connessioni a domini C2 noti e query DNS-over-HTTPS sospette.

Flusso di Attacco

Stiamo ancora aggiornando questa parte.

Rilevamenti

Stringhe Powershell Sospette (tramite powershell)

SOC Prime Team
21 Set 2026

Richiamare Metodi .NET Sospetti da Powershell (tramite powershell)

SOC Prime Team
21 Set 2026

File di Immagine Creato da Processo Sospetto (tramite file_event)

SOC Prime Team
21 Set 2026

Canale di Comando e Controllo DoH e DNS (tramite proxy)

SOC Prime Team
21 Set 2026

IOC (HashMd5) per rilevare: Da PowerShell Memorizzato nel Registro a Mining di Criptovaluta in Memoria: Una Catena di Infezione Multi-Stadio

Regole AI di SOC Prime
21 Set 2026

IOC (SourceIP) per rilevare: Da PowerShell Memorizzato nel Registro a Mining di Criptovaluta in Memoria: Una Catena di Infezione Multi-Stadio

Regole AI di SOC Prime
21 Set 2026

IOC (DestinationIP) per rilevare: Da PowerShell Memorizzato nel Registro a Mining di Criptovaluta in Memoria: Una Catena di Infezione Multi-Stadio

Regole AI di SOC Prime
21 Set 2026

Rileva DNS-over-HTTPS e Comunicazione POST C2 HTTP/HTTPS [Connessione di Rete Windows]

Regole AI di SOC Prime
21 Set 2026

Sottoscrizione Permanente di Evento WMI per Esecuzione PowerShell Basata sul Registro [Evento del Registro di Windows]

Regole AI di SOC Prime
21 Set 2026

Offuscamento di PowerShell ed Esecuzione Occulta [Windows Powershell]

Regole AI di SOC Prime
21 Set 2026

Esecuzione della Simulazione

  • Narrazione di Attacco & Comandi: L’avversario cerca di stabilire una persistenza a lungo termine sull’host compromesso. Invece di utilizzare una comune chiave ‘Run’, optano per una sottoscrizione di evento permanente WMI più furtiva. L’attaccante crea una CommandLineEventConsumer. Questo consumer è configurato per eseguire powershell.exe. Per evitare l’analisi statica della riga di comando, il payload o la configurazione malevola effettiva è memorizzata in un percorso del Registro non standard: HKLM:Softwareuf42a9660377vstdfehzr. Quando l’evento WMI si attiva (simulato qui da un evento di sistema), il processo PowerShell si avvierà, facendo riferimento alla chiave di registro specifica, attivando così la regola di rilevamento.

  • Script di Test di Regressione:

    # Script di Simulazione: Esecuzione PowerShell Basata su Registro WMI
    # Questo script crea la chiave di registro specifica e la sottoscrizione WMI necessaria per attivare la regola.
    
    $regPath = "HKLM:Softwareuf42a9660377"
    $regValueName = "vstdfehzr"
    $regValueData = "Invoke-Expression (Get-ItemProperty -Path '$regPath$regValueName').Payload"
    
    # 1. Crea la chiave di registro sospetta e il valore
    if (-not (Test-Path $regPath)) {
        New-Item -Path $regPath -Force | Out-Null
    }
    New-ItemProperty -Path $regPath -Name $regValueName -Value "Write-Host 'Payload Malevolo Attivato!'" -PropertyType String -Force | Out-Null
    
    # 2. Crea Sottoscrizione Permanente di Evento WMI
    # Utilizziamo un Filtro per attivare su un evento comune (es. uptime/avvio sistema) o simulare tramite creazione di consumer
    $filterName = "Win32_LocalTimeFilter"
    $consumerName = "Win32_CommandLineConsumer"
    $subscriptionName = "WmiPersistenceSubscription"
    
    # Crea Filtro (Si attiva ogni minuto a scopo di simulazione)
    $filterArgs = @{
        Name = $filterName
        QueryLanguage = "WQL"
        Query = "SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_LocalTime'"
    }
    $filter = Set-WmiInstance -Class __EventFilter -Arguments $filterArgs
    
    # Crea Consumer (Il comando PowerShell che fa riferimento al percorso specifico del registro)
    $commandLine = "powershell.exe -Command `"$regValueData`""
    $consumerArgs = @{
        Name = $consumerName
        CommandLineTemplate = $commandLine
    }
    $consumer = Set-WmiInstance -Class CommandLineEventConsumer -Arguments $consumerArgs
    
    # Collega Filtro e Consumer
    Set-WmiInstance -Class __FilterToConsumerBinding -Arguments @{
        Filter = $filter
        Consumer = $consumer
    }
    
    Write-Host "[+] Simulazione: Sottoscrizione WMI e Chiave di Registro create con successo."
    Write-Host "[+] In attesa che l'evento WMI attivi l'esecuzione di PowerShell..."
    # Nota: In un ambiente reale, aspettiamo l'evento.
    # A scopo di test, la regola spesso cerca la *creazione* o l'*attivazione dell'evento*.
  • Comandi di Pulizia:

    # Script di Pulizia
    Write-Host "[!] Pulizia degli artefatti di simulazione..."
    
    # 1. Rimuovi Sottoscrizione WMI
    Get-WmiObject -Namespace rootsubscription -Class __EventFilter -Filter "Name='Win32_LocalTimeFilter'" | Remove-WmiObject
    Get-WmiObject -Namespace rootsubscription -Class CommandLineEventConsumer -Filter "Name='Win32_CommandLineConsumer'" | Remove-WmiObject
    Get-WmiObject -Namespace rootsubscription -Class __FilterToConsumerBinding | Where-Object { $_.Filter -match "Win32_LocalTimeFilter" } | Remove-WmiObject
    
    # 2. Rimuovi Chiave di Registro
    Remove-Item -Path "HKLM:Softwareuf42a9660377" -Recurse -Force
    
    Write-Host "[+] Pulizia completata."