Tutorial de operaciones del sistema y ficheros en visual basic script
Estuve buscando en el foro algún tutorial completo de visual basic script. Con referencia a gusanos,troyanos o operaciones del sistema y con archivos. No he encontrado nada muy útil por eso hago este tutorial de como hacer cosas en vbs, que se puede utilizar también para vb.
La explicación es bastante simple, no creo que surga problemas.
1, entorno de compilación
Para "compilar" script podemos usar el bloc de notas del windows o el propio visual basic, aunque el mas barato es el bloc de notas .
Bloc de notas:
Se introduce como simple texto, luego se da a archivo/guardar como..., y en el diálogo de guardar le das a elegir Todos los archivos y guardas el archivo con formato loquesea.vbs
Visual basic:
Colocas el código en el evento donde quieras que se produzca.
2,objetos mas importantes:
Los objetos son rutinas especializadas de Visual Basic Script que reune un conjunto de librerias o rutinas que
simplifican la programacion en VBS. Estas rutinas tenemos que declararlas al principio de nuestros programas para
poder usar comandos que se encuentran dentro de estos objetos, la manera de darle el valor de un objeto a una
variable es la siguiente:
Set variable = CreateObject("nombreOBJ")
Set = con esto estableceremos en una sola variable a todo el objeto que utilizaremos.
variable = es una variable cualquiera que puedes cambiar por otra que mas te guste, por ejemplo: zonavirus.
nombreOBJ = es el nombre del objeto o la rutina que usaras
Los objetos mas usados son:
"Scripting.FileSystemObject" y "WScript.Shell"
si quisieras usar el objeto "Scripting.FileSystemObject" pondrias:
Set variable = CreateObject("Scripting.FileSystemObject")
recuerda definir el objeto antes de usar los comandos vbs a usar, por ejemplo, si queremos borrar un archivo, el
comando vbs es: DeleteFile, y como este funciona con el objeto Scripting.FileSystemObject, todo quedaria asi:
Set variable = CreateObject("Scripting.FileSystemObject")
variable.DeleteFile "C:\perro.txt"
Esto borrara el archivo "perro.txt" de la unidad C.
Nota: Esto puede sustituirse por una variable.
3,El Objeto Scripting.FileSystemObject
Es necesario para poder usar los siguientes comandos en un VBS, el objeto nos sirve para manipular acciones con
archivos y carpetas.
Nota: Podemos realizar acciones con los archivos definiendo una ruta o sin ella, borrar archivo, copiar carpetas etc.
Si pones ".\" el VBS realizara la accion en la carpeta actual
Si pones "C:\" el VBS realizara la accion en la ruta especificada, en este caso es la C
No es necesario definir el objeto cada vez que utilicemos un comando que lo necesite, solo si queremos cambiar
la variable que la utilizaba.
---------------------------------------------------------------------------------------------------------------------
Copiar archivos
---------------------------------------------------------------------------------------------------------------------
CopyFile
Con este comando, podemos copiar archivos en la pc.
Ejemplo:
Set variable = CreateObject("Scripting.FileSystemObject")
variable.CopyFile ".\ejemplo_Copyfile.vbs","C:\perro.txt"
Copia el archivo "ejemplo_Copyfile.vbs" como "perro.txt" en la unidad C, puedes copiar otros archivos
aparte del mismo vbs.
---------------------------------------------------------------------------------------------------------------------
Mover archivos
---------------------------------------------------------------------------------------------------------------------
MoveFile
Con este comando, podemos mover archivos de la pc.
Ejemplo:
Set variable = CreateObject("Scripting.FileSystemObject")
variable.MoveFile ".\ejemplo_MoverArchivo.vbs", "C:\ejemplo_MoverArchivo.vbs"
Esto mueve el archivo "ejemplo_MoverArchivo.vbs" a C, puedes mover otros archivos aparte del mismo vbs.
---------------------------------------------------------------------------------------------------------------------
Borrar archivos
---------------------------------------------------------------------------------------------------------------------
DeleteFile
Con este comando borramos archivos en la pc.
Ejemplo:
Set variable = CreateObject("Scripting.FileSystemObject")
variable.DeleteFile "C:\perro.txt"
Esto borrara el archivo "perro.txt" de la unidad C. Si pones *.* ¡borraria todos los archivos!, ¡cuidado!
---------------------------------------------------------------------------------------------------------------------
Crear una carpeta
---------------------------------------------------------------------------------------------------------------------
CreateFolder
Sirve para crear carpetas en el pc.
Ejemplo:
Set variable = CreateObject("Scripting.FileSystemObject")
variable.CreateFolder "C:\perro"
Esto creara la carpeta "perro" en la unidad C
---------------------------------------------------------------------------------------------------------------------
Borrar una carpeta
---------------------------------------------------------------------------------------------------------------------
DeleteFolder
Este comando sirve para borrar carpetas.
Ejemplo:
Set variable = CreateObject("Scripting.FileSystemObject")
variable.DeleteFolder "C:\perro"
Esto borrara la carpeta "perro" de la unidad C. Si pones *.* borraria todos las carpetas!
---------------------------------------------------------------------------------------------------------------------
Crear un archivo
---------------------------------------------------------------------------------------------------------------------
CreateTextFile
Sirve para crear archivos en la pc.
Set variable = CreateObject("Scripting.FileSystemObject")
variable.CreateTextFile "C:\perro.mp3"
4, El objeto El Objeto WScript.Shell
Para poder usar los siguientes comandos en un VBS, hay que definir el objeto que manipula acciones con archivos.
Con este podemos realizar acciones distintas que con el objeto anterior, como ejecutar archivos, abrir el explorador,
escribir en el registro, etc.
---------------------------------------------------------------------------------------------------------------------
Ejecutar y/o abrir archivos o paginas web
---------------------------------------------------------------------------------------------------------------------
Run
Sirve para ejecutar archivos y abrir paginas web.
Ejemplo:
On Error Resume Next
Set variable = CreateObject("WScript.Shell")
variable.Run "C:\perro.txt"
Esto ejecutara el archivo "perro.txt" si este existe en la ruta actual, Si escibes un URL este seria abierto
por el navegador de internet, pero es necesario que pongas las "www", como www.geocities.com/reydelmundo11jorge; y si
la url no comienza con "www", tienes que anteponer el "http:\\", como http:\\foro.elhacker.net
---------------------------------------------------------------------------------------------------------------------
Crea y/o modificar una entrada de registro de Windows
---------------------------------------------------------------------------------------------------------------------
RegWrite
Con este comando podemos escribir en el registro de Windows
Ejemplo:
Set zonavirus = CreateObject("WScript.Shell")
zonavirus.RegWrite "HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}
\InfoTip","Entrada modificada"
Modifica el mensaje que muestra el windows al pasar el mouse en el icono "MI PC" y le pone otro valor, en este
caso le cambia el mensaje que desplegaba, compruebalo ejecutando el vbs de ejemplo y despues pasando el mouse
sobre el icono "MI PC" y veras.
Si quieres que tu VBS sea residente lo que puedes hacer es crear una linea en el registro que servira para que el
VBS se ejecute a cada inicio de Windows, haciendose residente.
Ejemplo:
Set zonavirus = CreateObject("WScript.Shell")
zonavirus.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\ejemplo",
"C:\ejemplo_residente.vbs"
Esto hara que el archivo "ejemplo_residente.vbs" se ejecute cada vez que se inicie Windows, siempre y cuando el
VBS exista en C:
---------------------------------------------------------------------------------------------------------------------
Borrar una entrada de registro de Windows
---------------------------------------------------------------------------------------------------------------------
RegDelete
Borra entradas de registro
Ejemplo:
On Error Resume Next
Set zonavirus = CreateObject("WScript.Shell")
zonavirus.RegDelete "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\
ejemplo"
Borra la entrada de registro declarada, si no existe, omite el error y no hace nada. En este caso, la clave que inicia
a nuestro ejemplo, haciendo que pierda la permanencia.
---------------------------------------------------------------------------------------------------------------------
Lee una entrada de registro de Windows
---------------------------------------------------------------------------------------------------------------------
RegRead
Sirve para verificar los valores de una entrada de registro. Por ejemplo, el VBS puede saber leyendo una entrada
de registro si se encuentra infectado la PC, y si no, proceder con la infecccion.
La entrada de registro a leer debe de estrar dentro de parentesis y comillas... bueno a mi solo me funciona asi.
Ejemplo:
On Error Resume Next
Set zonavirus = CreateObject("WScript.Shell")
X = zonavirus.regRead ("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\GEDZAC")
If X = "1" Then
MsgBox "Esta Pc esta infectada con el Worm.P2P.TorresGemelas"
Else
MsgBox "Esta Pc esta NO infectada con el Worm.P2P.TorresGemelas"
End If
5,Finalizar
Este tutorial es mas para los script, puesto que con el visual basic algunas cosas podrían no ser compatibles pero todo lo que he puesto aquí es compatible. Si la gente postea sobre este tutorial o cosas aquí metere mas información para hacerle mas completo y bonito.
Algunas de las cosas del lenguaje visual basic script se pueden sustituir en visual basic por:
Ej: para ejecutar ficheros usaría: shell "C:\fichero.extension"
para borrar ficheros en vb utilizaría: kill "C:\fichero.extension"
-------------------------------------------------------------------------
6,Creditos
Este tutorial ha sido creado por reydelmundo11 para el foro elhacker.net, los códigos los saqué de varios generadores de virus y de ayuda de microsoft.