lunes, 18 de enero de 2016

Analizando el archivo: "winlogon.vbs" - Parte 3 - Cura

Continuando con las anteriores entradas, se pasa la cura que se creó:

NOTA: Copiarlo y generar un archivo con extensión ".vbs"

'Created for 4null0'
'---------'
'Variables'
'---------'

dim shellobj
dim filesystemobj
dim filename
dim foldername

set shellobj = wscript.createobject("wscript.shell")
set filesystemobj = createobject("scripting.filesystemobject")

installdir = "%temp%"
installdir = shellobj.expandenvironmentstrings(installdir) & "\"

nombrecompleto = split (wscript.scriptname, ".")
installname = nombrecompleto (1) & "." & nombrecompleto (2)

ap = split(installname,".")

installbatname = ap(0) & ".bat"

startup = shellobj.specialfolders ("startup") & "\"

on error resume next

'---------'
'Eliminamos los procesos asociados a la infección
'---------'
ShellObject.Run "taskill /F /IM wscript.exe"
'ShellObject.Run "taskill /F /IM explorer.exe"
'ShellObject.Run "start explorer"

'---------'
'Eliminamos las claves de registro creadas
'---------'

shellobj.regdelete "HKEY_CURRENT_USER\software\microsoft\windows\currentversion\run\" & split (installname,".")(0)
shellobj.regdelete "HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run\" & split (installname,".")(0)
shellobj.regdelete "HKEY_LOCAL_MACHINE\software\" & split (installname,".")(0)

'---------'
'Eliminamos los archivos creados en el disco duro
'---------'
                              
filesystemobj.deletefile installdir & installname ,true
filesystemobj.deletefile installdir & installbatname ,true
filesystemobj.deletefile startup & installbatname ,true

'---------'
'Recuperamos la visibilidad para la carpeta de inicio definida en:"startup"
'---------'
set carpeta = filesystemobj.getfolder( startup )

carpeta.attributes = 16

'---------'
'Eliminamos los archivos creados (.vbs, .bat y .lnk) en los dispositivo de tipo extráibles.
'También se eliminan los atributo de "Sistema" y de "Oculto" de cada archivo y carpeta de los dispositivos extráibles.
'---------'

for  each drive in filesystemobj.drives
if  drive.isready = true then
 if  drive.freespace  > 0 then
  if  drive.drivetype  = 1 then
    for  each file in filesystemobj.getfolder ( drive.path & "\").files
         if  instr (file.name,".") then
             if  lcase (split(file.name, ".")(ubound(split(file.name, ".")))) <> "lnk" then
                 file.attributes = 0
                 if  ucase (file.name) <> ucase (installname) then
                     filename = split(file.name,".")
                     filesystemobj.deletefile (drive.path & "\" & filename(0) & ".lnk" )
                 else
                     filesystemobj.deletefile (drive.path & "\" & file.name)
                 end If
             else
                 filesystemobj.deletefile (file.path)
             end if
         end if
     next
     for each folder in filesystemobj.getfolder( drive.path & "\" ).subfolders
         folder.attributes = 0
     next
  end if
 end if
end if
next



No hay comentarios:

Publicar un comentario