En este breve tema les mostrare un código hecho por mi en VBScript (un Payload) que ejecuta un bat almacenado en una usb.
Primero busque en google que era un payload y encontré que en la pagina de wikipedia nos dice lo siguiente:
En seguridad computacional, el payload se refiere a la parte del
malware que realiza la acción maliciosa.
En el análisis de software malicioso como gusanos, virus o Troyanos, se refiere a los resultados del ataque del
software.
La parte maliciosa que aremos sera cargar x programa que se encuentra en nuestra USB con permisos de administrador cada ves que sea insertada en nuestra PC.
Para eso nuestro payload deberá ejecutarse en nuestra PC cada ves que encienda y con permisos de administrador.
Para poder conseguir permisos de administrador tuve que recurrir a un tema anterior aquí el link si quieren he charle un vistazo:
http://elblogdeflamer.blogspot.mx/2016/05/conseguir-permisos-de-administrador-por.htmlBueno aquí les dejo el código con una breve explicación de cada linea y separe un poco las lineas para que no se mirara todo junto:
option explicit
on error resume next
' aqui le desimos que si hay un error que siga la ejecucion'
dim shell,system,usb,disco,bat,vf
' declaramos variables'
set shell = createobject("wscript.shell")
' creamos el objecto shell'
set system = createobject("scripting.filesystemobject")
' creamos el objecto system'
bat="sus\polo.bat"
'AQUI PONES LA RUTA DE EL BAT EN LA USB'
if not(system.fileexists("wxs.exe")) then
' preguntamos si existe wxs.exe '
system.copyfile wscript.fullname,"wxs.exe"
' copiamos el wscript adonde se encuentra nuestro vbs con el nombre wxs'
end if
comprovar ' funcion insistente que nos dara permisos de administrador'
while true
' ciclo while infinito'
set usb = system.drives
' obtenemos la lista de drives conectados '
for each disco in usb
' recoremos la lista de drives con un ciclo for '
if disco.drivetype=1 then
' preguntamos si el drives es una USB '
if disco.SerialNumber = "273197608" then
'aqui preguntamos si es nuestro usb (CAMBIAS ESTO POR TU ID DE USB)'
if system.fileexists(disco.RootFolder & bat) then
' preguntamos si existe el archivo bat'
shell.run "cmd.exe /c " & disco.RootFolder & bat ,0
'ejecutamos el bat en modo oculto '
while system.driveexists(disco.RootFolder) and err = 0
' ciclo while que pregunta si no sea desconectado nuestra usb'
wscript.sleep 1000
'pausa de 1 segundo'
wend
err.number=0
' reiniciamos los errores a 0'
end if
end if
end if
next
wend
function comprovar
dim process,list,s,service,objShell
'declaramos las variables de la funcion'
Set process =GetObject("winmgmts:")
' creamos un objecto winmgmts'
Set list= process.instancesof("win32_process")
' obtenemos la lista de procesos'
s=0
' inicializamos a 0'
For Each service In list
'ciclo for donde recorremos la lista de procesos en busca de nuestra copia de wscript '
if service.name="wxs.exe" then
' pregunta si se esta ejecutando wxs.exe'
s=s+1
' si entra al if quiere desir que se esta ejecutando wxs.exe entonses a la variable s se le aumenta 1'
end if
next
if s=0 then
' pregunta si s vale 0 quiere desir que no se esta ejecutando wxs'
Set objShell = CreateObject("Shell.Application")
'crea un objeto application'
objShell.ShellExecute "wxs.exe ", Chr(34) & WScript.ScriptFullName & Chr(34) & " RunAsAdministrator", "", "runas", 0
' se autoejecuta este script con permisos de administrador'
comprovar
' y buelve a yamarse el metodo comprovar hasta que el usuario conseda los permisos de administrador'
end if
end function
ya que tengan copiado el código, lo pegan en bloc de notas y lo aguardan con la extencion ".vbs" yo lo nombre "Payload.vbs"
ahora si quieren saber su numero id de usb aquí les dejo este otro programa
option explicit
dim system,usb,unidad
set system = createobject("scripting.filesystemobject")
unidad=inputbox("Ingresa La Letra De La Unidad" & vbcrlf & vbcrlf & "Ejemplo1--- E Ejemplo2--- E: Ejemplo3--- E:\")
if unidad <> "" then
if system.driveexists(unidad) then
set usb = system.getdrive(unidad)
msgbox "Unidad Expecificada: " & usb.rootfolder & vbcrlf & vbcrlf & "Con Nombre: " & usb.volumename & vbcrlf & vbcrlf & "Su Numero Serie Es: " & usb.SerialNumber
else
msgbox "Unidad Ingresada No Existente",,"Aviso De Error"
end if
else
msgbox "No Se Ingreso Ninguna Unidad",,"Aviso De Error"
end if
Igual que el anterior lo copian y lo pegan con la extencion ".vbs" y al ejecutar este ultimo programa nos preguntara lo siguiente:
en este cuadro de texto tendrán que ingresar la letra de unidad, tienen 3 diferentes modos de hacerlo
La pura letra de la unidad
1) E
La letra de la unidad acompañada de los dos puntos
2) E:
Y por ultimo pueden ingresar la letra de la unidad junto con los 2 puntos seguido de la barra inversa
3) E:\
los 3 modos funcionan y como respuesta nos manda lo siguiente
Ahora si quieren que su payload se inicie cuando encienda la computadora tendrán que añadirlo al registro.
Abrimos el regedit y nos iremos hasta la sub-clave
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
y agregamos una nueva cadena dando clic derecho y aparecerá lo siguiente
Ustedes pueden ponerle el nombre que ustedes quieran yo le pondre "payload" y para ponerle el valor damos doble clic sobre el y ponemos la ruta del payload así:
por ultimo presionamos aceptar y cuando se inicie nuestra pc nuestro payload se ejecutara y empezara a buscar nuestra usb para ejecutar el bat que se encuentra en el
bueno saludos flamer y creo que eso es todo