
एक फ़ाइल-साझाकरण उपकरण जो आपको लीकेज की स्थिति में जिम्मेदार व्यक्ति का पता लगाने की अनुमति देता है।
,_
,' '\,_ Utku Sen's
|_,-'_) wholeaked
/##c '\ (
' |' -{. ) "जब आप असंभव को समाप्त कर चुके होते हैं,
/\__-' \[] तो जो कुछ भी बचता है, चाहे वह कितना भी असंभव क्यों न हो,
/'-_'\ सत्य ही होना चाहिए" - शर्लक होम्स
' \
wholeaked एक फ़ाइल-साझाकरण टूल है जो आपको लीक होने की स्थिति में जिम्मेदार व्यक्ति का पता लगाने में सक्षम बनाता है। इसे Go में लिखा गया है।
wholeaked उस फ़ाइल को प्राप्त करता है जिसे साझा किया जाएगा और प्राप्तकर्ताओं की एक सूची। यह प्रत्येक प्राप्तकर्ता के लिए एक अद्वितीय हस्ताक्षर बनाता है और इसे गुप्त रूप से फ़ाइल में जोड़ता है। उसके बाद, यह Sendgrid, AWS SES या SMTP एकीकरण का उपयोग करके स्वचालित रूप से फ़ाइलों को संबंधित प्राप्तकर्ताओं को भेज सकता है। उन्हें ई-मेल द्वारा भेजने के बजाय, आप उन्हें मैन्युअल रूप से भी साझा कर सकते हैं।
wholeaked सभी फ़ाइल प्रकारों के साथ काम करता है। हालांकि, इसकी सामान्य फ़ाइल प्रकारों जैसे PDF, DOCX, MOV आदि के लिए अतिरिक्त सुविधाएं हैं।
+-----------+
|गोपनीय |
|.pdf |
| |
-| |
/ | |
/ |Hidden |
a@gov / |signature1 |
/ +-----------+
/ +-----------+
+-----------++-----------+ / |गोपनीय |
|गोपनीय ||प्राप्तकर्ता | / |.pdf |
|.pdf ||सूची | +---------+ / | |
| || | |utkusen/ | / b@gov | |
| ||a@gov |----->|wholeaked| /----------+ |
| ||b@gov | | | \ |Hidden |
| ||c@gov | +---------+ \ |signature2 |
| || | \ +-----------+
+-----------++-----------+ \ +-----------+
\ |गोपनीय |
\ |.pdf |
c@gov \ | |
\ | |
\ | |
\ |Hidden |
-|signature3 |
+-----------+
यह पता लगाने के लिए कि दस्तावेज़ किसने लीक किया, आपको बस लीक हुई फ़ाइल को wholeaked को प्रदान करने की आवश्यकता है, और यह डेटाबेस में हस्ताक्षरों की तुलना करके जिम्मेदार व्यक्ति को प्रकट करेगा।
+-----------+ +---------+
|गोपनीय | |हस्ताक्षर |
|.pdf | +---------+|डेटाबेस |
| | |utkusen/ || | दस्तावेज़ द्वारा लीक हुआ
| |->|wholeaked|| |--------+
| | | || | b@gov
|Hidden | +---------+| |
|Signature2 | | |
+-----------+ +---------+
wholeaked फ़ाइल के विभिन्न अनुभागों में अद्वितीय हस्ताक्षर जोड़ सकता है। उपलब्ध पहचान मोड नीचे दिए गए हैं:
फ़ाइल हैश: फ़ाइल का SHA256 हैश। सभी फ़ाइल प्रकार समर्थित हैं।
बाइनरी: हस्ताक्षर सीधे बाइनरी में जोड़ा जाता है। लगभग सभी फ़ाइल प्रकार समर्थित हैं।
मेटाडेटा: हस्ताक्षर फ़ाइल के मेटाडेटा अनुभाग में जोड़ा जाता है। समर्थित फ़ाइल प्रकार: PDF, DOCX, XLSX, PPTX, MOV, JPG, PNG, GIF, EPS, AI, PSD
वॉटरमार्क: पाठ में एक अदृश्य हस्ताक्षर डाला जाता है। केवल PDF फ़ाइलें समर्थित हैं।
आप रिलीज़ पेज से पहले से निर्मित बाइनरी डाउनलोड कर सकते हैं और चला सकते हैं। उदाहरण के लिए:
unzip wholeaked_0.1.0_macOS_amd64.zip
./wholeaked --help
अपने सिस्टम पर Go स्थापित करें
चलाएँ: go install github.com/utkusen/wholeaked@latest
wholeaked को फ़ाइलों के मेटाडेटा अनुभाग में हस्ताक्षर जोड़ने के लिए exiftool की आवश्यकता है। यदि आप इस सुविधा का उपयोग नहीं करना चाहते हैं, तो आपको इसे स्थापित करने की आवश्यकता नहीं है।
apt install exiftool चलाएँbrew install exiftool चलाएँexiftool.exe को wholeaked के साथ एक ही निर्देशिका में रखें।wholeaked को PDF फ़ाइलों के अंदर वॉटरमार्क सत्यापित करने के लिए pdftotext की आवश्यकता है। यदि आप इस सुविधा का उपयोग नहीं करना चाहते हैं, तो आपको इसे स्थापित करने की आवश्यकता नहीं है।
bin64 फ़ोल्डर पर जाएँ।pdftotext (या pdftotext.exe) निष्पादन योग्य को wholeaked के साथ एक ही फ़ोल्डर में कॉपी करें।apt install libfontconfig कमांड चलाएँ।wholeaked को एक प्रोजेक्ट नाम -n, उस आधार फ़ाइल का पथ जिसमें हस्ताक्षर जोड़े जाएंगे -f और लक्ष्य प्राप्तकर्ताओं की एक सूची -t की आवश्यकता है
उदाहरण कमांड: ./wholeaked -n test_project -f secret.pdf -t targets.txt
targets.txt फ़ाइल में निम्नलिखित प्रारूप में नाम और ई-मेल पता होना चाहिए:
Utku Sen,[email protected]
Bill Gates,[email protected]
निष्पादन पूरा होने के बाद, निम्नलिखित अद्वितीय फ़ाइलें उत्पन्न होंगी:
test_project/files/Utku_Sen/secret.pdf
test_project/files/Bill_Gates/secret.pdf
डिफ़ॉल्ट रूप से, wholeaked "फ़ाइल प्रकार और पहचान मोड" अनुभाग में परिभाषित सभी उपलब्ध स्थानों पर हस्ताक्षर जोड़ता है। यदि आप किसी विधि का उपयोग नहीं करना चाहते हैं, तो आप इसे false फ़्लैग के साथ परिभाषित कर सकते हैं। उदाहरण के लिए:
./wholeaked -n test_project -f secret.pdf -t targets.txt -binary=false -metadata=false -watermark=false
ई-मेल भेजने के लिए, आपको CONFIG फ़ाइल में कुछ अनुभाग भरने होंगे।
यदि आप Sendgrid के माध्यम से ई-मेल भेजना चाहते हैं, तो अपनी API कुंजी SENDGRID_API_KEY अनुभाग में टाइप करें।
यदि आप AWS SES एकीकरण के माध्यम से ई-मेल भेजना चाहते हैं, तो आपको अपनी मशीन पर awscli स्थापित करना होगा और उसमें आवश्यक AWS कुंजी जोड़नी होगी। wholeaked स्वयं ही कुंजी पढ़ लेगा। लेकिन आपको कॉन्फ़िग फ़ाइल में AWS_REGION अनुभाग भरना होगा।
यदि आप SMTP सर्वर के माध्यम से ई-मेल भेजना चाहते हैं, तो SMTP_SERVER, SMTP_PORT, SMTP_USERNAME, SMTP_PASSWORD अनुभाग भरें।
भरने के लिए अन्य आवश्यक फ़ील्ड:
EMAIL_TEMPLATE_PATH ई-मेल के मुख्य भाग का पथ। आप HTML या टेक्स्ट प्रारूप निर्दिष्ट कर सकते हैं।EMAIL_CONTENT_TYPE html या text हो सकता हैEMAIL_SUBJECT ई-मेल का विषयFROM_NAME ई-मेल का प्रेषक नामFROM_EMAIL ई-मेल का प्रेषक ई-मेलभेजने की विधि निर्दिष्ट करने के लिए, आप -sendgrid, -ses या -smtp फ़्लैग का उपयोग कर सकते हैं। उदाहरण के लिए:
./wholeaked -n test_project -f secret.pdf -t targets.txt -sendgrid
आप लीक हुई फ़ाइल के स्वामी को प्रकट करने के लिए -validate फ़्लैग का उपयोग कर सकते हैं। wholeaked फ़ाइल में पाए गए हस्ताक्षरों और प्रोजेक्ट फ़ोल्डर में स्थित डेटाबेस की तुलना करेगा। उदाहरण:
./wholeaked -n test_project -f secret.pdf -validate
महत्वपूर्ण: यदि आप फ़ाइल सत्यापन सुविधा का उपयोग करना चाहते हैं तो आपको project_folder/db.csv फ़ाइल को हटाना नहीं चाहिए। यदि वह फ़ाइल हटा दी जाती है, तो wholeaked हस्ताक्षरों की तुलना करने में सक्षम नहीं होगा।
प्रोजेक्ट पसंद आया? आप मेरे लिए एक कॉफी खरीद सकते हैं