Skip to content

Un programa simple que combina VBS y Python para Windows que inyecta pulsaciones al teclado.

License

Notifications You must be signed in to change notification settings

ZombieGeeK0/VBSInjection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VBSInjection

[INFO] Imagen:

VBSInjection


[INFO] Este es un proyecto para Windows, pero también se pueden generar los scripts en Linux.

[INFO] Este proyecto combina Python, BATCH y VBS (Visual Basic Scripting).

[INFO] Especiales agradecimientos a Euronymou5 sin el que este proyecto habría sido inviable.

[INFO] Sistemas operativos soportados:

Sistema operativo Soporte
Windows ✔️
Linux ✔️
MacOS
Android
Apple & IOS

[INFO] Instalación en Windows:

[1] Descarga el archivo .zip

[2] Abre la carpeta y ejecuta el install.bat gráficamente o desde el terminal con start install.bat


[INFO] Instalación en Linux:

[1] Instalación con comandos:

sudo apt update && sudo apt upgrade && git clone https://www.github.com/VBSInjection && cd VBSInjection && chmod +x setup.sh && chmod 777 setup.sh && sudo bash setup.sh

[INFO] Hotkeys soportadas:

[INFO] Source: https://ss64.com/vb/sendkeys.html

Hotkey Manera
SHIFT (+ prefix) wshshell.sendkeys "%{F6}"
CTRL (^ PREFIX) wshshell.sendkeys "^{escape}"
ALT (% prefix) wshshell.sendkeys "%{F4}"
Hotkey Soporte para la v1
ENTER ✔️
ESCAPE ✔️
BACKSPACE ✔️
BREAK ✔️
CAPSLOCK ✔️
CLEAR ✔️
DELETE ✔️
INSERT ✔️
LEFT/RIGHT/UP/DOWN ✔️
END ✔️
F1-F16 ✔️
HELP ✔️
HOME ✔️
NUMLOCK ✔️
PGUP/PGDN ✔️
PRTSC (print screen) ✔️
SCROLLOCK ✔️
TAB ✔️

[INFO] Comandos:

$ python3 main.py --help
usage: main.py [-h] [--open OPEN] [--begin BEGIN] [--sleep SLEEP] [--write WRITE] [--keyhot KEYHOT] [--appactivate APPACTIVATE] [--message MESSAGE]
               [--close CLOSE]

options:
  -h, --help            show this help message and exit
  --open OPEN, -o OPEN  Indica el nombre y la extensión del archivo a abrir
  --begin BEGIN, -b BEGIN
                        Empieza creando el objeto de VBS en el archivo. Este argumento es necesario para empezar a crear el script
  --sleep SLEEP, -s SLEEP
                        Crea una pausa en el script de VBS del tiempo especificado en el argumento
  --write WRITE, -w WRITE
                        Escribe una tecla normal en el script VBS para que sea inyectada cuando se ejecute
  --keyhot KEYHOT, -k KEYHOT
                        Escribe una hotkey especificada en mayúscuñas en el archivo VBS
  --appactivate APPACTIVATE, -a APPACTIVATE
                        Avtiva la app indicada
  --message MESSAGE, -m MESSAGE
                        Indica el texto a mostrar en el mensaje
  --close CLOSE, -c CLOSE
                        Cierra el archivo 

[INFO] Funcionamiento:

[INFO] Se importan las librerías:

import os, argparse, sys
from colorama import Fore, Back

[INFO] Creamos los argumentos de parser:

parser = argparse.ArgumentParser()

parser.add_argument('--open', '-o',
                    required=False,
                    help="Indica el nombre y la extensión del archivo a abrir")

args = parser.parse_args()

[INFO] Para crear los colores del texto:

class color:
    RED = Fore.RED + Back.RESET
    RESET = Fore.RESET + Back.RESET

[INFO] Procesamos los argumentos con una condicional:

if args.begin == 'true':
    file = open('inject.vbs', 'a')
    file.write('Set WshShell = WScript.CreateObject("WScript.Shell")\n')
    file.write('strName = wshShell.ExpandEnvironmentStrings( "%USERNAME%" )\n')
    sys.exit()

[INFO] Comandos de VBS soportados:

[INFO] MsgBox:

MsgBox"Hello World",48,"Mensaje del sistema"

[INFO] Inciar el código creando el objeto:

Set WshShell = WScript.CreateObject("WScript.Shell")
strName = wshShell.ExpandEnvironmentStrings( "%USERNAME%" )

[INFO] Iniciar una app:

wshshell.run "cmd.exe"
wshshell.AppActivate "cmd.exe"

[INFO] Tiempo de pausa. En el argumento de Python se indica el tiempo en segundos y se traduce a milisegundos en el programa de VBS:

WScript.sleep 1000

[INFO] Inyección de pulsaciones del teclado:

wshshell.sendkeys "hello"

[INFO] Inyección de hotkeys:

wshshell.sendkeys "{ENTER}"

[INFO] Ejemplos de ejecución:

python3 main.py -o true
python3 main.py -b true
python3 main.py -s 1
python3 main.py -a cmd.exe
python3 main.py -s 1
python3 main.py -m Ejecutando...
python3 main.py -w ipconfig
python3 main.py -k ENTER
python3 main.py -s 1
python3 main.py -w exit
python3 main.py -k ENTER
python3 main.py -c true

[INFO] Esto generaría un programa de output (inject.vbs) donde estaría el siguiente contenido:

Set WshShell = WScript.CreateObject("WScript.Shell")
strName = wshShell.ExpandEnvironmentStrings( "%USERNAME%" )
WScript.sleep 1000
wshshell.run "cmd.exe"
wshshell.AppActivate "cmd.exe"
WScript.sleep 1000
MsgBox"Ejecutando...",48,"Mensaje del sistema"
wshshell.sendkeys "ipconfig"
wshshell.sendkeys "{ENTER}"
WScript.sleep 1000
wshshell.sendkeys "exit"
wshshell.sendkeys "{ENTER}"

[INFO] En este caso el programa serviría para abrir el CMD, ejecutar el comando ipconfig y salir del terminal.


imagen


🎖️ CONTRIBUIDORES 🎖️


[ 📬 ] Contacta conmigo a través de Discord mandando una invitación a qwfkr.

qwfkr

[ 📬 ] Si lo prefieres, mándame un correo a 3xpl017.contact@proton.me.

3xpl017.contact@proton.me.