sicurezza Intermediate 3 min

Incollare comandi dal web nel terminale: il rischio nascosto

Command injection sul proprio sistema, clipboard hijacking, il pattern curl | bash

· 645 parole

Selezioni un comando su un sito, lo copi, lo incolli nel terminale, premi Invio. È un gesto che chiunque lavori con la tecnologia fa più volte al giorno. Il problema: ciò che vedi selezionato sullo schermo e ciò che finisce davvero nei tuoi appunti non sono garantiti essere la stessa cosa.

Immagina di firmare un contratto guardando solo la prima riga, fidandoti che il resto del testo, che non hai letto, dica quello che ti aspetti. Nella maggior parte dei casi va bene. Ma basta una sola volta in cui qualcuno ha cambiato il testo sotto la riga che hai controllato.

Tre rischi del terminale: pastejacking che cambia il comando copiato, curl | bash che esegue senza leggere, falsa verifica ClickFix

1. Il pattern curl | bash: eseguire senza aver mai letto

Molti siti (anche legittimi) offrono un'installazione rapida con un comando come questo:

curl -sSL https://esempio.it/installa.sh | bash

Il problema tecnico: questo comando scarica ed esegue lo script nello stesso istante, senza mai fermarsi a mostrartelo. Non stai «installando un programma di cui ti fidi»: stai dando pieno controllo del tuo sistema a chiunque controlli quel server in quel preciso momento, con i tuoi stessi permessi utente. Se il server viene compromesso, o se lo script cambia dopo che qualcuno lo ha verificato una volta, tu non lo sapresti mai.

Un'abitudine più sicura: separare i due passaggi.

curl -sSL https://esempio.it/installa.sh -o installa.sh
less installa.sh    # leggi cosa fa, davvero
bash installa.sh    # esegui solo dopo aver controllato

Fonte: CISA, materiale di sensibilizzazione «Secure Our World», raccomanda di verificare sempre la provenienza e il contenuto di uno script prima di eseguirlo, come parte della fiducia riposta nella propria catena di fornitura software.

2. Clipboard hijacking: quando copi una cosa e ne incolli un'altra

Una pagina web può usare JavaScript per intercettare l'evento di copia e sostituire silenziosamente il contenuto degli appunti con un testo diverso da quello che hai selezionato: questa tecnica ha un nome, pastejacking (o clipboard hijacking).

// Esempio semplificato del meccanismo (non eseguirlo):
elemento.addEventListener('copy', function(e) {
    e.clipboardData.setData('text/plain', 'comando-malevolo-qui');
    e.preventDefault();
});

Il testo selezionato sullo schermo resta quello innocuo. Quello che finisce davvero incollato nel terminale può essere completamente diverso, ed è già successo con script che, dopo l'esecuzione, pulivano anche la cronologia del terminale per non lasciare traccia.

Fonte: MDN Web Docs, «Clipboard API»: documenta l'evento copy e il metodo setData() usati per intercettare e sostituire il contenuto degli appunti, alla base del meccanismo di pastejacking.

3. ClickFix: la variante «verifica di sicurezza» che inganna anche gli esperti

Un advisory congiunto CISA, FBI, HHS e MS-ISAC, pubblicato a proposito del ransomware Interlock, documenta ufficialmente una tecnica chiamata ClickFix: una falsa verifica CAPTCHA che istruisce la vittima ad aprire una finestra di comando, incollare gli appunti (già silenziosamente compromessi) ed eseguire.

Il meccanismo funziona proprio perché sei tu a digitare Invio: nessun exploit, nessun allegato sospetto da bloccare, l'antivirus vede semplicemente un utente che esegue un comando di sua volontà.

Fonte: CISA/FBI/HHS/MS-ISAC, Advisory congiunto #StopRansomware: Interlock (AA25-203A), descrive la tecnica ClickFix con falso CAPTCHA che induce l'utente a incollare ed eseguire un payload PowerShell dagli appunti.

4. Le buone abitudini

Nessun sito legittimo ti chiederà mai di aprire un terminale (o la finestra «Esegui» di Windows) per «verificare che sei umano» o «risolvere un errore»: è sempre e solo un tentativo di attacco.

Incolla sempre prima in un editor di testo semplice (non un elaboratore di testo con formattazione), e leggi prima di trasferire il comando nel terminale.

Diffida di comandi copiati da fonti non ufficiali (forum, commenti, popup), anche se sembrano provenire da un sito che conosci.

Se uno script richiede privilegi elevati (sudo) e non ne capisci il contenuto, è un motivo in più per non eseguirlo, non uno di meno.

In sintesi

La supply chain personale, di nuovo: ogni comando che esegui è un fornitore a cui hai deciso, spesso senza accorgertene, di dare fiducia. Copiare non è pericoloso; eseguire senza leggere lo è.

Accedi o registrati per votare, salvare o commentare la pillola

Commenti (0)

Registrati per commentare, fare domande e proporre l'argomento della prossima pillola (oppure accedi se hai già un account).

Nessun commento. Sii il primo a scrivere qualcosa.

Pillole correlate