SEO Poisoning: Search Engine Optimization Poisoning (T1608.006)
Il SEO Poisoning è una tecnica di Resource Development (TA0042) con cui un attaccante manipola i meccanismi di ottimizzazione per i motori di ricerca allo scopo di spingere in alto, tra i risultati, i siti che ospitano i suoi payload malevoli. L'obiettivo è avvicinare le capacità già predisposte (staged capabilities) alle potenziali vittime, tipicamente per facilitare un Drive-by Compromise.
I motori di ricerca ordinano i risultati in base agli annunci acquistati e a un punteggio di reputazione calcolato dai crawler. Chi avvelena questo processo ricorre a trucchi come il keyword stuffing, anche con testo nascosto iniettato in siti compromessi, calibrando i termini sugli interessi delle vittime o su argomenti stagionali molto cercati (elezioni, notizie di tendenza).
La manipolazione non riguarda solo Google: anche le ricerche interne di piattaforme per sviluppatori come GitHub possono essere "giocate" per attirare gli utenti verso lure di Supply Chain Compromise. Gli attaccanti acquistano o piantano link in entrata per gonfiare la rilevanza percepita e combinano il tutto con redirect evasivi e tecniche di cloaking (misurazione dei movimenti del mouse, contenuti serviti in base a user agent, lingua o header HTTP) per nutrire gli algoritmi evitando l'analisi dei difensori.
Trattandosi di attività svolta al di fuori del perimetro aziendale, la rilevazione diretta è ardua: la difesa si concentra sulle fasi successive della kill chain.
Poiché questa tecnica appartiene a Resource Development, in un ingaggio di red team l'attività va simulata in laboratorio, isolata dal traffico reale e con siti civetta di proprietà, senza mai inquinare motori di ricerca pubblici.
Il primo blocco simula la preparazione dei contenuti. Su un web server di lab si predispone una pagina di Drive-by Target con injection di parole chiave a tema. Per replicare il keyword stuffing con testo nascosto si generano blocchi di testo invisibili via CSS (per esempio elementi con display:none o colore identico allo sfondo) e meta tag mirati. Per orchestrare la generazione delle esche testuali va bene qualsiasi toolkit di templating; l'importante è mantenere tutto entro il dominio di test.
Il secondo blocco riguarda il cloaking e i redirect evasivi, cuore della tecnica. In laboratorio si configura il server per servire contenuti differenziati in base agli header. Con Nginx o Apache si discrimina lo User-Agent per distinguere un crawler simulato da un browser vittima:
if ($http_user_agent ~ "bot|crawl|spider") { return 200 /benign.html; }*
Si può aggiungere logica lato JavaScript che verifica movimenti del mouse o la lingua del browser (navigator.language) prima di innescare il redirect verso il payload, riproducendo il filtraggio anti-analisi descritto nella tecnica.
Il terzo blocco emula il link planting: nel lab si creano più siti civetta che si linkano reciprocamente per gonfiare artificialmente la reputazione, verificando come i crawler interpretano la rete di backlink.
Per la ricognizione OSINT dell'infrastruttura, utile a comprendere come un difensore vedrebbe l'operazione, tornano validi strumenti come Recon-ng (open source) e SpiderFoot (open source), che automatizzano l'enumerazione di domini e link. Per l'osservazione dell'esposizione esterna si usano i motori Shodan (freemium) e Censys (freemium).
Una simulazione ben progettata dimostra alla difesa che la fase visibile non è l'avvelenamento in sé, ma il momento in cui l'utente atterra sul sito compromesso: l'attività combacia con Mustard Tempest (G1020), noto per avvelenare i risultati di ricerca distribuendo finti aggiornamenti software. Concentrare il test sul comportamento del payload finale, e non sul gaming degli algoritmi pubblici, mantiene l'esercizio etico e riproducibile.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo