
مجموعة أدوات شاملة لاستطلاع واختبار وتعداد واستغلال شبكات VPN
🚩 هذا هو المستودع العام لـ vortex، للحصول على أحدث إصدار وتحديثات، يرجى التفكير في دعمنا من خلال https://porchetta.industries/
مجموعة أدوات الاستطلاع والاختبار والتعداد والاستغلال الشاملة لشبكات VPN
إذا كنت ترغب في رعاية هذا المشروع والحصول على أحدث التحديثات على vortex، وإصلاح أحدث المشكلات، وأحدث الميزات، يرجى دعمنا على https://porchetta.industries/
تعال وتسلى على ديسكورد!
إطار عمل بايثون بسيط جدًا، مستوحى من [SprayingToolkit][1]، يحاول أتمتة معظم العمليات المطلوبة لاكتشاف وتعداد ومهاجمة نقاط نهاية O365 و VPN الشائعة (مثل Cisco و Citrix و Fortinet و Pulse وما إلى ذلك).
جعل مرحلة رش VPN أسرع وأسهل بكثير. أيضًا، نظرًا لمرونته، يمكن إضافة هذه الأداة إلى سير عمل OSINT الحالي بسهولة تامة.
توفر Vortex المساعدة بشكل أساسي في أداء المهام التالية:
قم بتثبيت المتطلبات الأساسية باستخدام pip3 كما يلي:``` sudo -H pip3 install -r requirements.txt
### التثبيت باستخدام Virtualenv
بخلاف ذلك، يمكنك تثبيت المتطلبات الأساسية باستخدام بيئة افتراضية:
###### على ويندوز```
virtualenv venv
venv\Scripts\activate
pip install -r requirements.txt
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 تأكيدًا قبل الكتابة فوق ملف DB:```
[-] The DB file exists and it was initialised, overwrite?
[y|n] $> y
يعمل Vortex مع وسيط موضعي واحد، وهو 'الإجراء'، وقيم مفاتيح أخرى.
أهم هذه الوسائط هو وسيط الأمر (-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 بتوجيه المستخدم إلى اختيار أو إدخال الوسائط اللازمة.
على سبيل المثال، إذا أراد المستخدم تصدير جدول معين أو حتى عمود، فإن الشيء الوحيد المطلوب هو تشغيل أمر التصدير، كما هو ملاحظ من الصورة أدناه:

هذا النوع من السلوك يجعل Vortex سهل الاستخدام حقًا.
تم تصميم Vortex ليلتزم بسير عمل تشغيلي محدد، ملخص في المخطط أدناه:

يمكن جمع المستخدمين الصالحين لهدف معين باستخدام ثلاثة مصادر مختلفة:
تمت إزالة هذا المصدر بسبب انتهاك سياسات مستخدم LinkedIn. لا يزال بإمكانك العمل على LinkedIn باستخدام GoMapEnum، ثم استيراد عناوين البريد الإلكتروني باستخدام الأمر import.
مرة أخرى، يرجى العلم أن استخدام هذه الوظيفة يشكل انتهاكًا لاتفاقية مستخدم LinkedIn، كما هو ملاحظ في النقطة 8.2 من اتفاقية مستخدم LinkedIn:
أنت توافق على أنك لن: [...] 2. تطوير أو دعم أو استخدام برامج أو أجهزة أو نصوص برمجية أو روبوتات أو أي وسائل أو عمليات أخرى (بما في ذلك برامج الزحف وإضافات المتصفح والوظائف الإضافية أو أي تقنية أخرى) لاستخراج البيانات من الخدمات أو نسخ الملفات الشخصية والبيانات الأخرى من الخدمات؛
لاستبدال الوظيفة المذكورة أعلاه جزئيًا، تضمن الأداة نسخة معدلة من CrossLinked. ستحاول هذه الأداة اكتشاف موظفي شركة باستخدام Google وBing. إنها بالتأكيد ليست مثل البحث مباشرة على LinkedIn، لكنها مفيدة جدًا.