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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
S3Scanner — गलत कॉन्फ़िगर किए गए S3 बकेट्स को S3-संगत API पर स्कैन करें! | Kitploit
उपकरण/GitHubGitHub/sa7mon/s3scanner
भेद्यता स्कैनरजानकारी एकत्र करनाक्लाउड सुरक्षागलत कॉन्फ़िगरेशन
GitHubsa7mon/s3scanner

S3Scanner

गलत कॉन्फ़िगर किए गए S3 बकेट्स को S3-संगत API पर स्कैन करें!

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

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

सभी देखें →

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

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

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

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

S3Scanner

लाइसेंस गिटहब प्रायोजक योगदान स्वागत है रिलीज़

फीचर्स - उपयोग - त्वरित आरंभ - स्थापना - चर्चा


AWS या अन्य क्लाउड प्रदाताओं में खुले S3 बकेट खोजने का एक उपकरण:
  • AWS
  • DigitalOcean
  • DreamHost
  • GCP
  • Linode
  • Scaleway
  • कस्टम
डेमो

फीचर्स

  • ⚡️ मल्टी-थ्रेडेड स्कैनिंग
  • 🔭 कई बिल्ट-इन S3 स्टोरेज प्रदाताओं या कस्टम का समर्थन
  • 🕵️‍♀️ गलत कॉन्फ़िगरेशन खोजने के लिए सभी बकेट अनुमतियों को स्कैन करता है
  • 💾 परिणामों को Postgres डेटाबेस में सहेजें
  • 🐇 स्केल पर स्वचालित स्कैनिंग के लिए RabbitMQ से कनेक्ट करें
  • 🐳 Docker समर्थन

द्वारा उपयोग किया गया

six2dez/reconftw के लिए बैनर yogeshojha/rengine के लिए बैनर pry0cc/axiom के लिए बैनर - 'सभी के लिए गतिशील बुनियादी ढांचा ढांचा' पढ़ता है

उपयोग

root@kitploit:~
INPUT: (1 आवश्यक)
  -bucket        string  जाँच करने के लिए बकेट का नाम।
  -bucket-file   string  जाँच करने के लिए बकेट नामों की फ़ाइल।
  -mq                    बकेट प्राप्त करने के लिए RabbitMQ से कनेक्ट करें। कॉन्फ़िग फ़ाइल कुंजी "mq" आवश्यक है। डिफ़ॉल्ट: "false"

OUTPUT:
  -db       परिणामों को Postgres डेटाबेस में सहेजें। कॉन्फ़िग फ़ाइल कुंजी "db.uri" आवश्यक है। डिफ़ॉल्ट: "false"
  -json     मानव-पठनीय के बजाय JSON प्रारूप में stdout पर लॉग प्रिंट करें। डिफ़ॉल्ट: "false"

OPTIONS:
  -enumerate           बकेट ऑब्जेक्ट्स की गणना करें (समय लेने वाला हो सकता है)। डिफ़ॉल्ट: "false"
  -provider    string  ऑब्जेक्ट स्टोरेज प्रदाता: aws, custom, digitalocean, dreamhost, gcp, linode, scaleway - custom के लिए कॉन्फ़िग फ़ाइल आवश्यक है। डिफ़ॉल्ट: "aws"
  -threads     int     स्कैन करने के लिए थ्रेड्स की संख्या। डिफ़ॉल्ट: "4"

DEBUG:
  -verbose     वर्बोज़ लॉगिंग सक्षम करें। डिफ़ॉल्ट: "false"
  -version     संस्करण प्रिंट करें डिफ़ॉल्ट: "false"

यदि कॉन्फ़िग फ़ाइल आवश्यक है, तो config.yml के लिए इन स्थानों की खोज की जाएगी: "." "/etc/s3scanner/" "$HOME/.s3scanner/"

🚀 समर्थन

यदि आपको यह उपकरण उपयोगी लगा है, तो कृपया इसके विकास का समर्थन करने के लिए दान करने पर विचार करें। आप इस रेपो पृष्ठ के किनारे या FUNDING.yml में प्रायोजक विकल्प पा सकते हैं

tines को बहुत-बहुत धन्यवाद इस परियोजना के चल रहे प्रायोजक होने के लिए।

त्वरित आरंभ

एक फ़ाइल में सूचीबद्ध बकेट नामों के लिए AWS स्कैन करें, सभी ऑब्जेक्ट्स की गणना करें

