Alcuni macchinari hanno un "bottone di sicurezza", da premere in caso di emergenza e anche "mister Burns" ne ha uno, quindi perché non dovrebbe avere qualcosa di simile anche il nostro sistema operativo? Ad esempio un "panic button", per automatizzare alcune operazioni difensive che possono essere utili se crediamo che improvvisamente un malware stia compromettendo il nostro computer.
Requisiti
Per impostare il nostro "bottone anti-panico" possiamo utilizzare NoPanic, uno script in PowerShell scaricabile da GitHub. Le immagini sono tratte dal collaudo su Windows 10 e PowerShell 5, ma potete usare anche Windows 11 e PowerShell 7. Chiaramente al pulsante possono comunque essere assegnati comandi di qualsiasi tipo in PowerShell.
Per usare lo script PowerShell è necessario impostare l'execution policy su remote signed, con il comando Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
. Poiché lo script, come vedremo, esegue operazioni di sistema, probabilmente verrà scambiato dal vostro antivirus per un malware (ovviamente non lo è), quindi il modo più pratico per importarlo è fare copia e incolla del codice da GitHub su un nuovo documento di testo e poi salvarlo con estensione ps1 (come mostrato nel video a fondo pagina). L'icona dello script può invece essere scaricata senza intoppi.
Utilizzo
Una volta creato il file con lo script, per avviare NoPanic sarà sufficiente cliccarci con il destro e selezionare: Apri con PowerShell
; la finestra comparirà nella posizione di default (impostata dalla riga 21 del codice). Se alziamo la finestra, potremo leggere la spiegazione o i promemoria che sono salvati nello script (e quindi possono essere personalizzati). In questo esempio, sono spiegate le azioni che saranno eseguite dopo aver cliccato sul pulsante.
Per facilitare l'esecuzione di NoPanic, conviene creare un collegamento da usare con l'icona che abbiamo scaricato. Clicchiamo quindi con il tasto destro sul collegamento, poi su: Proprietà
, Cambia icona
("1" nell'immagine sotto) e "sfogliamo" il disco fino a trovare il nostro file "icon.ico" (scaricato da GitHub). Prima di chiudere la finestra delle proprietà, ricordiamo che, per poter eseguire direttamente lo script, è necessario scrivere, nella sezione Target
, "powershell.exe", prima del percorso, che conviene includere fra virgolette. Clicchiamo infine su Avanzate
("2" nell'immagine sotto) e mettiamo la spunta su Esegui come amministratore
, in modo che tutti i comandi possano essere eseguiti correttamente.
Se non intendiamo cambiare la visualizzazione della finestra di esecuzione (ad esempio minimizzandola), né assegnare una combinazione di tasti come "scorciatoia", allora applichiamo le modifiche e chiudiamo la finestra delle proprietà.
Ora il nostro collegamento è pronto per essere spostato nel desktop, nella barra delle applicazioni o dove riteniamo sia comodo da raggiungere in caso di bisogno. Quando eseguiamo lo script, ci viene prima giustamente chiesta conferma da parte dello user account control; accettiamo e, dopo un breve flash del terminale, apparirà il nostro pulsante anti-panico.
Cliccando sull'immagine del pulsante, secondo quanto impostato dal codice:
- la sua finestra viene ridotta ad icona,
- in Documenti viene creata la cartella "Panic" che conterrà
- lo screenshot del desktop ("screen.png")
- un file di log relativo alle connessioni ("connessioni.txt")
- un altro file di log relativo ai processi ("processi.txt")
- i dischi secondari vengono messi offline
- eventuali drive USB vengono disconnessi
- le connessioni di rete vengono chiuse (disabilitando le schede di rete attive)
- il PC viene riavviato al BIOS dopo un secondo di intervallo.
A questo punto, usando un sistema operativo live potremo cercare di recuperare dati, bonificare il sistema operativo e osservare i file di log della cartella "Panic" per cercare di capire che cosa ci ha allarmato.
Una volta tornati nel nostro sistema operativo di partenza, ci ritroveremo ancora disconnessi dalla rete, quindi non ci saranno informazioni, dati o file che possano lasciare il nostro PC; anche i dischi secondari risulteranno ancora offline, quindi il loro contenuto sarà al riparo da processi malevoli o possibili alterazioni. Ovviamente i drive esterni USB non risulteranno connessi.
Se ci fossero dunque ancora malware attivi nel sistema, nonostante i tentativi di pulizia fatti con il sistema operativo live, i possibili danni sarebbero almeno limitati al disco primario, ormai diventato air-gapped, ossia isolato, nel senso che non c'è possibilità che vengano esportati dati, di subire azioni da remoto o compromettere i backup in altre periferiche. Nella cartella "Panic", rimangono consultabili i dati acquisiti al momento dell'esecuzione di NoPanic.
Per rimettere online i dischi secondari, è sufficiente cliccare con il tasto destro sul menu Start
, scegliere Gestione Dischi
, cliccare con il destro sul disco da ricollegare e poi scegliere Online
.
Per riattivare la scheda di rete, basta andare nel campo di ricerca di Windows (nella barra delle applicazioni o usando i tasti Win + S
) e digitare: ncpa.cpl, premere Invio
e infine selezionare la scheda da riabilitare, cliccandoci con il tasto destro.
A questo punto non vi resta che pensare a come modificare lo script secondo le vostre esigenze: spostare una cartella su un hard disk secondario o inviarla a un drive in cloud prima di disconnettere tutto? Cancellare file e documenti importanti (se si è certi che abbiano un backup aggiornato altrove)? Rimuovere i permessi di modifica da alcune cartelle, così che non vengano cifrate o rimosse? Avviare determinati programmi di monitoraggio o log in tempo reale? A voi la scelta (e la stesura del codice necessario).