
Herramienta integral de reconocimiento, pruebas, enumeración y explotación de VPN
🚩 Este es el repositorio público de vortex, para la última versión y actualizaciones, considera apoyarnos a través de https://porchetta.industries/
Kit de herramientas de reconocimiento, prueba, enumeración y explotación de VPN en general
Si quieres patrocinar este proyecto y tener las últimas actualizaciones de vortex, los últimos errores corregidos, las últimas características, apóyanos en https://porchetta.industries/
¡Ven a pasar el rato en Discord!
Un framework de Python muy simple, inspirado en [SprayingToolkit][1], que intenta automatizar la mayor parte del proceso necesario para detectar, enumerar y atacar endpoints comunes de O365 y VPN (como Cisco, Citrix, Fortinet, Pulse, etc...).
Hacer la fase de pulverización de VPN mucho más rápida y fácil. Además, debido a su flexibilidad, esta herramienta se puede añadir a un flujo de trabajo OSINT existente con bastante facilidad.
Vortex principalmente brinda asistencia para realizar las siguientes tareas:
Instala los requisitos previos con pip3 de la siguiente manera:``` sudo -H pip3 install -r requirements.txt
### Instalar con Virtualenv
De lo contrario, puedes instalar los requisitos previos usando un entorno virtual:
###### En Windows```
virtualenv venv
venv\Scripts\activate
pip install -r requirements.txt
python3 -m virtualenv venv source venv/bin/activate pip install -r requirements.txt
## Uso
Usar la herramienta es bastante sencillo, pero hay un flujo de trabajo que respetar. La herramienta
utiliza una base de datos SQLite para almacenar información sobre el ataque actual.
### Espacio de trabajo
El espacio de trabajo representa el archivo de base de datos utilizado por la herramienta. El nombre debe ser solo un
nombre simple para etiquetar el ataque, proyecto o objetivo actual.
A cada espacio de trabajo se le asigna una base de datos SQLite. Cuando especificas un nombre de espacio de trabajo,
como:```
python manage.py -w workspace1
Lo que realmente estás diciendo es "Quiero operar en el archivo workspace1.db".
Para funcionar correctamente, Vortex necesita inicializar la base de datos con los esquemas correctos. Para ello, lo único que hay que hacer es ejecutar el comando:``` python manage.py -w workspace1 db -c init
Si un usuario intenta saltarse esta fase, Vortex simplemente imprimirá en pantalla el comando correcto para ejecutar primero.```
[-] Workspace not initialized. Please initialise it using:
python manage.py -w workspace1 db -c init
En cambio, al ejecutar el mismo comando contra una base de datos existente e inicializada, Vortex pedirá confirmación antes de sobrescribir el archivo de la base de datos:``` [-] The DB file exists and it was initialised, overwrite? [y|n] $> y
### Acciones y comandos
Vortex funciona con un argumento posicional, la 'Acción', y otros valores clave.
El más importante entre ellos es el argumento de comando (`-c cmd`). En combinación con
el valor de acción, el comando define lo que Vortex debe hacer.
Es posible ver la lista de acciones compatibles desde la Ayuda:```
python manage.py -h
Vortex: VPN Overall Reconnaissance, Enumeration and eXploitation
positional arguments:
{db,domain,import,office,profile,search,tor,validate,vpn}
Action to execute
optional arguments:
-h, --help show this help message and exit
-w WORKSPACE, --workspace WORKSPACE
Workspace to use
-c COMMAND, --command COMMAND
Command for the action
-D DOMAIN, --domain DOMAIN
Domain under attack
-C COMPANY, --company COMPANY
Company under attack
-l LOCATION, --location LOCATION
Location of the company under attack (IE, UK, US, ...)
-u URL, --url URL VPN Endpoint Origin (schema://domain:port)
-t ENDPOINT_TYPE, --endpoint-type ENDPOINT_TYPE
Target Endpoint Type
-U USER, --user USER User name
-E EMAIL, --email EMAIL
User email
-N NAME, --name NAME User full name
-R ROLE, --role ROLE User job
-s SQL, --sql SQL SQL statement
-O EXPORT_FILE, --export-file EXPORT_FILE
Export file
-Q QUOTES, --quotes QUOTES
Produce an Excel safe CSV
-nh, --no-headers Remove CSV headers
-k KEYWORDS, --keywords KEYWORDS
Search keywords
-P PASSWORDS_FILE, --passwords-file PASSWORDS_FILE
Password file for spraying
-L, --leaks Use leaks for spraying
-I IMPORT_FILE, --import-file IMPORT_FILE
Import file
Como se puede observar en la ayuda, la lista de comandos compatibles por acción no está especificada en ningún lado. Esto se debe a que no es necesario especificar un comando directamente. De hecho, si no se especifica un comando, Vortex le pedirá al usuario que seleccione uno de entre los comandos disponibles para la acción especificada.``` python manage.py -w workspace1 db
,d#####F^ ,yy############yy ^9#######, ,######" y###################by ^9######, ######^ y#####F"" ^"9######y "######] d#####^ ,#####" by klezVirus ^9#####, ^######, ,#####] ,####F yy#######y, ^9####b ^###### [##### ####F ,###F""'"9####, 9####] 9##### #####F [#### ,##F^ yy "###b 9####, ^#####] #####] [###] ### dF""#b ^###] ^####] #####] 9####b [#### 9##, 9bd [#] [##b ##### [##### [##### ####, 9##y, ,y##^ d##F ##### [####] #####b ^####y ^"#####" d###^ ,####] d##### [#####, ^####by ,d###^ d####^ #####F 9#####y "#####byyyyyyd####F^ d####F [#####9 9#####b, ""############"^ ,d####F ,###### ^######b, ""'""'"^ ,d#####F d#####F
[*] Select a command: 0 : init 1 : sql 2 : add-endpoint 3 : add-user 4 : drop-user 5 : truncate-table 6 : export $>
Lo mismo aplica para los argumentos necesarios para una rutina específica. Si un argumento es
difícil de ingresar en tiempo de ejecución, Vortex le recordará amablemente al usuario que
el parámetro es necesario. De lo contrario, Vortex guiará al usuario para seleccionar
o ingresar los argumentos necesarios.
Por ejemplo, si un usuario quisiera exportar una tabla específica o incluso una columna, lo único que necesitaría
sería lanzar el comando de exportación, como se puede observar en la imagen a continuación:

Este tipo de comportamiento hace que Vortex sea muy fácil de usar.
### Flujo de trabajo general
Vortex ha sido diseñado para adherirse a un flujo de trabajo operativo específico, resumido en el siguiente
esquema:

### Operaciones
#### Recopilar usuarios