root@kitploit:~
$ s3scanner -bucket-file names.txt -enumerate

GCP में एक बकेट स्कैन करें, सभी ऑब्जेक्ट्स की गणना करें, और परिणामों को डेटाबेस में सहेजें

root@kitploit:~
$ s3scanner -provider gcp -db -bucket my-bucket -enumerate

स्थापना

उपयोग

इनपुट

s3scanner को बिल्कुल एक प्रकार के इनपुट की आवश्यकता है: -bucket, -bucket-file, या -mq।

root@kitploit:~
INPUT: (1 आवश्यक)
  -bucket        string  जाँच करने के लिए बकेट का नाम।
  -bucket-file   string  जाँच करने के लिए बकेट नामों की फ़ाइल।
  -mq                    बकेट प्राप्त करने के लिए RabbitMQ से कनेक्ट करें। कॉन्फ़िग फ़ाइल कुंजी "mq" आवश्यक है। डिफ़ॉल्ट: "false"

-bucket

एकल बकेट स्कैन करें

root@kitploit:~
s3scanner -bucket secret_uploads

-bucket-file

फ़ाइल में सूचीबद्ध प्रत्येक बकेट नाम को स्कैन करता है

root@kitploit:~
s3scanner -bucket-file names.txt

जहाँ names.txt में प्रति पंक्ति एक बकेट नाम है

root@kitploit:~
$ cat names.txt
bucket123
assets
image-uploads

एकाधिक बार सूचीबद्ध बकेट नाम केवल एक बार स्कैन किए जाएंगे।

-mq

एक RabbitMQ सर्वर से कनेक्ट होता है और स्कैन करने के लिए बकेट नामों वाले संदेशों का उपभोग करता है।

root@kitploit:~
s3scanner -mq

संदेश JSON-एनकोडेड Bucket ऑब्जेक्ट होने चाहिए - Golang प्रकाशन उदाहरण के लिए mqingest देखें।

-mq के लिए कॉन्फ़िग फ़ाइल कुंजियाँ mq.uri और mq.queue_name आवश्यक हैं। उदाहरण के लिए कॉन्फ़िग फ़ाइल अनुभाग देखें।

आउटपुट

root@kitploit:~
OUTPUT:
  -db       परिणामों को Postgres डेटाबेस में सहेजें। कॉन्फ़िग फ़ाइल कुंजी "db.uri" आवश्यक है। डिफ़ॉल्ट: "false"
  -json     मानव-पठनीय के बजाय JSON प्रारूप में stdout पर लॉग प्रिंट करें। डिफ़ॉल्ट: "false"

-db

सभी स्कैन परिणामों को PostgreSQL डेटाबेस में सहेजता है

root@kitploit:~
s3scanner -bucket images -db
  • कॉन्फ़िग फ़ाइल कुंजी db.uri आवश्यक है। उदाहरण के लिए कॉन्फ़िग फ़ाइल अनुभाग देखें।
  • यदि -db का उपयोग कर रहे हैं, तो परिणाम कंसोल पर भी मुद्रित होंगे यदि -json या डिफ़ॉल्ट मानव-पठनीय आउटपुट मोड का उपयोग कर रहे हैं।
  • s3scanner हर बार डेटाबेस से कनेक्ट होने पर Gorm की ऑटो माइग्रेशन सुविधा चलाता है। यदि स्कीमा में पहले से ही ऐसी तालिकाएँ हैं जिनके नाम Gorm अपेक्षा करता है, तो यह इन तालिकाओं की संरचना बदल सकता है। s3scanner परिणामों के लिए एक समर्पित Postgres स्कीमा बनाने की सिफारिश की जाती है।

-json

स्कैन परिणामों को मानव-पठनीय प्रारूप में कंसोल पर आउटपुट करने के बजाय, मशीन-पठनीय JSON आउटपुट करें।

root@kitploit:~
s3scanner -bucket images -json

यह प्रति पंक्ति कंसोल पर एक JSON ऑब्जेक्ट प्रिंट करेगा, जिसे फिर jq या JSON इनपुट स्वीकार करने वाले अन्य उपकरणों में पाइप किया जा सकता है।

उदाहरण: सभी मौजूदा बकेट के लिए बकेट का नाम और क्षेत्र प्रिंट करें

root@kitploit:~
$ s3scanner -bucket-file names.txt -json | jq -r '. | select(.bucket.exists==1) | [.bucket.name, .bucket.region] | join(" - ")'       
10000 - eu-west-1
10000.pizza - ap-southeast-1
images_staging - us-west-2

