13536 Letture

Controllare automaticamente con VirusTotal tutti i file che vengono scaricati

Quando si preleva un file dalla rete Internet com'è possibile verificare, immediatamente, se si tratti di un oggetto legittimo o di un elemento che, al suo interno, contiene una minaccia? Il primo livello di difesa è certamente il software antivirus installato sul personal computer ma... è sufficiente? E' cosa nota, ormai, che gli antivirus facenti uso dei soli database delle firme virali potrebbero avere non poche difficoltà a riconoscere malware da poco apparsi in Rete. Prima di eseguire un file, quindi, soprattutto quegli elementi sui quali si nutre qualche dubbio, il primo banale consiglio consiste nel verificarne l'identità ricorrendo ad un servizio come VirusTotal. Ne abbiamo parlato in decine di nostri articoli: VirusTotal è un sito web che si occupa di sottoporre a scansione qualunque tipologia di file usando, contemporaneamente, oltre 40 motori antivirus, sviluppati dalle varie software house. Se sul proprio sistema si è optato per l'installazione dell'antivirus "A", utilizzando VirusTotal si potrà ottenere il responso emesso dai motori di scansioni di ulteriori 42 produttori diversi. A VirusTotal è possibile inviare, per richiederne l'analisi, qualunque tipologia di file, a patto che non superi i 32 MB complessivi.

Ci siamo chiesti se fosse possibile mettere a punto un meccanismo, rapido da implementare, che consenta di sottoporre ad analisi tutti i file che, ad esempio, vengono scaricati dalla rete Internet sottoponendoli a VirusTotal.


Ovviamente, è impensabile automatizzare la procedura di controllo per tutti i file scaricati effettuandone, di volta in volta, l'upload su VirusTotal. Utilizzando un approccio simile si sprecherebbe banda inutilmente e si finirebbe col rallentare la connessione in uso.
Perché, allora, non interrogare VirusTotal fornendo solo la firma MD5 di ciascun file prelevato dalla Rete? Come abbiamo spiegato in questo nostro articolo, gli algoritmi di hashing consentono di produrre, per qualunque file, una stringa di caratteri che rappresenta l'"identificatore" univoco di quello specifico elemento.
VirusTotal è un servizio che, quotidianamente, viene utilizzato da parte di utenti di tutto il mondo: ogniqualvolta viene richiesta una scansione su un file, il servizio provvede ad annotare – all'interno dei suoi database – gli hash e quindi le firme del file (MD5, SHA1 e SHA256) oltre, ovviamente, all'esito dell'analisi (presenza di malware o meno).

Copiando l'indirizzo https://www.virustotal.com/latest-scan/ nella barra degli URL del browser quindi aggiungendo una qualunque firma MD5, SHA1 o SHA256, è possibile visualizzare istantaneamente il risultato dell'ultima analisi che è stata condotta sul file corrispondente.

Perché non sfruttare questa interessante funzionalità per produrre un file Visual Basic Script in grado di rilevare ogni nuovo file salvato sul disco fisso ed interagire dinamicamente con VirusTotal?

Lo script VBS che potete scaricare gratuitamente cliccando qui è il risultato della nostra idea.

Per poterlo utilizzare, innanzi tutto, suggeriamo di creare una cartella sul disco C: (ad esempio: c:\virustotalvbs) e di salvarvi il file virustotalvbs.txt avendo poi cura di rinominarlo manualmente come virustotalvbs.vbs.
Nella medesima cartella si dovrà collocare anche il file MD5.exe, contenuto in questo archivio compresso.

A questo punto, si dovrà aprire il file virustotalvbs.vbs utilizzando un editor di testo (ad esempio, Notepad++ o TextPad).
L'unica riga che si dovrà modificare è la numero 10 (cartella = "C:\Users\Michele\Downloads"). Tale riga indica allo script VBS il percorso che deve essere monitorato.
Nel nostro caso, abbiamo deciso di specificare la cartella all'interno della quale preleviamo, con il browser web, tutti i file (si tratta della cartella di sistema Download). Il percorso C:\Users\Michele\Downloads dovrà essere quindi sostituito con la directory corretta nel vostro caso.

Dopo aver salvato il contenuto del file virustotalvbs.vbs, lo script è già pronto per l'uso: facendo doppio clic su tale script, questo inizierà a monitorare la cartella indicata rilevando, in tempo reale (il controllo viene effettuato ogni tre secondi), la memorizzazione di nuovi file.
Nel nostro esempio, non appena salveremo dei nuovi file nella cartella C:\Users\Michele\Downloads, lo script ne calcolerà l'hash MD5 quindi provvederà a trasmettere tale informazione a VirusTotal. Se il file è conosciuto a VirusTotal ed è stato bollato come potenzialmente pericoloso da almeno due motori antivirus, verrà mostrato il seguente messaggio:

Qualora il file venisse indicato come potenzialmente dannoso solo da un unico motore di scansione, lo script visualizzerà il messaggio che segue:

Se la firma MD5 del file fosse sconosciuta a VirusTotal oppure se una precedente scansione del file non avesse rilevato la presenza di alcuna minaccia, lo script VBS non esporrà alcun genere di messaggio e rimarrà costantemente in esecuzione (presenza del processo wscript.exe nella finestra Gestione attività o Task manager di Windows):

