Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
sub.Monitor — स्व-होस्टेड निष्क्रिय उपडोमेन निरंतर निगरानी उपकरण। | Kitploit
उपकरण/GitHubGitHub/e1abrador/sub.monitor
टोहीजानकारी एकत्र करनासबडोमेन एनुमरेशन
GitHube1abrador/sub.monitor

sub.Monitor

स्व-होस्टेड निष्क्रिय उपडोमेन निरंतर निगरानी उपकरण।

रिपॉजिटरी देखें
172202 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

sub.Monitor

root@kitploit:~

   सतत आक्रमण सतह प्रबंधन के लिए तेज़ और उपयोगकर्ता-अनुकूल सबडोमेन निगरानी उपकरण।

image

क्यों?

sub.Monitor को क्यों चुनें? यह प्रोग्राम SQLite का उपयोग करके सभी पहचाने गए डोमेन को संग्रहीत करने के कारण आसान सेटअप प्रदान करता है (पूर्व डेटाबेस प्रबंधन की आवश्यकता को समाप्त करता है)। इसके अलावा, यह अत्यधिक अनुकूलन योग्य है, जिसमें उपयोगकर्ताओं को अपने चुने हुए उपकरणों का उपयोग करके स्क्रिप्ट में कोड की केवल कुछ पंक्तियाँ जोड़नी होती हैं। MySQL या MongoDB जैसे डेटाबेस पर निर्भर अन्य मौजूदा समाधानों के विपरीत, स्क्रिप्ट को आरंभ करना एक थकाऊ कार्य हो सकता है।

विशेषताएँ

  • तेज़
  • उपयोग करने में आसान
  • स्थापित करने में आसान
  • अनुकूलित करने में आसान
  • स्थानीय डेटाबेस में लगातार सबडोमेन सहेजें (सभी को डंप करने की संभावना के साथ)
  • टेलीग्राम/स्लैक/डिस्कॉर्ड सूचनाएं

सहायता मेनू

sub.Monitor फ़्लैग्स:

root@kitploit:~
options:
  --add ADD             Domain to scan
  --out-scope OUT_SCOPE
                        File with out-of-scope domains
  --file FILE           File with known subdomains
  -D DOMAIN, --domain DOMAIN
                        Domain to scan
  -H HOURS, --hours HOURS
                        Hours between scans
  --dump                Dump all subdomains for a specific domain
  --list                List all root domains in the database
  -df DF                File with domains to scan
  --inscope             Dump only in-scope domains
  --notinscope          Dump only out-of-scope domains
  --dumpall             Dump all subdomains with their details
  --info                Show discovery date for subdomains
  -help, -?             Show this help message and exit

पिछली आवश्यक कॉन्फ़िगरेशन

आपको config.ini फ़ाइल में कॉन्फ़िगरेशन (एपीआई) पथ फ़ाइलें लिखनी होंगी।

  • Subfinder एपीआई कॉन्फ़िगरेशन फ़ाइल।
  • Amass एपीआई कॉन्फ़िगरेशन फ़ाइल।
  • Notify एपीआई कॉन्फ़िगरेशन फ़ाइल।
  • आपको sub.monitor-config.ini फ़ाइल में बाइनरी और कॉन्फ़िग पथ निर्दिष्ट करने होंगे।
  • अंत में, pip3 install -r requirements.txt चलाएँ।

आप स्क्रिप्ट में अपने स्वयं के उपकरणों को आसानी से लागू कर सकते हैं, बस कोड की पंक्तियों को संशोधित करें:

root@kitploit:~
def run_tool(tool, domain, output_file):
    print(f'[{datetime.datetime.now()}] - Running {tool} on {domain}')
    if tool == 'assetfinder':
        assetfinder_binary = config.get('Binary paths', 'assetfinder')
        cmd = f'echo {domain} | {assetfinder_binary} -subs-only | grep -E "{domain}$" |grep -v "*" | grep -v "@"'
    elif tool == 'subfinder':
        subfinder_binary = config.get('Binary paths', 'subfinder')
        subfinder_api = config.get('Api', 'subfinder_api')
        cmd = f'{subfinder_binary} -d {domain} -silent -pc {subfinder_api} -all'
    elif tool == 'amass':
        amass_binary = config.get('Binary paths', 'amass')
        amass_api = config.get('Api', 'amass_api')
        cmd = f'{amass_binary} enum -passive -norecursive -noalts -d {domain} -config {amass_api}'
    elif tool == 'my-custom-tool':
        my-custom-tool-binary = config.get('Binary paths', 'my-custom-tool-binary-or-script')
        cmd = f'{my-custom-tool-binary} -d {domain}'