विकल्प

root@kitploit:~
OPTIONS:
  -enumerate           बकेट ऑब्जेक्ट्स की गणना करें (समय लेने वाला हो सकता है)। डिफ़ॉल्ट: "false"
  -provider    string  ऑब्जेक्ट स्टोरेज प्रदाता: aws, custom, digitalocean, dreamhost, gcp, linode, scaleway - custom के लिए कॉन्फ़िग फ़ाइल आवश्यक है। डिफ़ॉल्ट: "aws"
  -threads     int     स्कैन करने के लिए थ्रेड्स की संख्या। डिफ़ॉल्ट: "4"

-enumerate

बकेट में संग्रहीत सभी ऑब्जेक्ट्स की गणना करें। डिफ़ॉल्ट रूप से, s3scanner केवल बकेट की अनुमतियों की जाँच करेगा।

root@kitploit:~
s3scanner -bucket attachments -enumerate
  • नोट: यदि बड़ी संख्या में ऑब्जेक्ट्स संग्रहीत हैं तो इसमें लंबा समय लग सकता है।
  • गणना करते समय, s3scanner 1,000 ऑब्जेक्ट्स के "पेज" का अनुरोध करेगा। यदि ऑब्जेक्ट्स के 5,000 से अधिक पेज हैं, तो यह शेष को छोड़ देगा।

-provider

बकेट की जाँच करते समय उपयोग करने के लिए स्टोरेज प्रदाता का नाम।

root@kitploit:~
s3scanner -bucket assets -provider gcp
  • वर्तमान में असमर्थित या स्थानीय नेटवर्क स्टोरेज प्रदाता को लक्षित करते समय "custom" का उपयोग करें।
  • "custom" प्रदाता के लिए कॉन्फ़िग फ़ाइल अनुभाग में सूचीबद्ध providers.custom के अंतर्गत कॉन्फ़िग फ़ाइल कुंजियाँ आवश्यक हैं।

-threads

स्कैन करने के लिए थ्रेड्स की संख्या।

root@kitploit:~
s3scanner -bucket secret_docs -threads 8
  • थ्रेड्स बढ़ाने से एक साथ स्कैन किए जा रहे बकेट की संख्या बढ़ेगी, लेकिन ऑब्जेक्ट गणना की गति नहीं बढ़ेगी। गणना वर्तमान में प्रति बकेट सिंगल-थ्रेडेड है।

डीबग

root@kitploit:~
DEBUG:
  -verbose     वर्बोज़ लॉगिंग सक्षम करें। डिफ़ॉल्ट: "false"
  -version     संस्करण प्रिंट करें डिफ़ॉल्ट: "false"

-verbose

डीबग संदेशों की वर्बोज़ लॉगिंग सक्षम करता है। यह विकल्प बहुत सारे लॉग उत्पन्न करेगा और बग रिपोर्ट दाखिल करने के अलावा उपयोग करने की अनुशंसा नहीं की जाती है।

root@kitploit:~
s3scanner -bucket spreadsheets -verbose

-version

संस्करण जानकारी प्रिंट करें और बाहर निकलें।

root@kitploit:~
s3scanner -version
  • यदि स्रोत से संकलित किया गया है तो dev प्रिंट करेगा।

विकास

एक docker compose फ़ाइल शामिल है जो 4 कंटेनर बनाती है:

  • rabbitmq
  • postgres
  • app
  • mitm

2 प्रोफ़ाइल कॉन्फ़िगर की गई हैं:

  • dev - मानक विकास वातावरण
  • dev-mitm - mitmproxy के साथ कॉन्फ़िगर किया गया वातावरण जो डीबग करते समय या नए प्रदाता जोड़ते समय HTTP ट्रैफ़िक के आसान अवलोकन के लिए होता है।

विकास वातावरण लाने के लिए make dev या make dev-mitm चलाएँ। docker exec -it -w /app app_dev sh के साथ app कंटेनर में प्रवेश करें, फिर go run . चलाएँ। यदि dev-mitm प्रोफ़ाइल का उपयोग कर रहे हैं, तो ब्राउज़र में http://127.0.0.1:8081 खोलें ताकि ऐप कंटेनर से किए जा रहे HTTP कॉल को देखें और उनमें हेरफेर करें।

कॉन्फ़िग फ़ाइल

