Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
mongobleed-detector — MongoBleed शोषण के लिए डिटेक्शन स्क्रिप्ट | Kitploit
उपकरण/GitHubGitHub/neo23x0/mongobleed-detector
भेद्यता विश्लेषणस्क्रिप्टिंग और स्वचालनफोरेंसिकडिजिटल फोरेंसिकखतरा खुफियाघटना प्रतिक्रियाडेटाबेस सुरक्षालॉग विश्लेषण
GitHubneo23x0/mongobleed-detector

mongobleed-detector

MongoBleed शोषण के लिए डिटेक्शन स्क्रिप्ट

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

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

सभी देखें →

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

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

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

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

MongoBleed डिटेक्टर

CVE-2025-14847 (MongoBleed) के लिए ऑफ़लाइन MongoDB विश्लेषण उपकरण

एक स्टैंडअलोन Linux कमांड-लाइन उपकरण जो कई डिटेक्शन मॉड्यूल का उपयोग करके CVE-2025-14847 के संभावित शोषण की पहचान करने के लिए MongoDB डेटा का विश्लेषण करता है।

विषय-सूची

  • अवलोकन
  • डिटेक्शन मॉड्यूल
  • आवश्यकताएं
  • स्थापना
  • संचालन के दो तरीके
  • मोड 1: स्थानीय विश्लेषण
  • मोड 2: रिमोट कलेक्शन
  • कमांड-लाइन विकल्प
  • विश्वास स्तर
  • उदाहरण आउटपुट
  • परीक्षण
  • सावधानियां और सीमाएं
  • संदर्भ और श्रेय
  • लाइसेंस

अवलोकन

MongoBleed (CVE-2025-14847) MongoDB के zlib डीकंप्रेसन में एक मेमोरी डिस्क्लोज़र भेद्यता है, जो हमलावरों को बिना प्रमाणीकरण के सर्वर मेमोरी से सीधे संवेदनशील डेटा—क्रेडेंशियल, सत्र टोकन, PII—निकालने की अनुमति देती है।

यह उपकरण घटना प्रतिक्रिया टीमों को कई साक्ष्य स्रोतों का उपयोग करके शोषण प्रयासों का पता लगाने में मदद करता है:

  • मॉड्यूल A: लॉग सहसंबंध (कनेक्शन इवेंट, मेटाडेटा की अनुपस्थिति)
  • मॉड्यूल B1: असर्ट काउंट विश्लेषण (serverStatus.asserts स्नैपशॉट)
  • मॉड्यूल B2: FTDC स्पाइक डिटेक्शन (diagnostic.data टाइम सीरीज़)

मुख्य विशेषताएं

  • मल्टी-मॉड्यूल डिटेक्शन - उच्च विश्वास के लिए कई डेटा स्रोतों को सहसंबद्ध करता है
  • ऑफ़लाइन और एजेंटलेस - विश्लेषण के दौरान नेटवर्क कनेक्टिविटी की आवश्यकता नहीं
  • ऑटो-डिस्कवरी - उपलब्ध डेटा स्रोतों का स्वचालित रूप से पता लगाता है
  • रिमोट कलेक्शन - SSH के माध्यम से कई होस्ट से डेटा एकत्र करता है
  • संयुक्त स्कोरिंग - HIGH/MEDIUM/LOW विश्वास निर्णय
  • स्ट्रीमिंग प्रोसेसिंग - बड़ी लॉग फ़ाइलों को कुशलतापूर्वक संभालता है

डिटेक्शन मॉड्यूल

मॉड्यूल A: लॉग सहसंबंध

शोषण पैटर्न का पता लगाने के लिए MongoDB JSON लॉग का विश्लेषण करता है:

इवेंट IDप्रकारविवरण
22943कनेक्शन स्वीकृतक्लाइंट के कनेक्ट होने पर लॉग किया जाता है
51800क्लाइंट मेटाडेटाजब क्लाइंट ड्राइवर/एप्लिकेशन जानकारी भेजता है तब लॉग किया जाता है
22944कनेक्शन बंदक्लाइंट के डिस्कनेक्ट होने पर लॉग किया जाता है

