Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
vortex — VPN整体侦察、测试、枚举与利用工具包 | Kitploit
工具/GitHubGitHub/klezvirus/vortex
OSINT (开源情报)密码破解钓鱼工具侦察密码攻击漏洞分析信息收集渗透测试社会工程学子域名枚举
GitHubklezvirus/vortex

vortex

45051744年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

VPN整体侦察、测试、枚举与利用工具包

查看仓库

🚩 这是 vortex 的公共仓库,如需最新版本和更新,请考虑通过 https://porchetta.industries/ 支持我们

Vortex

VPN 总体侦察、测试、枚举与利用工具包

🚩 赞助商

如果您想赞助本项目并获得 vortex 的最新更新、问题修复和新功能,请通过 https://porchetta.industries/ 支持我们

官方 Discord 频道

欢迎加入 Discord!

Porchetta Industries

概述

一个非常简单的Python框架,灵感来源于 [SprayingToolkit][1],旨在自动化检测、枚举和攻击常见 O365 及 VPN 端点(如 Cisco、Citrix、Fortinet、Pulse 等)所需的大部分流程。

为什么开发它

使 VPN 喷洒阶段变得更快、更简单。此外,由于其灵活性,该工具可以很容易地添加到现有的 OSINT 工作流中。

该工具能为您做什么

Vortex 主要协助执行以下任务:

  • 用户搜索与收集
    • LinkedIn
    • Google
    • PwnDB
  • 密码泄露
    • PwnDB
  • 主域名识别
    • OWA
    • S4B/Lynk
    • ADFS
  • 子域名搜索
    • 枚举
    • 暴力破解
  • VPN 端点检测
  • 密码喷洒/猜测攻击
    • O365
    • Lynk/S4B
    • ADFS
    • IMAP
    • VPNs
      • Cisco
      • Citrix
      • FortiNet
      • Pulse Secure
      • SonicWall
  • 社交网络资料搜索
    • Instagram
    • Facebook
    • Twitter
    • TikTok
    • Onlyfans

安装

使用 pip3 安装先决条件如下:``` sudo -H pip3 install -r requirements.txt

### 使用 Virtualenv 安装

否则,您可以使用虚拟环境安装先决条件:

###### 在 Windows 上```
virtualenv venv
venv\Scripts\activate
pip install -r requirements.txt
在 Linux 上```

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

## 使用方法

使用该工具非常直接,但有一个工作流程需要遵循。该工具使用一个SQLite数据库来存储当前攻击的相关信息。

### 工作空间

工作空间表示该工具使用的数据库文件。名称应只是一个简单的标签,用于标识当前的攻击、项目或目标。

每个工作空间会分配一个SQLite数据库。当你指定一个工作空间名称时,例如:```
python manage.py -w workspace1

你实际表达的是“我希望操作 workspace1.db 文件”。

工作空间初始化

为了正常运行,Vortex 需要使用正确的模式初始化数据库。
为此,唯一需要做的就是执行命令:``` python manage.py -w workspace1 db -c init

如果用户尝试跳过此阶段,Vortex 将直接在屏幕上打印首先需要启动的正确命令。```
[-] Workspace not initialized. Please initialise it using:
    python manage.py -w workspace1 db -c init

相反,当针对一个现有的、已初始化的数据库运行相同的命令时,Vortex 会在覆盖数据库文件之前要求确认:``` [-] The DB file exists and it was initialised, overwrite? [y|n] $> y

### 操作与命令

Vortex 接受一个位置参数,即'操作'(Action),以及其他键值参数。

其中最重要的是命令参数(`-c cmd`)。与操作值结合,
命令定义了 Vortex 应执行的操作。

可以通过帮助查看支持的操作列表:```
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

动态参数输入

从帮助信息中可以看出,每个动作所支持的命令列表在任何地方都没有明确指定。这是因为没有必要直接指定一个命令。实际上,如果没有指定命令,Vortex 会要求用户从该动作可用的命令中选择一个。``` 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 $>

同样适用于特定例程所需的参数。如果某个参数在运行时难以输入,Vortex会友好地提醒用户该参数是必需的。否则,Vortex将引导用户选择或输入必要的参数。

例如,如果用户想要导出特定的表甚至某一列,唯一需要做的就是启动导出命令,如下面的图片所示:

![导出向导](https://assets.kitploit.com/production/public/readmes/5129/d68f1299e07d162c61c0c98d33a490f36d51848799f72fe98eb5f2e565fdbf2a.gif)

这种行为使得Vortex非常易于使用。

### 通用工作流程

Vortex被设计为遵循特定的操作工作流程,总结如下模式:

![通用工作流程](https://assets.kitploit.com/production/public/readmes/5129/bcde914863b2f917ef576c849a9374eabf3d10d26f3e271098ff8bc4a03f036b.png)

### 操作

#### 收集用户

收集特定目标的有效用户可以通过三种不同的数据源完成:

* LinkedIn

由于违反LinkedIn用户政策,该数据源已被移除。您仍然可以使用[GoMapEnum](https://github.com/nodauf/GoMapEnum)在LinkedIn上操作,然后使用`import`命令导入电子邮件地址。

再次提醒,使用此功能违反了LinkedIn用户协议,如LinkedIn用户协议第[8.2](https://www.linkedin.com/legal/user-agreement#dos)点所述:

> 您同意不会:[...]
> 2. 开发、支持或使用软件、设备、脚本、机器人或任何其他手段或过程(包括爬虫、浏览器插件和附加组件或任何其他技术)来抓取服务或以其他方式复制服务中的个人资料及其他数据;

* CrossLinked

为了部分替代上述功能,该工具嵌入了[CrossLinked](https://github.com/m8r0wn/CrossLinked)的改编版本。该工具将尝试使用Google和Bing检测公司的员工。当然,这不如直接在LinkedIn上搜索,但它相当有用。

为了正确操作,该工具将询问用户应使用哪种用户名格式(例如 john.doe、j.doe 或 d.john),以及目标域使用的标准域名是什么。```
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

该数据源使用一个精简修改版的theHarvester运行。 该工具将尝试从Google(被动收集)中使用Google Dorks提取姓名/电子邮件,并从公司网站(主动收集)中提取。``` 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!

* PwnDB

此源使用移植自[sn0int](https://github.com/kpcyrd/sn0int)的版本运行。

**注意**:此功能需要连接到TOR网络。在Windows上,可以使用Vortex附带的嵌入版本。而在Linux上,则需要安装tor包(例如在Kali上执行`sudo apt-get install tor`)。
下载工具