' ------------------------------------------------------------------------------- ' SircamDetector : a Public Domain Sircam Virus Detector utility ' by : "marcolfa & E. Gatto black anti-viri group" - Italy / it.comp.sicurezza.virus ' Official release 1.1 for W95 - W98 - WMillenium - WNT - W2000 ' This utility doesn't perform Sircam removal - No changes on files or register ' You can test your customers from remote site emailing it without any risk. ' ' In a second time in order to remove Sircam, if detected, you can use this free ' tools I know: ' from marcolfa (the same author of this tool): ' http://users.iol.it/marrob/Sircam_sucks.vbs ' ' other aviable tools in alphabetic order ' from AVP (TM) ' http://www.avp.it/utility/nosircam.com ' ' from Central Command (TM) (needs e-mail registration): ' http://www.centralcommand.com/toolsregister.html ' ' from Macafee (TM) (Avert) ' http://download.nai.com/products/media/mcafeeb2b/zip/scrmove2.zip ' ' from Symantec (TM): ' http://www.symantec.com/avcenter/venc/data/w32.sircam.worm@mm.removal.tool.html ' ' from Sophos Anti-Virus (TM): ' http://www.sophos.com/support/faqs/sircam.html ' ' I ask sorry if I forgot someone else. In that case please contact me to: ' nospammers@iol.it and I'll add it. ' ------------------------------------------------------------------------------- testo = "Questo tool non esegue nessuna operazione!" & Chr (13) testo = testo & "Determina solamente se il Sircam è installato sul tuo PC" MsgBox (testo) main Sub main() On Error Resume Next dim ind Set marcolfa = CreateObject("Scripting.FileSystemObject") Ks = "HKEY_LOCAL_MACHINE\Software\" Ku = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\" Kr = "HKEY_CLASSES_ROOT\exefile\shell\open\command\" ' controllo presenza classici files indicatori ' andiamo a vedere dove sono i vari folder winfolder = marcolfa.GetSpecialFolder(0) sysfolder = marcolfa.GetSpecialFolder(1) tmpfolder = marcolfa.GetSpecialFolder(2) ' ind indica se si è operato già qualche intervento ind = 0 ' verifichiamo la presenza dei principali files di installazione call verifica (winfolder & "\Scmx32.exe", ind) call verifica ("c:\recycled\sirc32.exe", ind) call verifica ("c:\recycler\sirc32.exe", ind) call verifica (sysfolder & "\Scam32.exe", ind) call verifica ("c:\recycled\sircam.sys", ind) call verifica ("c:\recycler\sircam.sys", ind) call verifica (tmpfolder & "\sirc32.exe", ind) ' andiamo a vedere dove è eventualmente imboscato il file ' Microsoft Internet Office.exe chiave = Ku & "Explorer\Shell Folders\Startup" valore = Rg(chiave) file = valore & "\Microsoft Internet Office.exe" ' poi chiamiamo ancora la routine verifica call verifica (file, ind) ' controlliamo la chiamata dalla Runservices chiave = Ks & "Microsoft\Windows\CurrentVersion\Runservices\Driver32" valore = sysfolder &"\SCam32.exe" lettura = Rg(chiave) If (valore = lettura) Then ind = ind + 1 End If ' continua l'analisi del registro chiave = Ks & "SirCam\" chiave1 = Ks & "SirCam\FC0" eseguito = Rg(chiave1) If (eseguito <> "") Then ind = ind + 1 End If ' continuiamo l'analisi del registro sulla chiave di alterazione degli exe chiave = "HKEY_CLASSES_ROOT\exefile\shell\open\command\" impostazione = """%1"" %*" lettura = Rg(chiave) If (lettura <> impostazione) Then ind = ind + 1 End If ' ... e adesso mani all'autoexec.bat e vediamo se esiste la chiamata call verautoexec ("c:\", "autoexec.bat", "@win \recycled\SirC32.exe", ind) ' commiati e indicazioni finali If ind > 0 Then gatto = "Il Tuo computer contiene elementi del virus W32.Sircam !!" & Chr (13) If (eseguito <> "") Then gatto = gatto & "Il virus è già stato eseguito "& eseguito & " volte!" & Chr (13) End If gatto = gatto & "Scarica il Sircam Sucks.vbs per W95 / W98 / WMe !!" MsgBox (gatto) Else MsgBox ("Non ho individuato elementi di installazione del Virus Sircam!") End If End Sub '--------------------------zona librerie -------------------------- Sub verifica (file, ind) On Error Resume Next set DElyMyth = CreateObject("Scripting.FileSystemObject") If DElyMyth.FileExists(file) Then ind = ind + 1 End If End Sub Sub verautoexec (folder, file, stri, ind) On Error Resume Next Set marcolfa = CreateObject("Scripting.FileSystemObject") If marcolfa.FileExists(folder & file) Then Set lella = marcolfa.OpenTextFile(folder & file , 1, False) Do While lella.AtEndOfStream <> True lettura = lella.ReadLine If lettura = stri Then ind = ind +1 End If Loop lella.close End If End Sub Function Rg(v) rem serve a leggere un valore nel file di registro Dim R On Error Resume Next Set R = CreateObject("WScript.Shell") Rg = R.RegRead(v) End Function