Installazione Certificati Digitali: Install Digital Certificate (T1608.003)
L'installazione di certificati digitali SSL/TLS è una tecnica di preparazione che rientra nella tattica TA0042 (Resource Development), la fase in cui l'attaccante costruisce le risorse che sosterranno le operazioni successive. Un certificato digitale è un file che lega una chiave pubblica a un'identità, firmato da un'entità che ne attesta la validità: una volta caricato su un server e configurato correttamente, abilita comunicazioni cifrate e trasmette un'impressione di legittimità a chi si connette.
Gli avversari sfruttano questo meccanismo installando certificati su infrastruttura sotto il proprio controllo, acquisita o precedentemente compromessa. Gli scopi principali sono due: cifrare il traffico di comando e controllo (spesso combinando crittografia asimmetrica con protocolli web) e conferire credibilità a siti di raccolta credenziali, dove il lucchetto verde nel browser abbassa la diffidenza della vittima. L'installazione può riguardare web server ma anche mail server.
I certificati possono essere legittimi (sottratti a organizzazioni vittima), acquistati, oppure generati come self-signed. Trattandosi di attività che avviene fuori dal perimetro difensivo aziendale, l'impatto è indiretto ma abilitante: un certificato ben scelto rende il phishing più convincente e il canale C2 più difficile da ispezionare. La rilevazione si sposta quindi verso l'osservazione delle risorse quando vengono effettivamente usate nelle fasi di Initial Access e Command and Control, sfruttando le tracce lasciate su Internet piuttosto che sull'endpoint.
Trattandosi di una tecnica pre-compromise, l'obiettivo del red team è simulare in laboratorio la predisposizione di infrastruttura fidata, evitando di toccare terze parti reali. Il flusso tipico parte dalla generazione di un certificato e prosegue con la sua installazione sul server C2 o sul finto portale di raccolta credenziali.
Per i certificati validi e gratuiti in un ambiente controllato si usa Certbot (open source) con ACME, che automatizza l'emissione e il rinnovo su domini di test posseduti dal team. In alternativa, per un self-signed rapido in lab, openssl (open source) resta lo standard:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 90 -nodes
Per creare una CA interna di laboratorio e firmare più certificati coerenti tra loro, mkcert (open source) genera una root locale attendibile utile a rendere credibili i portali di phishing simulato senza avvisi del browser sulle macchine di test.
Sul fronte C2, framework come Cobalt Strike (a pagamento) e Mythic (open source) permettono di importare un keystore o un certificato PEM nei profili di ascolto HTTPS: il listener viene configurato per presentare il certificato installato, cifrando il traffico con crittografia asimmetrica sui protocolli web. Con Sliver (open source) è possibile abilitare listener mTLS o HTTPS che caricano certificati personalizzati, replicando la scelta avversaria di canali TLS credibili.
Per la componente credential harvesting, l'installazione del certificato sul reverse proxy è il passaggio chiave: strumenti come Evilginx (open source) e GoPhish (open source) accettano certificati emessi via ACME o forniti manualmente, così il sito clone appare protetto da TLS valido. La catena d'attacco simulata diventa quindi: registrazione dominio di test, emissione o import del certificato, installazione su server acquisito in lab, esposizione del servizio e verifica della presentazione TLS.
La validazione lato attaccante consiste nel confermare che il certificato sia servito correttamente:
openssl s_client -connect
Questo comando mostra la catena presentata, il CN/SAN e l'emittente, consentendo di verificare che l'infrastruttura sia pronta prima dell'esecuzione dello scenario. Tutte le attività vanno svolte su domini e host di proprietà del team, mantenendo l'esercizio lab-safe e circoscritto.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo