مقال: تحليل تطبيق الـGmail على نظام الأندرويد

2 تعليق هاكرز 14- يونيو -2016 كاتب المجتمع

مقال: تحليل تطبيق الـGmail على نظام الأندرويد

إن شاء الله في هذا المقال سنقوم بالتحدث عن تحليل لتطبيق نجده في كل هواتف الأندرويد، وهو الـGmail. بالنسبة للمحقق الجنائي، فتحليل التطبيقات الموجودة على هاتف المتهم تعتبر من أهم المهام التي يقوم بها، وذلك لأنه توصله إلى معلومات مهمة جدًا تساعد في تحقيق قضية متكاملة.

الرأي المتفق عليه في عملية تحليل التطبيقات هي أن تحليل التطبيقات ليس علمًا أكثر منه فنًا، فتحليل التطبيقات يعتبر فن. وذلك لأننا عادةً ما تقوم التطبيقات في حفظ البيانات الخاصة بها بطرق مختلفة. حتى نفس التطبيق يمكن أن يقوم بتنفيذ طرق مختلفة في حفظ بياناته وذلك في إصداراته المختلفة. ما يجب أن نعرفه في هذا الموضوع أن مطور التطبيقات عادةً ما يكون محدودًا في تفكيره بالنسبة لكيفية حفظ البيانات الخاصة بالتطبيق وذلك لما يضعه نظام الأندرويد من معايير. وذلك نجد أن عملية تحليل التطبيقات تتغير باستمرار مع تغير هذه المعايير.

إذن، ما هو الغرض من عملية تحليل التطبيقات؟

الغرض من عملية تحليل التطبيقات هو أننا يجب أن نسعى إلى هدفين، الهدف الأول هو أن نفهم في أي غرض تم استخدام التطبيق. ولماذا قام المتهم باستخدام التطبيق، والهدف الثاني هو أن نعرف أين يقوم التطبيق بحفظ البيانات الخاصة به.

في هذا المقال إن شاء الله، سنقوم بتحليل تطبيقين من أكثر التطبيقات استخدامًا على أنظمة الأندرويد، وبشكل عام. ما يجب أن تضعه في اعتبارك، هو أن كل ما يتم على الهاتف الذي يعمل بنظام الأندرويد، فهو يتم من خلال تطبيقات، حتى عمليات الاتصال التي تقوم بها، والـContacts المحفوظة على الهاتف، بالإضافة إلى استلامك وارسالك للـSMS والـWifi، فكل ذلك يتم من خلال تطبيقات وإن شاء الله ربما في مقالات أخرى سأتحدث عن كيفية تحليل هذه التطبيقات فالقادم أجمل إن شاء الله.

يجب أن تعلم أن جميع التطبيقات يتم حفظها في مجلد /data/data الموجود على هاتفك الأندرويد، ويجب أن تعلم أيضًا أن معظم عمليات التحقيق الجنائي للهواتف التي تعمل على نظام الأندرويد تتطلب أن يكون الـroot مفعل على الهاتف.

تحليل تطبيق الـGmail:

الـGmail طبعًا معروف بيننا جميعًا ولا حاجة لتعريفه، الـPackage الخاصة بالـGmail ستجدها في المسار الذي ذكرناه في الأعلى كما قلنا من قبل وسيكون اسمها:

com.google.android.gm

في الصورة التالية يمكننا أن نرى محتويات المجلد الخاص بالـGmail:

01.-Gmail_Package

يجب أن نعلم أن الملفات المهمة بالنسبة لنا في كل تطبيق تختلف من تطبيق لأخر لذلك سأذكر ما هي الملفات التي تهمنا بالنسبة لتطبيق الـGmail وهي كالتالي:

* /cache

* /databases/mailstore.<username>@gmail.com.db

* /databases/suggestions.db

* /shared_prefs/Gmail.xml

* /shared_prefs/UnifiedEmail.xml

في المسار الأول وهو Cache: سنجد أنه يتم حفظ فيه جميع الملفات التي تم إرسالها أو استلامها كـAttachment كما هو موضح في الصورة التالية:

02-Gmail_Cache

كما نرى في الصورة السابقة يوجد ملف اسمه dex.hml، وهو ملف طلبت من “محمد خالد” أن يقوم بإرساله لي على الإيميل الخاص بي كتجربة 🙂

