Iscriviti al webinar gratuito del 12 Maggio per diventare Forensic Analyst! Scopri di più
Corso Ethical Hacker: accedi alla promozione fino al 30 Arile! Scopri di più
Quando un binario porta una firma digitale, l'utente — e spesso anche il software di sicurezza — tende a fidarsi. Gli avversari lo sanno bene e sfruttano questa fiducia implicita copiando metadati e informazioni di firma da eseguibili legittimi per applicarli a malware completamente diversi. Il risultato è un file che, a prima vista, sembra provenire da un vendor noto, ma che fallisce qualsiasi verifica crittografica della firma.
La tecnica si colloca nella fase di Defense Evasion (TA0005), dove l'obiettivo è confondere analisti, tool automatici e policy di sicurezza. Il meccanismo è semplice ma efficace: un certificato revocato, scaduto o semplicemente copiato da un altro binario non supera la validazione formale, eppure molte soluzioni di endpoint protection non controllano la validità della catena di certificazione in tempo reale, limitandosi a verificare la presenza del campo firma nel PE header.
Dai dati disponibili emergono 2 gruppi APT, 7 famiglie software e 1 mitigazione direttamente associati a questa tecnica. I certificati falsi spaziano da quelli che impersonano Microsoft e Broadcom a quelli intestati a Tencent Technology, dimostrando che gli attaccanti mirano ai nomi più riconoscibili dell'industria per massimizzare la credibilità del payload. Il rischio è trasversale: colpisce sistemi Windows (driver inclusi), macOS (bypass di Gatekeeper) e qualunque pipeline che non implementi una validazione rigorosa della firma.
La simulazione di questa tecnica in laboratorio è fondamentale per testare se gli strumenti di detection della propria organizzazione distinguono davvero una firma valida da una contraffatta. L'esercizio si articola in tre fasi: estrazione della firma da un binario legittimo, applicazione su un payload di test e verifica del comportamento degli endpoint agent.
Fase 1 — Estrazione e applicazione della firma con SigThief. Il tool SigThief (open source) permette di strappare la tabella Authenticode da un eseguibile firmato e incollarla su un altro binario. In un terminale Python:
python3 sigthief.py -i
Il file risultante conserva la struttura della firma ma fallisce ogni validazione crittografica, esattamente come il comportamento documentato per BADNEWS e NETWIRE.
Fase 2 — Verifica della firma invalida. Su Windows, Sigcheck di Sysinternals (gratuito) mostra il dettaglio della catena certificativa:
sigcheck.exe -e -v <output-con-firma-copiata.exe>
Il flag -e analizza le immagini eseguibili, -v verifica la firma contro il catalogo di Windows. L'output dovrebbe riportare lo stato "Signed" con verifica "A required certificate is not within its validity period" o simili. Su macOS il comando nativo equivalente è:
codesign --verify --verbose=4
Un risultato del tipo "invalid signature (code or signature have been modified)" conferma che il binario è stato manomesso, scenario coerente con il comportamento di WindTail.
Fase 3 — Test con certificato revocato. Per simulare quanto fatto da Windshift e SplatCloak, si può generare un certificato self-signed con OpenSSL, firmare un binario di test tramite osslsigncode (open source), e poi revocare manualmente il certificato nella CRL locale. L'operazione di firma:
osslsigncode sign -certs <cert.pem> -key <key.pem> -in <payload.exe> -out <payload-signed.exe>
Dopo l'esecuzione, verificate se il vostro EDR logga l'evento, se lo blocca, o se lo ignora silenziosamente. Quest'ultimo scenario è il più pericoloso ed è esattamente ciò che gli avversari sperano. Documentate ogni gap riscontrato e mappate i risultati sulla matrice di detection dell'organizzazione.
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo