
أداة مشاركة ملفات تسمح لك بالعثور على الشخص المسؤول في حالة تسريب
,_
,' '\,_ Utku Sen's
|_,-'_) wholeaked
/##c '\ (
' |' -{. ) "When you have eliminated the impossible,
/\__-' \[] whatever remains, however improbable,
/'-_'\ must be the truth" - Sherlock Holmes
' \
wholeaked هي أداة لمشاركة الملفات تتيح لك العثور على الشخص المسؤول في حالة حدوث تسريب. وهي مكتوبة بلغة Go.
تقوم wholeaked بالحصول على الملف الذي سيتم مشاركته وقائمة المستلمين. تنشئ توقيعًا فريدًا لكل مستلم وتضيفه إلى الملف سرًا. بعد ذلك، يمكنها إرسال الملفات تلقائيًا إلى المستلمين المعنيين باستخدام تكاملات Sendgrid أو AWS SES أو SMTP. بدلاً من إرسالها عبر البريد الإلكتروني، يمكنك أيضًا مشاركتها يدويًا.
تعمل wholeaked مع جميع أنواع الملفات. ومع ذلك، فهي تحتوي على ميزات إضافية لأنواع الملفات الشائعة مثل PDF وDOCX وMOV وغيرها.
+-----------+
|Top Secret |
|.pdf |
| |
-| |
/ | |
/ |Hidden |
a@gov / |signature1 |
/ +-----------+
/ +-----------+
+-----------++-----------+ / |Top Secret |
|Top Secret ||Recipient | / |.pdf |
|.pdf ||List | +---------+ / | |
| || | |utkusen/ | / b@gov | |
| ||a@gov |----->|wholeaked| /----------+ |
| ||b@gov | | | \ |Hidden |
| ||c@gov | +---------+ \ |signature2 |
| || | \ +-----------+
+-----------++-----------+ \ +-----------+
\ |Top Secret |
\ |.pdf |
c@gov \ | |
\ | |
\ | |
\ |Hidden |
-|signature3 |
+-----------+
للعثور على من قام بتسريب المستند، كل ما عليك فعله هو تقديم الملف المسرب إلى wholeaked، وسيكشف عن الشخص المسؤول من خلال مقارنة التوقيعات في قاعدة البيانات.
+-----------+ +---------+
|Top Secret | |Signature|
|.pdf | +---------+|Database |
| | |utkusen/ || | Document leaked by
| |->|wholeaked|| |--------+
| | | || | b@gov
|Hidden | +---------+| |
|Signature2 | | |
+-----------+ +---------+
يمكن لـ wholeaked إضافة التوقيع الفريد إلى أقسام مختلفة من الملف. أوضاع الكشف المتاحة موضحة أدناه:
File Hash: SHA256 تجزئة للملف. جميع أنواع الملفات مدعومة.
Binary: يتم إضافة التوقيع مباشرة إلى الثنائي. جميع أنواع الملفات مدعومة تقريبًا.
Metadata: يتم إضافة التوقيع إلى قسم البيانات الوصفية للملف. أنواع الملفات المدعومة: PDF، DOCX، XLSX، PPTX، MOV، JPG، PNG، GIF، EPS، AI، PSD
Watermark: يتم إدراج توقيع غير مرئي في النص. ملفات PDF فقط مدعومة.
يمكنك تنزيل الثنائيات الجاهزة من صفحة الإصدارات وتشغيلها. على سبيل المثال:
unzip wholeaked_0.1.0_macOS_amd64.zip
./wholeaked --help
قم بتثبيت Go على نظامك
قم بتشغيل: go install github.com/utkusen/wholeaked@latest
تتطلب wholeaked exiftool لإضافة التوقيعات إلى قسم البيانات الوصفية للملفات. إذا كنت لا ترغب في استخدام هذه الميزة، فلست بحاجة إلى تثبيتها.
apt install exiftoolbrew install exiftoolexiftool.exe في نفس الدليل الذي توجد به wholeaked.تتطلب wholeaked pdftotext للتحقق من العلامات المائية داخل ملفات PDF. إذا كنت لا ترغب في استخدام هذه الميزة، فلست بحاجة إلى تثبيتها.
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 أو textEMAIL_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 من مقارنة التوقيعات.
أعجبك المشروع؟ يمكنك شراء قهوة لي