الملف الثاني أو المسار الثاني وهو /databases/mailstore.<username>@gmail.com.db ولاحظ أن كلمة username ستجد بدلاً منها إيميلك كما سنرى في المثال التالي، في هذا المسار أو قاعدة البيانات تلك فكما نرى هي بامتداد db، سنجد التالي في قاعدة البيانات:

أولاً: attachments: سنجد فيها معلومات عن كل الملفات التي تم إرسالها واستقبالها كـAttachement من خلال تطبيق الـGmail، سنجد أن كل Row في قاعدة البيانات يحتوي على قيمة اسمها messages_conversation ويمكنك مقارنتها مع بيانات الـConversations التي سنتحدث عنها بعد قليل وذلك لمعرفة ما هي المحادثة التي تم إلحاق هذا الملف معها.

ثانيًا: الـConversations: في الإصدارات القديمة من تطبيق الـGmail، كان بإمكانك أن تقوم باستخراج المحادثات التي تمت كاملة. ولكن في الإصدارات الحديثة، فلم تعد شركة جوجل تقوم بحفظ المحادثات كاملة. ولذلك في الإصدارات الحديثة ما يمكنك أن تقوم باستخراجه هو عنوان الرسالة مثلاً ومختصر للمحادثة، يمكنك أيضًا أن تجد في الـColumn المسمى fromCompact معلومات عن المُرسل وإن كانت الرسالة تم إرسالها لأشخاص آخرين.

03-Gmail_Databases

في هذا الحالة للتعامل مع قاعدة البيانات يمكنك استخراج قاعدة البيانات من خلال الـadb pull أو أي طريقة أخرى والعمل عليها من خلال الـSqlite3 أو أن تقوم باستخدام تطبيق من الـGoogle Play Store للتعامل مع قواعد البيانات مثل تطبيق SqLite Editor.

أنا أفضل الطريقة الثانية ولكن من أجل الشرح سأقوم باستخراج قاعدة البيانات والعمل من خلال الـSqlite3:

04-Adb_pull

بعد أن قمت باستخراج قاعدة البيانات، والتي وضعتها في مسار /sdcard لكي أستطيع أن أصل له من خلال adb pull بسهولة، يمكنني الآن أن أتعامل ببساطة مع قاعدة البيانات من خلال الـSqLite3:

05-Sqlite3

06-Gmail_attach

أو يمكننا التعامل مع جدول الـConversations:

07-Gmail_Conversation

ملحوظة: كل البيانات التي تظهر كانت تجربة بيني وبين “محمد خالد” من أجل هذا الشرح 🙂

والآن دعنا نتعامل مع المسار الثالث /databases/suggestions.db، بعد أن تقوم باستخراج قاعدة البيانات كما فعلنا في الأعلى يمكننا التعامل معها أيضًا من خلال الـSqLite3..

إذن، ما البيانات التي يمكننا أن نجدها داخل قاعدة البيانات الخاصة بالـSuggestions؟

يمكنك من خلال قاعدة البيانات تلك أن تجد معلومات عن المصطلحات أو الـTerms التي تم البحث عنها من خلال التطبيق كما هو موضح في الصورة التالية:

08-Gmail_Search_Terms

كما هو موضح في الصورة السابقة، فقد قمت بالبحث عن “Mohamed Khaled” و”Squnity” 🙂

أما عن المسار أو الملف الرابع والخامس وهي Gmail.xml و UnifiedEmail.xmlفملف الـGmail.xml يحتوي على الحسابات الأخرى التي ارتبطت (Linked) بالحساب الأساسي في التطبيق والتي لم يتم استخدامها.

09-Gmail_Xmls

أما الـUnifiedEmail.xml فهي تحتوي على الأشخاص الذين قاموا بمراسلتي على الميل، ولكني لم أجعل أحد يراسلني على الميل في الفترة الأخيرة لذلك لم تظهر بيانات كثيرة.

10-Gmail_unified

بهذا نكون انتهينا من هذا المقال وإن شاء الله نلتقي في مقالات أخرى 🙂

squnity

مجتمع عربي للحماية و امن المعلومات

إضافة تعليق

  • Amine

    اخي انا لم افهم اي شيئ :/

    • عمر أحمد

      اقرأ المقال مرة ثانية.. وبعدها وضح لي ما لم تفهمه وأنا سأرد على أي تساؤل يخصك..