E4del e PINHOLE Abusano di FTP Banner Dead Drops per C2
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
Gli attori delle minacce stanno abusando dei banner di saluto dei server FTP come risolutori di dead-drop per distribuire il malware E4del e PINHOLE. Sfruttando la fase di pre-autenticazione del protocollo FTP, gli attaccanti possono passare comandi direttamente in un interprete lato vittima senza trasferire file tradizionali. Questa tecnica consente catene di infezione nascoste che vivono sui sistemi per evadere molti controlli di sicurezza basati sui file.
Indagine
L’indagine ha esaminato tre varianti di consegna: instradamento dell’output FTP negli interpreti di comandi, uso di WebDAV su HTTP per l’esecuzione di secondo stadio e affidamento a download basati su BITS. I ricercatori hanno identificato un insieme di host FTP che fungono da reindirizzatori e nodi di consegna del payload. L’analisi di E4del e PINHOLE ha rivelato anche tecniche come impersonificazione basata su Electron, fluttuazione del codice shell e chiamate di sistema dirette progettate per bypassare il hooking delle API.
Mitigazione
I difensori dovrebbero enfatizzare il rilevamento comportamentale invece di affidarsi a hash di file, in particolare monitorando le connessioni TCP/21 in uscita seguite dall’esecuzione immediata di un interprete di comandi. Controlli rigorosi su conhost.exe, bitsadmin.exe, e percorsi UNC basati su WebDAV possono ridurre l’esposizione. I team di sicurezza dovrebbero anche monitorare i processi figlio sospetti generati da ApplicationFrameHost.exe.
Risposta
Se viene rilevata questa attività, gli endpoint interessati dovrebbero essere isolati immediatamente per prevenire ulteriori esecuzioni di comandi o esfiltrazioni di dati. I rispondenti dovrebbero eseguire forense sulla memoria per identificare codice iniettato, soprattutto nei processi legittimi come ApplicationFrameHost.exe. I log di Script Block di PowerShell dovrebbero anche essere esaminati per ricostruire i comandi ricevuti attraverso il dead drop FTP e determinare l’entità della compromissione.
Flusso di Attacco
Stiamo ancora aggiornando questa parte.
Rilevamenti
LOLBAS WScript / CScript (via process_creation)
Possibili Punti di Persistenza [ASEPs – Software/NTUSER Hive] (via registry_event)
Download o Upload tramite Powershell (via cmdline)
LOLBAS Conhost (via cmdline)
Un archivio è stato estratto in una directory sospetta usando Powershell (via powershell)
IOC (SourceIP) per rilevare: FTP Banner Dead Drops: Una guida sul campo per E4del e PINHOLE
IOC (DestinationIP) per rilevare: FTP Banner Dead Drops: Una guida sul campo per E4del e PINHOLE
Uso sospetto di FTP e PowerShell con Conhost [Creazione Processo Windows]
Rileva FTP Banner Dead Drop per i Trojan di Accesso Remoto E4del e PINHOLE [Connessione di Rete Windows]
Esecuzione di Simulazione
-
Narrativa di Attacco e Comandi: L’avversario mira a recuperare un comando tramite un “dead drop” FTP. Invece di scaricare un file, l’avversario avvia una connessione a un server FTP controllato. Quando l’interprete (PowerShell) si connette, legge il banner del server, che contiene il comando di fase successiva codificato. Questo evita la firma del “download di file” e si affida alla stretta di mano del protocollo stesso per consegnare il trigger. Useremo PowerShell per tentare una connessione a un ascoltatore sulla porta 21.
-
Script di Test di Regressione:
# Simulazione: PowerShell che tenta di connettersi a un servizio FTP sulla Porta 21 # Questo imita il comportamento del 'dead drop' di E4del/PINHOLE $TargetIP = "127.0.0.1" # In un test reale, indirizza a un ascoltatore controllato $TargetPort = 21 Write-Host "[+] Avvio della Simulazione: Connessione al Dead Drop FTP Banner..." -ForegroundColor Cyan try { # Usando System.Net.Sockets per attivare un evento di Connessione di Rete tramite PowerShell $client = New-Object System.Net.Sockets.TcpClient $client.Connect($TargetIP, $TargetPort) Write-Host "[!] Successo: Connessione stabilita. Dovrebbe essere generata la telemetria." -ForegroundColor Green $client.Close() } catch { Write-Host "[-] Connessione fallita (previsto se nessun ascoltatore è attivo), ma la telemetria dovrebbe comunque esistere." -ForegroundColor Yellow } -
Comandi di Pulizia:
# Pulizia: Assicurarsi che non rimangano connessioni o processi residui Stop-Process -Name "powershell" -ErrorAction SilentlyContinue Write-Host "[+] Pulizia Completa." -ForegroundColor Green