यह ध्यान रखना महत्वपूर्ण है कि यदि आप कोई कस्टम टूल जोड़ते हैं, तो अंतिम आउटपुट डोमेन परिणाम होना चाहिए ताकि sub.Monitor उन्हें डेटाबेस में सहेज सके, उदाहरण के लिए इसका उपयोग करने का तरीका होगा:

root@kitploit:~
cmd = f'bash customtool.sh {domain}''
...
cat customtool.sh
mycustomtool -d $1 > /tmp/$1.txt &>/dev/null; cat /tmp/$1.txt | unfurl domains | anew; rm -r /tmp/$1.txt

अपने टूल का नाम यहाँ भी जोड़ें:

root@kitploit:~
                for tool in ['subfinder', 'amass', 'assetfinder', 'my-custom-tool-name']:
                    run_tool(tool, domain, output_file)

अंत में, निश्चित रूप से, आपको उस टूल को sub.monitor-config.ini फ़ाइल में जोड़ना होगा ताकि पायथन स्क्रिप्ट उस कॉन्फ़िगरेशन फ़ाइल से बाइनरी प्राप्त कर सके।

केवल एक चीज़ की आवश्यकता है कि कमांड समाप्त होने के बाद, आउटपुट पर सभी खोजे गए डोमेन दिखाई देने चाहिए ताकि टूल उन्हें लॉग फ़ाइल और डेटाबेस के अंदर सहेज सके।

कार्य योजना

सबसे पहले sub.Monitor को पहले से स्कैन किए गए डोमेन की एक सूची चाहिए:

root@kitploit:~
➜  cat ibm_sorted_subdomains.txt
test1.ibm.com
test2.ibm.com
test3.ibm.com
subtest.testX.ibm.com
...

अब, सबडोमेन वाली फ़ाइल को निम्न कमांड के साथ sub.Monitor में पास किया जा सकता है:

root@kitploit:~
python3 monitor.py --add ibm.com --file ibm_sorted_subdomains.txt
          _    ___  ___            _ _
          | |   |  \/  |           (_) |
 ___ _   _| |__ | .  . | ___  _ __  _| |_ ___  _ __
/ __| | | | '_ \| |\/| |/ _ \| '_ \| | __/ _ \| '__|
\__ \ |_| | |_) | |  | | (_) | | | | | || (_) | |
|___/\__,_|_.__/\_|  |_/\___/|_| |_|_|\__\___/|_|

                    github.com/e1abrador/sub.Monitor

[2023-06-06 18:16:26.002521] - 538 subdomains were added to the local database.

आउट-ऑफ-स्कोप फ़्लैग जोड़ने की भी संभावना है, उदाहरण के लिए, मान लें कि एक बग बाउंटी प्रोग्राम में निम्नलिखित नीति है:

root@kitploit:~
*.ibm.com - in scope
super-admin.ibm.com - out of scope
*.super-admin.ibm.com - out of scope

इस सामग्री के साथ एक फ़ाइल बनाना संभव है:

root@kitploit:~
cat outscope.txt
super-admin.ibm.com
*.super-admin.ibm.com

अब, आप मैन्युअल रूप से अपने सभी खोजे गए डोमेन को डेटाबेस में जोड़ सकते हैं (जो स्कोप में हैं उन्हें फ़िल्टर करके):

root@kitploit:~
python3 monitor.py --add ibm.com --file ibm_sorted_subdomains.txt --out-scope outscope.txt
          _    ___  ___            _ _
          | |   |  \/  |           (_) |
 ___ _   _| |__ | .  . | ___  _ __  _| |_ ___  _ __
/ __| | | | '_ \| |\/| |/ _ \| '_ \| | __/ _ \| '__|
\__ \ |_| | |_) | |  | | (_) | | | | | || (_) | |
|___/\__,_|_.__/\_|  |_/\___/|_| |_|_|\__\___/|_|

                    github.com/e1abrador/sub.Monitor

[2023-06-06 18:16:26.002521] - 538 subdomains were added to the local database.

यह आपके सभी सबडोमेन को डेटाबेस में जोड़ देगा, लेकिन यह उन सभी को जो स्कोप से बाहर हैं, उन्हें [Out of scope] फ़्लैग से चिह्नित करेगा (हम डंपिंग डोमेन अनुभाग में डेटाबेस से इन-स्कोप डोमेन को फ़िल्टर करने का तरीका देखेंगे)।

