Autor
|
Tema: filnspect [VBS] (Leído 4,260 veces)
|
Novlucker
Ninja y
Colaborador
 
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Buenas ... Bueno, hace un tiempo y tras una consulta en el sub de seguridad se me ocurrió crear un pequeño script para consultar de manera automática sobre el origen de determinados archivos/librerías, para lo cual hacía uso de la web :http://www.fileinspect.com/, la cual esta en beta para ya muestra tener una buena bbdd  El caso es que en ese momento el script fue resultado de algunos minutos de aburrimiento, pero luego de analizarlo un poco más detenidamente me pareció que me podía resultar útil, así que lo he ido modificando en mi beneficio  y lo comparto a continuación  'by Novlucker Set objxmlHTTP = CreateObject("Microsoft.XMLHTTP") Set objfso = Createobject("Scripting.filesystemobject") If wscript.arguments.count <> 2 then Ayuda() End if Format = Ucase(wscript.arguments(0)) Select case Format case "/F" Set FromFolder = objfso.getfolder(wscript.arguments(1)) Set FileList = FromFolder.files If FileList.count = 0 then Msgbox "La carpeta seleccionada no contiene ningún archivo", 64, "Informe" wscript.quit End if case "/A" If objfso.fileexists(wscript.arguments(1)) then Set FromFile = objfso.opentextfile(wscript.arguments(1),1) FileList = Split(FromFile.readall,vbnewline) FromFile.close Else Msgbox "El archivo seleccionado no existe", 16, "Informe" wscript.quit End if case "/L" FileList = Split(wscript.arguments(1),",") case "/P" Set Taskmgr = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery ("select * from Win32_Process") Dim Taskname(): Redim Preserve Taskname(Taskmgr.count-1) For Each T in Taskmgr Taskname(n) = T.name n = n+1 Next FileList = FilterAray(Taskname) case else Ayuda() End Select For Each F in FileList If Format = "/F" then URLF = "http://www.fileinspect.com/fileinfo/" & LCase(Replace(F.name,".","-")) F = F.name Else URLF = "http://www.fileinspect.com/fileinfo/" & LCase(Replace(F,".","-")) End if objxmlHTTP.open "GET", URLF, 0 objxmlHTTP.send() Do while objxmlHTTP.readystate <> 4 wscript.sleep 200 Loop response = objxmlHTTP.responsetext blogcopy = instr(1,response,"id=""blog-copy-text""",1) If blogcopy > 0 then Startd = instr(blogcopy, response,">",1)+1 Endd = instr(Startd, response,"<",1) Definition = mid(Response,Startd,Endd-Startd) Definition = replace(Definition,"<", "<") Definition = replace(Definition,">", ">") Definition = replace(Definition,""", """") wscript.echo Definition Else wscript.echo "</p><table cellpadding=""0"" cellspacing=""0"" width=""100%"" bgcolor=#737CA1><tr><td><a style=""color:#000000;font-size:15px;color=white;text-decoration:none;font-family:Arial;border:0px;""<b>" & F & ": Archivo desconocido</b></a></td></tr></table>" End if Next Function FilterAray(Aray) dim auxAray() For Each A in Aray Match = False On error resume next Newlength = ubound(auxAray) + 1 If err.number > 0 then Redim Preserve auxAray(0) auxAray(0) = A err.clear On error goto 0 End if For Each E in auxAray If A = E then Match = True Exit For End if Next If Match = False then Redim Preserve auxAray(Newlength) auxAray(Newlength) = A End if Next FilterAray = auxAray End Function Sub ayuda() wscript.echo vbnewline & "Uso: cscript.exe/nologo " & wscript.scriptname & " [formato] [parametro]" & vbnewline & _ vbnewline & chr(9) & "Formato" & chr(9) & "Parametro" & vbnewline & chr(9) & "/F" & chr(9) & "Ruta Carpeta" & vbnewline & _ chr(9) & "/A" & chr(9) & "Ruta Archivo (Conteniendo listado)" & vbnewline & chr(9) & "/L" & chr(9) & "Lista de archivos separados por coma" & vbnewline & _ chr(9) & "/P" & chr(9) & "Análisis de procesos en ejecución (Cualquier valor)" & vbnewline & vbnewline & "Ejemplos:" & vbnewline & chr(9) & "cscript.exe/nologo " & _ wscript.scriptname & " /F" & " C:\WINDOWS" & vbnewline & chr(9) & "cscript.exe/nologo " & wscript.scriptname & " /A" & _ " C:\Archivos.txt" & vbnewline & chr(9) & "cscript.exe/nologo " & wscript.scriptname & " /L" & " ""mstsc.exe,syskey.exe,appmgr.dll""" & _ vbnewline & chr(9) & "cscript.exe/nologo " & wscript.scriptname & " /P -" wscript.quit End Sub
El script debe de lanzarse desde línea de comandos pasando los parámetros correspondientes, los cuales pueden verse en la ayuda ( tanto desde ms-dos como con doble click) Ej:C:\Documents and Settings\Novlucker\Escritorio>cscript//nologo "filnspect.vbs" > Reporte.html
Como se ve además hay que redireccionar la salida ( >) a un archivo de extensión html Así se ve el resultado: Saludos Post original: Error de permisos al modificar msconfig Edito:La web bajo la cual se realizaban las consultas, ha cambiado MUCHO la manera en la que se visualizan los archivos, por lo que ha dejado de ser funcional 
|
|
« Última modificación: 16 Junio 2009, 05:50 am por Novlucker »
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
aaronduran2
|
Como te tienen dicho en otros posts, deberías hacer una recopilación de todos tus códigos, son buenísimos 
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
 
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Gracias  Estoy viendo que otras opciones más le puedo agregar que pueda resultar útil  (al menos a mi XD) Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
EddyW
|
Definition = replace(Definition,""", """") Esa linea me fue mal es la linea 59 despues lo edite y le aunmente una comilla que creo que faltaba y recien funciono..asi: Definition = replace(Definition,"""", """") Creo que faltaba no se, pero asi recien me funciono.. bueno lo demas esta muy bien me funciona perfecto..  SaluDOS!!!
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
 
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Ju  , estas seguro de haber copiado mi code? porque si te fijas, la línea 59 no tiene eso, sino que tiene Definition = replace(Definition,""", """"), es más, lo que comentas no esta en ningún sitio  Saludos
|
|
« Última modificación: 6 Mayo 2009, 18:00 pm por Novlucker »
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
EddyW
|
Ju  , estas seguro de haber copiado mi code? porque si te fijas, la línea 59 tiene eso, sino que tiene Definition = replace(Definition,""", """"), es más, lo que comentas no esta en ningún sitio  Saludos Si acabo de darme cuenta, creo que hay algunos errores en esto, copie el code y lo pege en el Block de notas pero lo pego todo en una linea.. luego puse citar en tu post y lo copie de ahi por esa razon salio asi.. no se si sera solo ami pero al copiar el code asi y pegarlo lo pega en una sola linea todo sin salto de linea, pero igual ya lo puse correctamente y funciona bien.. SaluDOS!!!
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
 
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
A que adivino que navegador utilizas? IExplorer?  En iexplorer ocurre eso cuando copias un code, en Firefox no ocurre  Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
EddyW
|
A que adivino que navegador utilizas? IExplorer?  En iexplorer ocurre eso cuando copias un code, en Firefox no ocurre  Saludos Por desgracia si estoy usando IExplorer, no estoy en mi PC, en la mia uso Google Crome es mucho mas liviano y rapido y no sucede esto como en esta cosa.. SaluDOS!!!
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
 
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Simplemente comentar que como dije antes, estaba viendo que más le podía agregar al script, por lo que he añadido el parámetro " /P", el cual toma como input los procesos ejecutandose en la PC  , para lo cual entre otras cosas he debido de agregar una función para filtrar valores repetidos en la "colección"C:\Documents and Settings\Novlucker\Escritorio>cscript/nologo filnspect.vbs Uso: cscript.exe/nologo filnspect.vbs [formato] [parametro] Formato Parametro /F Ruta Carpeta /A Ruta Archivo (Conteniendo listado) /L Lista de archivos separados por coma /P Análisis de procesos en ejecución (Cualquier valor) Ejemplos: cscript.exe/nologo filnspect.vbs /F C:\WINDOWS cscript.exe/nologo filnspect.vbs /A C:\Archivos.txt cscript.exe/nologo filnspect.vbs /L "mstsc.exe,syskey.exe,appmgr.dll" cscript.exe/nologo filnspect.vbs /P - C:\Documents and Settings\Novlucker\Escritorio>
Saludos P.d: Tener en cuenta de que puede servir para dar un primer vistazo, pero solo para eso, ya que el análisis en si se basa en el nombre de ejecutables, y si nos referimos a malware, este puede tomar el nombre de ejecutables legítimos
|
|
« Última modificación: 11 Mayo 2009, 17:08 pm por Novlucker »
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
|
|