Introduzione all’uso di COM da parte delle minacce Windows
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
Questa ricerca esamina come il malware abusi il Windows Component Object Model (COM) per supportare azioni malevole come movimento laterale, persistenza e evasione delle difese. Spiega come COM permetta a diversi linguaggi di programmazione di interagire con i servizi Windows e mostra come gli attori delle minacce nascondano la funzionalità dietro chiamate indirette a vtbl tramite interfacce COM. L’articolo include studi di caso tecnici su famiglie di malware come Qakbot, Gh0stRAT, Attor e WarmCookie per dimostrare questi metodi in pratica.
Indagine
L’indagine si concentra sul reversing di binari ricchi di COM per tradurre GUID opachi e offset di vtbl in classi Windows significative e chiamate a metodi. I ricercatori hanno usato strumenti come OleView.NET e ComView per ispezionare le registrazioni del registro e le definizioni delle interfacce. Gli studi di caso hanno mostrato che analizzando le API di attivazione COM è possibile svelare il vero scopo e comportamento di un sample di malware.
Mitigazione
L’articolo è focalizzato più sull’analisi e rivelazione che su misure specifiche di protezione. Tuttavia, suggerisce che monitorare comportamenti insoliti di attivazione COM e controllare le voci del registro legate a CLSID e IID possa migliorare la visibilità. Una forte comprensione dei servizi esposti da COM come BITS e Task Scheduler è anche importante per un monitoraggio efficace e caccia alle minacce.
Risposta
Quando viene identificata un’attività COM sospettosa, i responsabili dovrebbero analizzare il processo che inizia l’attivazione COM e determinare quale CLSID e IID vengano chiamati. È anche importante tracciare il processo genitore e cercare task pianificati o lavori BITS correlati. Strumenti di strumentazione dinamica e log focalizzati su COM possono aiutare a ricostruire l’intera catena di attività API malevole.
"flowchart TD step_initial_access["Accesso Iniziale: Qakbot distribuito tramite email di phishing per servire da caricatore."] step_c2_ingress["C2 e Trasferimento Strumenti Ingresso: Attor utilizza BITS (IBackgroundCopyJob) per una consegna affidabile del payload."] step_persistence["Persistenza: Gh0stRAT e WarmCookie utilizzano le interfacce COM del Task Scheduler (ITaskService) per creare task pianificati."] rules_for_persistence("<b>Nome Regola</b>: Possibile Task Pianificato tramite Oggetto COM (tramite cmdline)<br/><b>ID Regola</b>: 75015b1f-6813-4288-aa82-b92bb31d8473") step_lateral_movement["Movimento Laterale e Esecuzione Remota: Utilizzo di DCOM per l’attivazione remota di oggetti attraverso la rete."] step_initial_access –>|porta_a| step_c2_ingress step_c2_ingress –>|porta_a| step_persistence step_persistence –>|porta_a| step_lateral_movement step_persistence -.->|rilevato_da| rules_for_persistence "
Flusso d’Attacco
Rilevazioni
Possibile Bypass UAC tramite Oggetti COM (via cmdline)
Visualizza
Possibile Esecuzione di Script VB Inline (via process_creation)
Visualizza
Possibile Movimento Laterale via DCOM [Excel/Visio/Word/Access/PowerPoint.Application] (via cmdline)
Visualizza
Possibile Task Pianificato tramite Oggetto COM (via cmdline)
Visualizza
Rileva Creazione di Oggetti COM con PowerShell e WMI per Automazione e Pianificazione Task [Windows Powershell]
Visualizza
Rilevazione di Inizializzazione Sicurezza COM e DCOM [Creazione Processo Windows]
Visualizza
Esecuzione Simulativa
Prerequisito: Il Controllo Pre-volo di Telemetria & Baseline deve essere superato.
Razionale: Questa sezione descrive l’esecuzione precisa della tecnica avversaria (TTP) progettata per innescare la regola di rilevazione. I comandi e la narrativa DEVONO riflettere direttamente i TTP identificati e puntare a generare la telemetria esatta prevista dalla logica di rilevamento. Esempi astratti o non correlati porteranno a diagnosi errate.
-
Narrativa & Comandi Attacco: L’avversario intende eseguire movimento laterale o manipolazione di servizio remoto. Per eludere la semplice rilevazione basata su firme che cerca pattern di strumenti comuni, utilizzano un’utilità specializzata (qui simulata come
example.exe) e passano argomenti specifici che innescano l’inizializzazione della sicurezza COM/DCOM. PassandoCoCreateInstanceExandCoInitializeSecuritycome argomenti a riga di comando, l’attaccante cerca di configurare il contesto di sicurezza per un’interfaccia COM fuori processo per facilitare l’interazione remota. -
Script Test di Regressione:
# NOTA: Questo script presuppone che 'example.exe' esista in System32 come per la logica della regola. # Poiché è un segnaposto, creeremo un file dummy per simulare l'eseguibile per il test. $targetPath = "C:WindowsSystem32example.exe" # Crea un eseguibile dummy se non esiste per scopi di simulazione if (-not (Test-Path $targetPath)) { Write-Host "Creando eseguibile dummy per la simulazione..." New-Item -Path $targetPath -ItemType File -Force } # Simula l'esecuzione della riga di comando sospetta # Questo comando è progettato per innescare la selezione della riga di comando della regola di rilevazione Start-Process -FilePath $targetPath -ArgumentList "--action CoCreateInstanceEx --setup CoInitializeSecurity" -Wait -
Comandi di Pulizia:
# Rimuovere l'eseguibile dummy creato per la simulazione Remove-Item -Path "C:WindowsSystem32example.exe" -Force