यह पुष्टि करने के लिए कि डोमेन डेटाबेस में जोड़ा गया है, निष्पादित करें:

root@kitploit:~
python3 monitor.py --list
          _    ___  ___            _ _
          | |   |  \/  |           (_) |
 ___ _   _| |__ | .  . | ___  _ __  _| |_ ___  _ __
/ __| | | | '_ \| |\/| |/ _ \| '_ \| | __/ _ \| '__|
\__ \ |_| | |_) | |  | | (_) | | | | | || (_) | |
|___/\__,_|_.__/\_|  |_/\___/|_| |_|_|\__\___/|_|

                    github.com/e1abrador/sub.Monitor

ibm.com [9 subdomains added manually] [2 subdomains discovered] [11 total unique in database]

एक बार यह सही ढंग से लोड हो जाने पर, निगरानी प्रक्रिया शुरू हो सकती है। VPS में TMUX का उपयोग करने और इसे लंबे समय तक चलने देने की अनुशंसा की जाती है। निम्नलिखित कमांड के साथ, स्क्रिप्ट सबडोमेन एन्यूमरेशन टूल्स चलाएगी और नए परिणामों की तुलना पुराने परिणामों से करेगी। यदि कोई नया सबडोमेन मिलता है, तो sub.Monitor पहले इसे स्थानीय डेटाबेस में जोड़ेगा (ताकि वह उस खोज के बारे में फिर से सूचित न करे) और फिर स्लैक/टेलीग्राम/डिस्कॉर्ड के माध्यम से उपयोगकर्ता को सूचित करेगा।

root@kitploit:~
python3 monitor.py -D ibm.com -H 12 --out-scope outscope.txt

यदि कोई सबडोमेन मिलता है, तो sub.Monitor आउटपुट पर निम्न संदेश दिखाएगा:

root@kitploit:~
➜ python3 monitor.py -D ibm.com -H 8 # To filter the subdomains that are in the current scope from the out-scope ones, you can use:
                                      # python3 monitor.py -D ibm.com -H 8 --out-scope outscope.txt

          _    ___  ___            _ _
          | |   |  \/  |           (_) |
 ___ _   _| |__ | .  . | ___  _ __  _| |_ ___  _ __
/ __| | | | '_ \| |\/| |/ _ \| '_ \| | __/ _ \| '__|
\__ \ |_| | |_) | |  | | (_) | | | | | || (_) | |
|___/\__,_|_.__/\_|  |_/\___/|_| |_|_|\__\___/|_|

                    github.com/e1abrador/sub.Monitor

[2023-06-06 18:07:25.191169] - New subdomain xxxx.ibm.com discovered
[2023-06-06 18:07:25.353156] - New subdomain xyxyxyxyxyx.ibm.com discovered
[2023-06-06 18:07:25.641082] - New subdomain x1.xxxx.ibm.com discovered

निम्न कमांड के साथ 1 से अधिक डोमेन की निगरानी करना भी संभव है:

root@kitploit:~
python3 monitor.py -df root-domains.txt -H 8
python3 monitor.py -df roots.txt -H 8 --out-scope outscope.txt

उन संदेशों की रिपोर्ट होने के बाद, उसी समय उपयोगकर्ता को टेलीग्राम पर सूचनाएं प्राप्त होंगी

image

मैं सूचनाओं को कैसे प्रबंधित करूं? मैंने डिस्कॉर्ड के साथ सभी नव खोजे गए डोमेन को देखने का एक काफी आसान (और प्रबंधित करने में आसान) तरीका पाया। मुझे यह मिला (धुंधला किया गया क्योंकि ये सभी निजी प्रोग्राम हैं):

image

विचार यह है कि पहले प्रोग्राम नाम के संबंध में एक श्रेणी बनाएं:

Yahoo

--- yahoo.com

--- yahoo.net

--- etc ...

IBM

--- ibm.com

--- whateverdomain.com

--- etc ...

मेरी notify कॉन्फ़िग फ़ाइल ऐसी दिखती है:

image

मैं प्रत्येक डोमेन के लिए ऐसा करने की सलाह देता हूं (इसे सेट करना काफी कठिन हो सकता है लेकिन परिणामों को प्रबंधित करने का यह एक शानदार तरीका है)। monitor.py स्क्रिप्ट आईडी के आधार पर दिए गए वेबहुक को परिणाम भेजेगी (जो स्कैन किए जाने वाले डोमेन नाम के समान होना चाहिए)।

