Tutorialdevisualbasicscript: Estetutorialhasidohechopormicogiendoej Estetutorialhasido hechopormicogiendoejemplosdescriptdefuent emplosdescriptdefuentes. es. 1Entornodecompilación: Para"compilar"scriptpodemosusarelblocde Para"compilar"script podemosusarelblocdenotasdelwindowsoelp notasdelwindowsoelpropiovis ropiovis ualbasic,aunqueelmasbaratoeselblocdenotas. Blocdenotas: Seintroducecomosimpletexto,luegosedaa Seintroducecomosimp letexto,luegosedaaarchivo/guardarcomo..., archivo/guardarcomo...,yeneld yeneld iálogodeguardarledasaelegirTodoslosar iálogodeguardarled asaelegirTodoslosarchivosyguardaselarchi chivosyguardaselarchivoconform voconform ato*.vbs. Visualbasic: Colocaselcódigoeneleventodondequierasqueseproduzca. 2Losobjetosmasimportantes Envisualbasicscripttrabajamosconobjetos Envisualbasicscript trabajamosconobjetosquesonrutinasespecial quesonrutinasespecializadasde izadasde VisualBasicScriptquereuneunconjuntode VisualBasicScriptq uereuneunconjuntodelibreriasorutinasque libreriasorutinasque simplificanlaprogramacionenVBS,dependiend simplificanlaprogram acionenVBS,dependiendodeloquequeramoshace odeloquequeramoshacerllamamo rllamamo saunobjetodelwindowsodealgúnprograma, saunobjetodelwind owsodealgúnprograma,losmasimportantesson: losmasimportantesson: "Scripting.FileSystemObject":Seutilizaparaoperacionesconficheros, "Scripting.FileSystemObject":Seutilizapara operacionesconficheros,copiar, copiar, pegar,moveretc... "WScript.Shell"Seutilizaparashell'scomand "WScript.Shell"Seuti lizaparashell'scomandosenelsistema,ejecuta osenelsistema,ejecutaficheros ficheros ,abrirnavegador,usarelregistro. "outlook.application":Elfamosooutlookysu "outlook.application": Elfamosooutlookysupropagacióndelosgusani propagacióndelosgusanitos. tos. Excel.Application:Elprogramadecalculoexcel. Estossonlosobjetosmasimportantesenvisualbasicscript. Sedefinen: Setvariable=CreateObject("nombreOBJ") Yluegocuandoqueremoshacerunaopciondeeseobjeto variable.accion"parametro" ElobjetoScripting.FileSystemObject: Comoyadijimosesteobjetoseutilizaparaop Comoyadijimosesteo bjetoseutilizaparaoperacionesconficheros,p eracionesconficheros,puedespon uedespon er: .\siestáenelmismodirectorio. C:\carpetaespecificandoeldirectorio Accionesquepodemoshacerconesteobjeto: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Copiararchivos -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CopyFile Conestecomando,podemoscopiararchivosenlapc. Ejemplo: Setvariable=CreateObject("Scripting.FileSystemObject") variable.CopyFile".\ejemplo_Copyfile.vbs","C:\perro.txt" Copiaelarchivo"ejemplo_Copyfile.vbs"como"perro.txt"enlaunidadC Copiaelarchivo"ejemplo_Copyfile.vbs"como" perro.txt"enlaunidadC,puedes ,puedes copiarotrosarchivos apartedelmismovbs. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Moverarchivo -------------------------------------------------------------------------------------------------------------------MoveFile Conestecomando,podemosmoverarchivosdelapc. Ejemplo: Setvariable=CreateObject("Scripting.FileSystemObject") variable.MoveFile".\ejemplo_MoverArchivo.vbs","C:\ejemplo_MoverArchivo.vbs" Estomueveelarchivo"ejemplo_MoverArchivo.vbs"aC,puedesmoverotrosarchivo sapartedelmismovbs. -------------------------------------------------------------------------------------------------------------------Borrararchivos -------------------------------------------------------------------------------------------------------------------DeleteFile Conestecomandoborramosarchivosenlapc. Ejemplo: Setvariable=CreateObject("Scripting.FileSystemObject") variable.DeleteFile"C:\perro.txt" Estoborraraelarchivo"perro.txt"delaunidadC.Sipones*.*¡borrariatodosl osarchivos!,¡cuidado! -------------------------------------------------------------------------------------------------------------------Crearunacarpeta -------------------------------------------------------------------------------------------------------------------CreateFolder Sirveparacrearcarpetasenelpc. Ejemplo: Setvariable=CreateObject("Scripting.FileSystemObject") variable.CreateFolder"C:\perro" Estocrearalacarpeta"perro"enlaunidadC -------------------------------------------------------------------------------------------------------------------Borrarunacarpeta -------------------------------------------------------------------------------------------------------------------DeleteFolder Estecomandosirveparaborrarcarpetas.
Ejemplo: Setvariable=CreateObject("Scripting.FileSystemObject") variable.DeleteFolder"C:\perro" Estoborraralacarpeta"perro"delaunidadC.Sipones*.*borrariatodoslas carpetas! -------------------------------------------------------------------------------------------------------------------Crearunarchivo -------------------------------------------------------------------------------------------------------------------CreateTextFile Sirveparacreararchivosenlapc. Setvariable=CreateObject("Scripting.FileSystemObject") variable.CreateTextFile"C:\perro.mp3" EstássonlasfuncionesdeScripting.FilesystemObjecttepermitehacertodaslaso peracionesconficherosdelsistema. 4ElobjetoWScript.Shell: Esteobjetoesparamandarshellalsistema,paraabrirelnavegador,paraabrir ficheros,paramodificarelregistro. Ejemplos: -------------------------------------------------------------------------------------------------------------------Ejecutary/oabrirarchivosopaginasweb -------------------------------------------------------------------------------------------------------------------Run Sirveparaejecutararchivosyabrirpaginasweb. Ejemplo: OnErrorResumeNext Setvariable=CreateObject("WScript.Shell") variable.Run"C:\perro.txt" Estoejecutaraelarchivo"perro.txt"siesteexisteenlarutaactual,Siescib esunURLesteseriaabierto porelnavegadordeinternet,peroesnecesarioquepongaslas"www",comowww.g eocities.com/reydelmundo11jorge;ysi laurlnocomienzacon"www",tienesqueanteponerel"http:\\",comohttp:\\for o.elhacker.net -------------------------------------------------------------------------------------------------------------------Creay/omodificarunaentradaderegistrodeWindows -------------------------------------------------------------------------------------------------------------------RegWrite
ConestecomandopodemosescribirenelregistrodeWindows Ejemplo: Setzonavirus=CreateObject("WScript.Shell") zonavirus.RegWrite"HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309 D} \InfoTip","Entradamodificada" Modificaelmensajequemuestraelwindowsalpasarelmouseenelicono"MIPC" yleponeotrovalor,eneste casolecambiaelmensajequedesplegaba,compruebaloejecutandoelvbsdeejemp loydespuespasandoelmouse sobreelicono"MIPC"yveras. SiquieresquetuVBSsearesidenteloquepuedeshacerescrearunalineaenel registroqueserviraparaqueel VBSseejecuteacadainiciodeWindows,haciendoseresidente. Ejemplo: Setzonavirus=CreateObject("WScript.Shell") zonavirus.RegWrite"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion \Run\ejemplo", "C:\ejemplo_residente.vbs" Estoharaqueelarchivo"ejemplo_residente.vbs"seejecutecadavezqueseinic ieWindows,siempreycuandoel VBSexistaenC: -------------------------------------------------------------------------------------------------------------------BorrarunaentradaderegistrodeWindows -------------------------------------------------------------------------------------------------------------------RegDelete Borraentradasderegistro Ejemplo: OnErrorResumeNext Setzonavirus=CreateObject("WScript.Shell") zonavirus.RegDelete"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersio n\Run\ ejemplo" Borralaentradaderegistrodeclarada,sinoexiste,omiteelerrorynohacen ada.Enestecaso,laclavequeinicia anuestroejemplo,haciendoquepierdalapermanencia. -------------------------------------------------------------------------------------------------------------------LeeunaentradaderegistrodeWindows -------------------------------------------------------------------------------------------------------------------RegRead
Sirveparaverificarlosvaloresdeunaentradaderegistro.Porejemplo,elVBS puedesaberleyendounaentrada deregistrosiseencuentrainfectadolaPC,ysino,procederconlainfecccion . Laentradaderegistroaleerdebedeestrardentrodeparentesisycomillas... buenoamisolomefuncionaasi. Ejemplo: OnErrorResumeNext Setzonavirus=CreateObject("WScript.Shell") X=zonavirus.regRead("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVer sion\GEDZAC") IfX="1"Then MsgBox"EstaPcestainfectadaconelWorm.P2P.TorresGemelas" Else MsgBox"EstaPcestaNOinfectadaconelWorm.P2P.TorresGemelas" EndIf Estassonlasfuncionesmasimportantesdelobjetoshellaunquetambiénsepueden usarotrascosascomoporejemplo: zonavirus.Run"C:\WINDOWS\RUNDLL32.EXEuser.exe,ExitWindows" 6Objetosparasituarnos Tambiénlosobjetostepuedeservirparaquetedevuelvalascarpetasmasimportan tesdelsistema. Podemosobtenerdirectoriosdemisdocumentos,botoninicioetc..conelobjeto WScript.Shell: zonavirus.SpecialFolders("MyDocuments") zonavirus.SpecialFolders("SendTo") zonavirus.SpecialFolders("StartMenu") zonavirus.SpecialFolders("Startup") zonavirus.SpecialFolders("Desktop") ConelobjetoScripting.FileSystemObjectpuedes: zonavirus.GetSpecialFolder(0)'Obtenerladireccióndelacarpetawindows zonarvirus.GetSpecialFolder(1)'ObenerladireccióndelacarpetaSystem zonavirus.GetSpecialFolder(2)'Obtenerladireccióndelacarpetatemp Sinosqueremossituarcomosellamaelscriptqueestaejecutandopodemosponer Wscript.ScriptFullNamesindefinirobjetoalguno. 8Erroresmascomunesentrevbsyvb: Puedensurgiroserroresaltransladarunscriptavisualbasictendríais. Wscript.ScriptFullNamequesesustituiriaporapp.exename Tambiéncuandohaceisalgodelregistroelcomandotienequeestartodoenlamism alineasinoelvisualbasictedaerror. Estossonlosmascomunes. 9Despedida: Estetutorialhasidohechoporkaguasanaguiaunquealgunascosashansidohecha spormi.Esperoquehosseautil. P.SSitengoalgúnerrorcomentadmelo. http://foro.elhacker.net/analisis_y_diseno_de_malware/tutorial_de_visual_basic_s cript_paso_a_paso-t75028.0.html#ixzz1IcGlKIA2