मुख्य अंतर्दृष्टि: वैध MongoDB ड्राइवर हमेशा क्लाइंट मेटाडेटा भेजते हैं। MongoBleed शोषण कनेक्ट करता है, मेमोरी निकालता है और डिस्कनेक्ट करता है—लेकिन मेटाडेटा कभी नहीं भेजता।

मॉड्यूल B1: असर्ट काउंट

db.serverStatus().asserts के स्नैपशॉट का विश्लेषण करके asserts.user काउंटरों में असामान्य पैटर्न का पता लगाता है:

  • एकाधिक स्नैपशॉट: यूज़र असर्ट में अचानक स्पाइक का पता लगाने के लिए समय के साथ स्नैपशॉट की तुलना करता है
  • एकल स्नैपशॉट ह्यूरिस्टिक: जब केवल एक स्नैपशॉट उपलब्ध हो, तो asserts.user की अन्य असर्ट प्रकारों से तुलना करके संदिग्ध पैटर्न का पता लगाता है। यदि यूज़र असर्ट असमान रूप से अधिक हों (अनुपात ≥250x) या अन्य सभी प्रकार शून्य हों, तो संदिग्ध के रूप में चिह्नित करता है (MEDIUM विश्वास)

नोट: संचयी काउंटर गलत-सकारात्मक परिणाम उत्पन्न कर सकते हैं। सर्वोत्तम परिणामों के लिए FTDC (मॉड्यूल B2) के साथ संयोजन में उपयोग करें।

मॉड्यूल B2: FTDC स्पाइक डिटेक्शन

असर्ट काउंटरों में समय-स्थानीयकृत स्पाइक का पता लगाने के लिए MongoDB की Full-Time Diagnostic Data Capture (FTDC) फ़ाइलों का विश्लेषण करता है। FTDC समय-समय पर serverStatus का नमूना लेता है, जिससे संभावित हमलों का सटीक समय निर्धारण संभव होता है।

आवश्यकताएं

शेल स्क्रिप्ट (mongobleed-detector.sh)

  • Linux या macOS (bash 4+)
  • jq - JSON प्रोसेसर
  • awk (gawk अनुशंसित)
  • gzip - संपीड़ित लॉग समर्थन के लिए

Python घटक (वैकल्पिक, FTDC डिकोडिंग के लिए)

  • Python 3.8+
  • pymongo - FTDC फ़ाइल डिकोडिंग के लिए

रिमोट स्कैनर (mongobleed-remote.py)

  • Python 3.8+
  • नेटिव SSH क्लाइंट (ssh, scp कमांड)
  • बुनियादी संचालन के लिए किसी अतिरिक्त Python पैकेज की आवश्यकता नहीं

निर्भरताएं स्थापित करें

# Shell script dependencies
# Debian/Ubuntu
apt-get install jq gawk gzip

# RHEL/CentOS/Fedora
dnf install jq gawk gzip

# macOS
brew install jq gawk

# Python dependencies (for FTDC decoding)
pip install -r requirements.txt

स्थापना

# Clone the repository
git clone https://github.com/your-org/mongobleed-detector.git
cd mongobleed-detector

# Make scripts executable
chmod +x mongobleed-detector.sh
chmod +x mongobleed-remote.py
chmod +x ftdc-decode.py

# Install Python dependencies (optional, for FTDC support)
pip install -r requirements.txt

संचालन के दो तरीके

मोड 1: स्थानीय विश्लेषण

MongoDB होस्ट से मैन्युअल रूप से एकत्र किए गए डेटा का विश्लेषण करें।

मोड 2: रिमोट कलेक्शन

SSH के माध्यम से स्वचालित रूप से कई होस्ट से डेटा एकत्र करें, फिर स्थानीय रूप से विश्लेषण करें।

मोड 1: स्थानीय विश्लेषण

चरण 1: डेटा एकत्र करें