E' bene rimarcare che lo script VBS non prende alcuna iniziativa nei confronti del file indicato da VirusTotal come potenzialmente pericoloso (non cancella il file, non lo sposta e non lo rinomina). Sarà l'utente a dover manualmente verificare la segnalazione (magari ricollegandosi con VirusTotal e sottoponendo il file in questione ad una nuova scansione). E' bene tenere ben presente, inoltre, che alcuni file potrebbero essere segnalati come potenzialmente nocivi quando, in realtà, non lo sono affatto. Tale comportamento non è riconducibile allo script VBS quanto alle firme virali rilasciate dai vari produttori di software antivirus. Può capitare infatti, soprattutto con alcune utilità shareware e freeware, con alcune tipologie di software per la gestione remota, con alcuni programmi distribuiti usando particolari strumenti di compressione, che un elemento sia erroneamente riportato come potenzialmente dannoso ("falso positivo"). In questi frangenti è sempre opportuno effettuare una nuova scansione su VirusTotal, leggere i commenti spesso presenti in calce all'analisi e svolgere qualche verifica in Rete in modo tale da assicurarsi della bontà dell'oggetto.


Se si desidera che lo script VBS venga avviato automaticamente ad ogni ingresso in Windows, è possibile fare clic, con il tasto destro del mouse, sul gruppo Esecuzione automatica del menù Start, quindi cliccare su Apri:

Non appena apparirà la finestra di "Esecuzione automatica", si dovrà fare clic col tasto destro del mouse in un'area libera della stessa quindi selezionare Nuovo, Collegamento dal menù contestuale.

Nella casella Immettere il percorso per il collegamento si dovrà digitare, ad esempio, c:\virustotalvbs\virustotalvbs.vbs

Nella finestra seguente, in corrispondenza della casella Immettere il nome del collegamento, si potrà digitare, semplicemente, qualcosa come VirusTotal VBS.

I lettori che necessitassero di chiarimenti sul funzionamento dello script, possono inviare le loro richieste pubblicando un commento.

L'uso dello script VBS, ovviamente, non esime l'utente dall'installare e mantenere aggiornato un software antivirus. Suggeriamo di valutare anche l'adozione di prodotti di nuova generazione che, oltre a poggiare sui database delle firme, abbinino almeno l'uso dell'analisi comportamentale.


  1. Avatar
    Michele Nasi
    17/02/2012 12:14:36
    Bravissimo! L'ho spostato in "Sicurezza e antivirus". Dopo lo commento... intanto, congratulazioni :)
  2. Avatar
    wargus
    17/02/2012 11:43:15
    Fatto. Ho aperto un topic sul mio sviluppo dello script in AutoIt sul forum Programmi e utility (spero sia il posto giusto).
  3. Avatar
    wargus
    16/02/2012 10:26:20
    Citazione: Potresti aprire una discussione sul forum (previa registrazione) riportando magari anche il "porting" su AutoIt e qualche "istruzione per l'uso"?
    Senz'altro! Provvedo al più presto (il codice in AutoIt è ancora piuttosto raw).
    Citazione: Grazie per la collaborazione!
    Figurati. E' un piacere.
  4. Avatar
    Michele Nasi
    16/02/2012 10:10:36
    Certo! Hai ragione. Modificherò di sicuro lo script: fortunatamente, comunque, il messaggio d'allerta viene esposto all'utente, anche nella circostanza che hai giustamente citato tu. Potresti aprire una discussione sul forum (previa registrazione) riportando magari anche il "porting" su AutoIt e qualche "istruzione per l'uso"? :wink: Grazie per la collaborazione! :approvato:
  5. Avatar
    wargus
    16/02/2012 10:02:15
    Ciao Michele, complimenti per lo script e grazie per averlo sviluppato. Volevo però segnalarti un piccolo bug che ho scoperto mentre lo modificavo per un porting parziale in AutoIt. Se il file da controllare viene individuato da un numero di motori antivirus terminante in 1 (11, 21, 31...) lo script lo segnala comunque soltanto come possibile falso positivo essendo stato riconosciuto da un solo motore di scansione. Puoi verificare questo comportamento passando allo script questa firma di hash: 4c7d3e842db9936fde55c4d97be6e2fa (si tratta di una crack riconosciuta come trojan da 31 antivirus). Questo è dovuto all'istruzione instr(virustotal,"1 /") che recupera unicamente la parte terminale della stringa della "detection ratio". In AutoIt io ho risolto modificando l'istruzione in modo da utilizzare una Regular Expression per catturare tutta la stringa. Spero di esserti stato utile. Andrea
  6. Avatar
    Michele Nasi
    16/02/2012 09:12:15
    Sembra che qualcosa o qualcuno abbia alterato l'associazione di default tra gli script VBS e wscript.exe. Intanto prova a verificare se lo script si avvia digitando wscript.exe c:\virustotalvbs\virustotalvbs.vbs
  7. Avatar
    serte47
    15/02/2012 19:22:08
    Ho seguito le istruzioni dell'articolo, ma la procedura non funziona: sia che faccia partire manualmente il file o che parta nell'avvio automatico, mi si apre una finestra dos dal titolo "c.|windows\system32\cscript" che resta aperta e in task manager non visualizzo il processo wscript ma cscript, e il tutto,ovviamente, non funziona. Dove ho sbagliato? Aggiungo che il s.o. è vista home basic. Grazie
  8. Avatar
    Michele Nasi
    02/02/2012 17:09:36
    Grazie per il tuo intervento! Nelle prossime ore pubblicherò una versione specifica per le tue esigenze :wink: Qualora dovessi tardare, non aver scrupoli a sollecitarmi. Grazie.
  9. Avatar
    Fabio2
    01/02/2012 13:39:47
    Salve, complimenti per l'articolo e l'utility. Vorrei chiedere come poter modificare lo script in modo che venga eseguito solo una volta (magari creando un icona sul desktop), in modo da non caricare il sistema in un'operazione ripetitiva inutilmente. Grazie! Fabio
Controllare automaticamente con VirusTotal tutti i file che vengono scaricati - IlSoftware.it