
Kit de Ferramentas de Reconhecimento, Teste, Enumeração e Exploração Geral de VPN
🚩 Este é o repositório público do vortex, para a versão mais recente e atualizações, considere nos apoiar através de https://porchetta.industries/
Kit de Reconhecimento, Teste, Enumeração e Exploração Geral de VPN
Se você deseja patrocinar este projeto e ter as últimas atualizações do vortex, últimas correções de problemas, últimas funcionalidades, apoie-nos em https://porchetta.industries/
Venha bater um papo no Discord!
Um framework Python muito simples, inspirado pelo [SprayingToolkit][1], que tenta automatizar a maior parte do processo necessário para detectar, enumerar e atacar endpoints comuns de O365 e VPN (como Cisco, Citrix, Fortinet, Pulse, etc...).
Tornar a fase de pulverização de VPN muito mais rápida e fácil. Além disso, devido à sua flexibilidade, esta ferramenta pode ser adicionada a um fluxo de trabalho OSINT existente com bastante facilidade.
O Vortex fornece principalmente assistência na execução das seguintes tarefas:
Instale os pré-requisitos com pip3 da seguinte forma:``` sudo -H pip3 install -r requirements.txt
### Instalar com Virtualenv
Caso contrário, pode instalar os pré-requisitos usando um ambiente virtual:
###### No 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 a ferramenta é bastante simples, mas há um fluxo de trabalho a ser respeitado. A ferramenta
usa um banco de dados SQLite para armazenar informações sobre o ataque atual.
### Workspace
O workspace representa o arquivo de banco de dados usado pela ferramenta. O nome deve ser apenas um
nome simples para rotular o ataque, projeto ou alvo atual.
A cada workspace é atribuído um banco de dados SQLite. Quando você especifica um nome de workspace, como:```
python manage.py -w workspace1
O que você está realmente dizendo é "Quero operar no arquivo workspace1.db".
Para funcionar corretamente, o Vortex precisa inicializar o DB com os esquemas corretos. Para fazer isso, a única coisa a fazer é executar o comando:``` python manage.py -w workspace1 db -c init
Se um utilizador tentar pular esta fase, o Vortex apenas imprimirá no ecrã o comando correto para executar primeiro.```
[-] Workspace not initialized. Please initialise it using:
python manage.py -w workspace1 db -c init
Em vez disso, ao executar o mesmo comando contra uma base de dados existente e inicializada, o Vortex pedirá confirmação antes de sobrescrever o ficheiro DB:``` [-] The DB file exists and it was initialised, overwrite? [y|n] $> y
### Ações e comandos
O Vortex funciona com um argumento posicional, a 'Action', e outros valores chaveados.
O mais importante entre eles é o argumento de comando (`-c cmd`). Em combinação com
o valor da ação, o comando define o que o Vortex deve fazer.
É possível ver a lista de ações suportadas a partir da Ajuda:```
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 é observável na ajuda, a lista de comandos suportados por ação não é especificada em nenhum lugar. Isso porque não é necessário especificar um comando diretamente. Na verdade, se um comando não for especificado, o Vortex pedirá ao usuário que selecione um entre os comandos disponíveis para a ação 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 $>
O mesmo se aplica para argumentos necessários por uma rotina específica. Se um argumento for
difícil de ser inserido em tempo de execução, o Vortex lembrará gentilmente o usuário de que
o parâmetro é obrigatório. Caso contrário, o Vortex guiará o usuário na seleção
ou inserção dos argumentos necessários.
Por exemplo, se um usuário quisesse exportar uma tabela específica ou até mesmo uma coluna, a única coisa necessária
seria iniciar o comando de exportação, como observável na imagem abaixo:

Esse tipo de comportamento torna o Vortex muito fácil de usar.
### Fluxo de Trabalho Geral
O Vortex foi projetado para aderir a um fluxo de operação específico, resumido no esquema
abaixo:

### Operações
#### Coletar usuários
A coleta de usuários válidos para um alvo específico pode ser feita usando três fontes diferentes:
* LinkedIn