JavaScript è divertente.
Si tratta di un linguaggio semplice, logico e chiaro che ha caratteristiche di programmazione magnifiche, motivo per il quale è diventato il linguaggio di programmazione preferito tra gli hacker per creare Malware (ransomware).
Saprai probabilmente che JavaScript viene utilizzato per scrivere applicazioni web-based, quindi ovviamente penserai che esso sia saldamente ancorato al tuo browser e che non possa toccare il sistema sottostante su cui gira…

..Oppure no?

Non proprio. Con NW.js, puoi avviare il codice javaScript esternamente al browser e come se fosse una normale applicazione desktop, avendo più controllo e interazione con il sistema operativo sottostante.
Sì! NW.js è un framework basato su Node.js e Chromium, che ti permette di sviluppare app desktop per Windows, Linux e Mac utilizzando JavaScript.
Tuttavia su Windows, una volta che un file .JS è stato salvato sul tuo hard disk, comincia a girare di default fuori dal tuo browser, utilizzando un sistema di componenti chiamato WSH, acronimo di Windows Script Host senza nessun avviso di sicurezza o richiesta di permessi d’accesso d’amministratore.

evil-malicious-javascript-example

A causa di questo strano comportamento su Windows, i Sistemi che girano su Windows OS diventano facilmente vittime di attacchi Ransomware
L’allegato zip di norma contiene un file JavaScript con nomi come Invoice.pdf.js, receipt.pdf.js, ecc. spesso con l’estensione con la parte finale .js nascosta. Oppure vengono compilati dei binari, nativamente eseguibili su windows, partendo dai file JS e usando gli opportuni framework.

Il testo del messaggio cerca di convincere gli utenti ad aprire l’allegato avvisandoli con un presunto numero di riferimento alla loro consegna e chiedendo loro di mostrare il numero di riferimento per la consegna successiva.
Ciò crea un senso di urgenza che spinge gli utenti ad aprire l’allegato.
Aprire il file .js nell’allegato infetta il sistema dell’utente con un ransomware malware, il quale può scaricare altri malware nel sistema infettato.
Una volta eseguito il file, il ransomware comunica con i suoi server. Riuscita la connessione, il server risponde con una chiave pubblica e un corrispondente indirizzo di pagamento.

Tramite l’utilizzo di una crittografia asimmetrica (una chiave crittografica pubblica e una chiave privata, per decrittare i file) il ransomware comincia a criptare tutti i file presenti sul computer della vittima.
Accade così velocemente che l’utente ha pochissimo tempo per rendersi conto che il suo sistema è stato hackerato.
In pochi minuti tutti i file (tra cui i documenti dell’utente e altri file importanti) vengono criptati e per decriptarli l’utente deve pagare una somma di riscatto all’indirizzo di pagamento che appare sullo schermo (solitamente un indirizzo bitcoin).

ransomware-payment-script

Una volta avvenuti i pagamenti, il ransomware richiede il proprio server per la corrispondente chiave privata che serve a decriptare i dati dell’utente – senza, il decrypt è impossibile.