في هذه المقالة ، نقوم بكسر التقليب وأصفار Vigenère ، وفك تشفير كلمة المرور المحفوظة في متصفح Mozilla Firefox ، والتعامل مع حظر Android والتعامل مع هجوم Bit-Flipping. الأجزاء السابقة:
الجزء 1 - الترميزات وتحويل الشفرات والتجزئة الغاشمة وإنشاء الصور باستخدام PIL python.
الجزء 2 - Crypt و XOR و ZIP غير مشفر و PRNG Cracking.
المعلومات التنظيمية
, - , :
, , , .
, , Telegram . , , .
. , - , .
- PWN;
- (Crypto);
- c (Network);
- (Reverse Engineering);
- (Stegano);
- WEB-.
, , , .
, , Telegram . , , .
. , - , .
كلمة مرور Mozilla Firefox
نحتاج إلى العثور على كلمة مرور المستخدم. قم بتنزيل وفتح الأرشيف الذي يحتوي على دليل .mozilla. يحتوي هذا الدليل على مجلد بملحقات ومجلد باسم المستعرض.
نظرًا لأننا لسنا مهتمين بالملحقات ، فإننا نذهب إلى متصفح diu. يوجد ملف تكوين ملف تعريف ودليل آخر.
نذهب إلى المجلد ونعرض الملفات.
يتم تشفير جميع كلمات المرور المخزنة في قاعدة البيانات ، لذا لن تتمكن من رؤيتها بهذه الطريقة. يمكنك استخدام هذا البرنامج النصي لفك التشفير .
python3 firefox_decrypt.py ~//.mozilla/firefox/o0s0xxhl.default/
شفرات Vigenère
لقد تلقينا نصًا مشفرًا ، ونحتاج إلى العثور على مؤلفه. نظرًا لأن هذا هو تشفير Vigenère ، فسنستخدم وحدة فك ترميز على الإنترنت .
نختار الوضع التلقائي.
ونحصل على النص العادي والمفتاح. يبقى أن جوجل النص والعثور على المؤلف.
نمط قفل Android
لقد حصلنا على تفريغ لنظام ملفات android ومطلب منا العثور على كلمة المرور. من السهل جدًا القيام بذلك من خلال الوصول إلى نظام الملفات. يوجد تجزئة كلمة المرور (SHA1) في ملف /data/system/gesture.key.
يمكننا إما أخذ التجزئة وتحريفها أو استخدام androidpatternlock .
تم العثور على كل من كلمة المرور والنمط.
شفرات التقليب
لقد تلقينا رسالة مشفرة ويطلب منا فك تشفيرها. نظرًا لأن هذا هو تشفير Rail Fence ، فسوف نستخدم وحدة فك ترميز الإنترنت المألوفة بالفعل .
والآن ، من بين عمليات فك التشفير المقترحة ، نحتاج إلى اختيار واحد يحتوي على نص ذي معنى.
ونحصل على الجواب.
AES CBC - هجوم تقليب البت
لقد حصلنا على مضيف ومنفذ للاتصال. دعنا نتواصل باستخدام netcat.
يتم تزويدنا بخيارات للعمل - التسجيل أو تسجيل الدخول. دعنا نسجل أولا.
وقد تم تزويدنا بنص مفتوح ومشفّر جزئيًا. الآن نقوم بتسجيل الدخول باستخدام هذا الرمز المميز.
لكن بعد تسجيل الدخول ، لا يمكننا الوصول إلى البيانات ، لأننا لسنا أعضاء في المجموعة.
بعد فرز المهمة ، دعنا الآن نتعامل مع هجوم Bit-Flipping. يحدث هذا الهجوم عادةً عندما تأخذ وظيفة التشفير بعض المدخلات ، وتُلحق سلسلة عشوائية ، وتُلحق سلسلة أخرى بها قبل تشفيرها (حالتنا).
يوجد أدناه رسم تخطيطي لفك تشفير رسالة باستخدام خوارزمية AES CBC.
والحقيقة هي أن الكتلة السابقة للنص المشفر تم دمجها مع الكتلة التالية ، من أجل إزالة تراكب النص ، ونتيجة لذلك لدينا النص الذي تم فك تشفيره.
وبالتالي ، إذا قمنا بتغيير بايت واحد من النص المشفر في الكتلة السابقة ، فسيتم تغيير بايت واحد من النص العادي في الكتلة التالية.
الآن دعنا نعود إلى المهمة. يحتوي النص الواضح على المعامل is_member = false. من الصعب تخيل كيفية التغيير. ولكن نظرًا لأن لدينا رموز المعادلة ، لكي يكون النص بأكمله مضاعفًا لحجم الكتلة ، يمكننا تغييرها بحيث يتم الحصول على السلسلة عند فك تشفيرها is_member = true.
دعنا نتعرف على كيفية القيام بذلك. يجب الحصول على هذا الخط أثناء فك التشفير في الكتلة الأخيرة - EvilP2. للقيام بذلك ، نحتاج إلى جمع كتلة EvilC1.
كيف نفعل ذلك: لدينا CC1 و PP2. من خلال تجميعهم معًا ، يمكننا الحصول على DC2. نظرًا لأننا نعلم أن EvilP2 يحتوي على "؛ is_member = false]" ونعرف DC2 ، حيث نقيمها فيما بيننا ، يمكنك الحصول على EvilC1.
نسجل مرة أخرى.
نقوم بتهيئة المعلمات الأولية.
الآن نحصل على الكتل التي نعرفها.
الآن نحصل على كتل جديدة.
نجمع الحمولة.
نحن نحاول تسجيل الدخول.
ولم يأت منها شيء ، وجدوانا. هذا على الأرجح بسبب وجود معلمتين متطابقتين. دعونا نقتل أول واحد.
والآن نقوم بتسجيل الدخول بنجاح وأخذ الرمز المميز.
يمكنك الانضمام إلينا على Telegram... دعنا نجمع مجتمعًا يكون فيه أشخاص على دراية بالعديد من مجالات تكنولوجيا المعلومات ، ثم يمكننا دائمًا مساعدة بعضنا البعض في أي مشكلات تتعلق بتكنولوجيا المعلومات وأمن المعلومات.