अपने MongoDB होस्ट से डेटा एकत्र करें और इसे इस संरचना में व्यवस्थित करें:

./collected-data/
├── logs/                    # MongoDB JSON logs
│   ├── mongod.log
│   ├── mongod.log.1
│   └── mongod.log.2.gz
├── assert-counts/           # serverStatus().asserts snapshots
│   ├── asserts-2025-01-01.json
│   └── asserts-2025-01-02.json
└── ftdc-files/              # FTDC diagnostic.data contents
    ├── metrics.2025-01-02T10-00-00Z-00000
    └── metrics.interim

लॉग एकत्र करना

# Copy from remote host
scp user@mongohost:/var/log/mongodb/mongod.log* ./collected-data/logs/

असर्ट काउंट एकत्र करना

MongoDB होस्ट पर यह कमांड चलाएं (mongosh एक्सेस आवश्यक है):

mongosh --quiet --eval 'JSON.stringify({
  timestamp: new Date().toISOString(),
  hostname: db.hostInfo().system.hostname,
  asserts: db.serverStatus().asserts,
  uptime: db.serverStatus().uptime
})' > asserts-$(date +%Y%m%d-%H%M%S).json

परिणामी JSON फ़ाइल को ./collected-data/assert-counts/ में कॉपी करें।

टिप: बेसलाइन स्थापित करने और स्पाइक का पता लगाने के लिए इस कमांड को कई बार चलाएं (जैसे, हर घंटे)।

FTDC फ़ाइलें एकत्र करना

FTDC फ़ाइलें यहां स्थित हैं:

  • mongod: <storage.dbPath>/diagnostic.data/ (सामान्यतः /var/lib/mongodb/diagnostic.data/)
  • mongos: systemLog.path से व्युत्पन्न (जैसे, /var/log/mongodb/mongos.diagnostic.data/)
# Copy FTDC files (may require sudo)
sudo cp /var/lib/mongodb/diagnostic.data/metrics.* ./collected-data/ftdc-files/

चरण 2: विश्लेषण चलाएं

# Auto-discovery mode - analyzes all available data
./mongobleed-detector.sh --data-dir ./collected-data/

# With custom thresholds
./mongobleed-detector.sh --data-dir ./collected-data/ \
    -t 1440 \              # 24-hour lookback
    -c 50 \                # Lower connection threshold
    --spike-threshold 50   # Lower spike threshold

लीगेसी मोड (केवल लॉग)

पिछड़ी संगतता के लिए, आप अभी भी लॉग का सीधे विश्लेषण कर सकते हैं:

# Scan default paths
./mongobleed-detector.sh

# Scan specific log files
./mongobleed-detector.sh -p /path/to/logs/*.json

# Forensic mode (analyze multiple hosts)
./mongobleed-detector.sh --forensic-dir /evidence/

मोड 2: रिमोट कलेक्शन

कई होस्ट से स्वचालित रूप से डेटा एकत्र करें और विश्लेषण करें:

# Create hosts file
cat > hosts.txt << EOF
mongo-prod-01.example.com
mongo-prod-02.example.com
mongo-staging.example.com
EOF

# Collect and analyze
./mongobleed-remote.py --hosts-file hosts.txt --user admin --output-dir ./collected-data/

रिमोट स्कैनर विकल्प

# Use specific SSH key
./mongobleed-remote.py --hosts-file hosts.txt --user admin --key ~/.ssh/mongodb_key

# Parallel execution
./mongobleed-remote.py --hosts-file hosts.txt --user admin --parallel 10

# Skip FTDC collection (faster)
./mongobleed-remote.py --hosts-file hosts.txt --user admin --skip-ftdc

# Collect only, analyze later
./mongobleed-remote.py --hosts-file hosts.txt --user admin --collect-only

# Pass SSH options (e.g., jump host)
./mongobleed-remote.py --hosts-file hosts.txt --user admin \
    -o "ProxyJump=bastion.example.com"
टूल डाउनलोड करें