मान लें कि स्क्रिप्ट 2 महीनों से चल रही है और आप सभी परिणाम (पुराने सबडोमेन और नए खोजे गए) प्राप्त करना चाहते हैं। sub.Monitor के साथ --dump फ़्लैग का उपयोग करके यह संभव है:

root@kitploit:~
python3 monitor.py -D ibm.com --dump

          _    ___  ___            _ _
          | |   |  \/  |           (_) |
 ___ _   _| |__ | .  . | ___  _ __  _| |_ ___  _ __
/ __| | | | '_ \| |\/| |/ _ \| '_ \| | __/ _ \| '__|
\__ \ |_| | |_) | |  | | (_) | | | | | || (_) | |
|___/\__,_|_.__/\_|  |_/\___/|_| |_|_|\__\___/|_|

                    github.com/e1abrador/sub.Monitor

Subdomains for ibm.com:
subdomain1.ibm.com
subdomain2.ibm.com
...

आप उस दिन को देखने के लिए निम्न कमांड का उपयोग कर सकते हैं जिस दिन डोमेन की खोज की गई थी:

root@kitploit:~
python3 monitor.py -D ibm.com --dump --info

          _    ___  ___            _ _
          | |   |  \/  |           (_) |
 ___ _   _| |__ | .  . | ___  _ __  _| |_ ___  _ __
/ __| | | | '_ \| |\/| |/ _ \| '_ \| | __/ _ \| '__|
\__ \ |_| | |_) | |  | | (_) | | | | | || (_) | |
|___/\__,_|_.__/\_|  |_/\___/|_| |_|_|\__\___/|_|

                    github.com/e1abrador/sub.Monitor

Subdomains for ibm.com:
test.ibm.com [discovered on 06/08/2023]
test2.ibm.com [discovered on 08/08/2023] [Out of scope]

चूंकि python3 monitor.py -d ibm.com --dump --info कमांड का उपयोग करके कुछ डोमेन को स्कोप से बाहर चिह्नित किए जाने की अत्यधिक संभावना है, केवल स्कोप में डोमेन दिखाने के लिए --inscope फ़्लैग का उपयोग करना संभव है:

root@kitploit:~
python3 monitor.py -D ibm.com --dump --info --inscope

          _    ___  ___            _ _
          | |   |  \/  |           (_) |
 ___ _   _| |__ | .  . | ___  _ __  _| |_ ___  _ __
/ __| | | | '_ \| |\/| |/ _ \| '_ \| | __/ _ \| '__|
\__ \ |_| | |_) | |  | | (_) | | | | | || (_) | |
|___/\__,_|_.__/\_|  |_/\___/|_| |_|_|\__\___/|_|

                    github.com/e1abrador/sub.Monitor

Subdomains for ibm.com:
test.ibm.com [discovered on 06/08/2023]
test3.ibm.com [discovered on 08/08/2023]

धन्यवाद

धन्यवाद:

  • Projectdiscovery को subfinder और notify बनाने के लिए धन्यवाद!।
  • OWASP को उनके अद्भुत प्रोजेक्ट amass के लिए धन्यवाद!।
  • Tomnomnom को assetfinder बनाने के लिए धन्यवाद!।

TODO

  • 1 से अधिक सबडोमेन की निगरानी लागू करें। [पूर्ण]
  • डोमेन फ़ाइलों को लगातार पढ़ें ताकि प्रोग्राम को रोके बिना नए डोमेन स्कैन किए जा सकें। [पूर्ण]
  • स्कोप से बाहर फ़िल्टरिंग लागू करें [पूर्ण]

यदि आपके पास किसी नई कार्यक्षमता का कोई विचार है तो https://github.com/e1abrador/sub.Monitor/pulls पर PR खोलें।

शुभकामनाएँ और शुभ शिकार! यदि आप वास्तव में इस टूल (या किसी अन्य) से प्यार करते हैं, या इसने आपको एक शानदार बाउंटी खोजने में मदद की, तो मुझे कॉफ़ी खरीदने पर विचार करें! ☕ (मैं कैफीन का उपयोग कर सकता हूँ!)

⚪ e1abrador

Twitter: https://twitter.com/e1abrador

मुझे ko-fi.com पर कॉफ़ी खरीदें

टूल डाउनलोड करें