यदि कॉन्फ़िग विकल्पों की आवश्यकता वाले फ़्लैग का उपयोग कर रहे हैं, तो s3scanner निम्नलिखित में config.yml खोजेगा:

  • (वर्तमान निर्देशिका)
  • /etc/s3scanner/
  • $HOME/.s3scanner/
root@kitploit:~
# -db द्वारा आवश्यक
db:
  uri: "postgresql://user:[email protected]:5432/schema_name"

# -mq द्वारा आवश्यक
mq:
  queue_name: "aws"
  uri: "amqp://user:pass@localhost:5672"

# `-provider custom` द्वारा आवश्यक providers.custom
#   address_style - एंडपॉइंट्स द्वारा उपयोग की जाने वाली एड्रेसिंग शैली।
#     type: string
#     values: "path" या "vhost"
#   endpoint_format - एंडपॉइंट URL का प्रारूप। क्षेत्र नाम के लिए प्लेसहोल्डर के रूप में '$REGION' होना चाहिए
#     type: string
#   insecure - SSL त्रुटियों को अनदेखा करें
#     type: boolean
# regions में कम से कम एक विकल्प होना चाहिए
providers:
  custom: 
    address_style: "path"
    endpoint_format: "https://$REGION.vultrobjects.com"
    insecure: false
    regions:
      - "ewr1"

जब s3scanner कॉन्फ़िग फ़ाइल को पार्स करता है, तो यह endpoint_format लेगा और एंडपॉइंट URL की सूची बनाने के लिए सभी सूचीबद्ध regions के लिए $REGION को प्रतिस्थापित करेगा।

S3 संगत API

नोट: S3Scanner वर्तमान में केवल गैर-AWS सेवाओं के लिए अज्ञात उपयोगकर्ता अनुमतियों के लिए स्कैनिंग का समर्थन करता है

📚 गैर-AWS API के बारे में अधिक जानकारी परियोजना विकी में पाई जा सकती है।

अनुमतियाँ

यह उपकरण बकेट के बारे में सभी उपलब्ध जानकारी प्राप्त करने का प्रयास करेगा, लेकिन परिणामों की व्याख्या करना आप पर निर्भर है।

बकेट के लिए संभावित अनुमतियाँ:

  • पढ़ें - सभी फ़ाइलों को सूचीबद्ध और देखें
  • लिखें - बकेट में फ़ाइलें लिखें
  • ACP पढ़ें - बकेट से जुड़ी सभी एक्सेस कंट्रोल नीतियाँ पढ़ें
  • ACP लिखें - बकेट में एक्सेस कंट्रोल नीतियाँ लिखें
  • पूर्ण नियंत्रण - उपरोक्त सभी अनुमतियाँ

2 मुख्य उपयोगकर्ता समूहों के लिए इनमें से कोई भी या सभी अनुमतियाँ सेट की जा सकती हैं:

  • प्रमाणित उपयोगकर्ता
  • सार्वजनिक उपयोगकर्ता (जिनके पास AWS क्रेडेंशियल सेट नहीं हैं)
  • व्यक्तिगत उपयोगकर्ता/समूह (इस उपकरण के दायरे से बाहर)

इसका क्या मतलब है: सिर्फ इसलिए कि कोई बकेट ACL पढ़ने/लिखने की अनुमति नहीं देता है, इसका मतलब यह नहीं है कि आप बकेट में फ़ाइलें नहीं पढ़/लिख सकते हैं। इसके विपरीत, आप ACL सूचीबद्ध करने में सक्षम हो सकते हैं लेकिन बकेट में पढ़/लिख नहीं सकते हैं।

लाइसेंस

MIT

टूल डाउनलोड करें
प्लेटफ़ॉर्मसंस्करणचरण
BlackArchBlackArch पैकेजpacman -S s3scanner
DockerDocker रिलीज़docker run ghcr.io/sa7mon/s3scanner
GoGolanggo install -v github.com/sa7mon/s3scanner@latest
Kali LinuxKali पैकेजapt install s3scanner
MacOShomebrew संस्करणbrew install s3scanner
Parrot OSParrot पैकेजapt install s3scanner
Windows - wingetwinget install s3scanner
NixOS स्थिरnixpkgs अस्थिर पैकेजnix-shell -p s3scanner
NixOS अस्थिरnixpkgs अस्थिर पैकेजnix-shell -p s3scanner
अन्य - स्रोत से बनाएँGitHub रिलीज़git clone [email protected]:sa7mon/S3Scanner.git && cd S3Scanner && go build -o s3scanner .