"المراقبة الاجتماعية". النتيجة 1: 0 لصالحنا

المقدمة


خرج التطبيق ← شهد رعبًا هادئًا → بدأ في كتابة المراجعات السلبية ← مرتبة حسب الرفوف ← تم حذف التطبيق (تم إرساله للمراجعة).

مرحباً بالجميع ، في هذه المقالة ، عندما يمر كل شيء ، أود أن أخبركم عن المرحلتين الرئيسيتين لما سبق.

ما نوع التطبيق الذي يمكن قراءته هنا .
وعن الأعذار وإرسالها للمراجعة هنا .

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

خلفية


بدأ كل شيء بالنسبة لي في قناة Telegram " IT and COPM ". لم أر على الفور منشورًا يحتوي على رابط للتطبيق في سوق Play و apk أدناه. فقط بعد حوالي 30 دقيقة ، من عدد المشاركات في هذه القناة ، قررت القراءة. في ذلك الوقت ، كان الرجال قد قاموا بالفعل بترجمة التطبيق وشاهدوا بنشاط حيث تم إرسال البيانات. لقد قاموا بسحب بعض نقاط النهاية ، المضيفين ، الرمز المميز ، بدأوا في نشر لقطات شاشة من قطع التعليمات البرمجية. بعد تطبيق apk ، طلبوا من شخص ما نشر الرمز المتحول على GitHub - بعد ساعة ونصف تم نشره . ثم اتصلت ...

الجزء الرئيسي


دعم


في البداية ، أود أن أقول أنه داخل التطبيق كان هناك رمز مميز للعمل مع Identix.one واجهة برمجة تطبيقات التعرف على الوجوه . يعمل هؤلاء الأشخاص بحيث يحتاجون في البداية إلى تحميل قاعدة بيانات المستخدم بالصور والبيانات ، وعندئذ فقط يمكنهم إرسال الصور للتعرف عليها. كان الرمز المميز في التطبيق ، يعمل مع واجهة برمجة التطبيقات لهذه الخدمة من خلال العميل ، وليس الخلفية الخاصة بك. وبالتالي ، يمكن لأي مستخدم ، بعد أن مزق رمزًا مميزًا ، البدء في تحميل أي صور لمواطني الاتحاد الروسي وتلقي معلومات عنهم. تبدو رائعة. بعد أن نظرت إلى تعريفات هذه الخدمة ، أدركت أن هذا بشكل عام لكاميرات CCTV. بالنسبة لكل كاميرا ، عليك دفع مبلغ جيد وفوجئت بالمبلغ الذي كان على مطوري التطبيقات دفعه مقابل ذلك.





بالانتقال إلى قسم وثائق API ، بدا لي أنه من المثير للاهتمام الحصول على قاعدة مستخدمين محملة وأشياء أخرى. لذلك قررت تلبية الطلب والتحقق من الرمز المميز. لحسن الحظ أو لسوء الحظ ، تم تعطيل الرمز المميز ، وأبلغت على الفور مالك قناة IT و COPM عبر Twitter .

لقد بدأت دراستي بظهر ، لأنني كنت أخطط للعثور على شيء مثير للاهتمام هناك ( جرح SQL ، على سبيل المثال). كان لدينا بالفعل مضيفين ورابط للدخول إلى لوحة المشرف. في منطقة المشرف وذهبت. بالنظر إلى الاستفسارات على الفور ، أصبح من الواضح أن هذا نوع من إطار عمل الغلاف الجوي. عندما رأيت الحمار الجامح في الطلبات ، وكيف يميز الزر الذي تم الضغط عليه ، والعلم الذي تم تعيينه في النموذج ، كنت مكتئبًا. لم أكن أرغب في الخوض في ذلك وفعلت الحد الأقصى الذي فعلته - لقد دفعت "Atmosphere Framework CVE" إلى Google. بالنظر بسرعة إلى العناوين الرئيسية ، لم أر شيئًا مثيرًا للاهتمام باستثناء XSS وذهبت إلى أبعد من ذلك. ثم ذهبت إلى نقاط النهاية الأخرى التي نعرفها.

كانت نقاط النهاية هذه أقلامًا لبدء عملك وإنهائه. مما يميز مدى الوقت الذي يقضيه في العمل. كان هناك بالفعل رمز. فتحت المشروع ، فركت في المكان الصحيح وبدأت في دراسة المعلمات. وكان من بينهم deviceEUI ، idxid ، خط العرض و الطول. إذا كان الأمر واضحًا مع الاثنين الأخيرين ، فعندئذٍ مع الأول - لا. بعد أن أمضيت N عدد الدقائق لإكمال الطلب بنجاح ، قررت عدم الوصول .

بعد ذلك ، لفهم موضوع الدراسة ، قررت تنزيل التطبيق بنفسي. لقد قمت بتنزيله ، لكنني لم أستطع تسجيل الدخول بعد الآن ... وبحلول ذلك الوقت كانوا قد قاموا بعمل نسخة احتياطية (ولكن لم أكن أعرف ذلك بعد).

بعد أن فتحت رمز المشروع ليس على GitHub ، ولكن في الأفكار بالكامل ، بدأت في البحث عن نقاط نهاية جديدة. وجدت! الاسم المناسب: / api / covid / Device ...

لقد بدأت البحث بالفعل في هذه الأقلام. لفترة طويلة ، لم أكن أفهم كيف يسير التفويض ، وأين يوجد الرأس برمز مميز أو أي شيء آخر. ثم بزغت لي ... لقد ذهبت! بعد التأكد من ذلك ، بعد تحليل معالجة وإنشاء الطلبات ، توصلت إلى استنتاجي في الجزء الخلفي وأرسلته مرة أخرى إلى Twitter .

الخلاصة على الجزء الخلفي : يتم التسجيل عن طريق إرسال معلومات حول جهازك (الهاتف). يتضمن هذا العنوان ورقم الهاتف والاسم وما إلى ذلك. فور التسجيل ، يطلبون صورة منك وتحميلها على ملفك الشخصي. في الواقع ، من أجل الإشارة إلى صورة هذا ، يتم الإشارة إلى معلمة إضافية في الطلب - IMEI . وهو موجود في مجال معرف الجهاز الخاص بطراز الجهازالتي أرسلناها في الخطوة الأولى للتسجيل. لا يوجد أي إثبات بأن IMEI ملك لك. يجدر إرسال طلب شخص آخر - وقد أكملت الطلب بنجاح ، على نحو مزعوم من جهاز آخر. من الجدير بالذكر أنه من بين نقاط النهاية يوجد / api / covid / Device / password ، ومع ذلك ، تتم معالجة الاستجابة على النحو التالي:



بعد تسجيل الجهاز ، تقوم واجهة برمجة التطبيقات بإرجاع authCode ، ولكن للأسف ، يتم تخزين هذا الرمز في حقل الكائن ويكمن هناك ، ويجمع الغبار. لا تشارك في تشكيل الطلبات الأخرى.

وبالتالي ، من دون مصادقة ، أي مستخدم يعرف IMEIيمكن لأي شخص (أو التقاطها / ترتيبها) إرسال موقع جغرافي زائف ، وتحميل صورة ، وإرسال حالة حول بداية يوم العمل ، وما إلى ذلك.

أود أن ألعب مع هذا التنفيذ الممتع ، ولكن للأسف ، تم إيقاف كل شيء.

منذ ذلك الوقت ، بدأت أتعامل مع الشفرة بالكامل وأصف ما أراه في قناة Telegram الخاصة بي . اتضح هراء كامل دون أي اتصال بين الفقرات ، ولكن بعد هذا المنشور وجدت القوة (كانت بالفعل 2-3 ليال) لإعادة كتابتها وجعلها قابلة للقراءة.

تحليل التطبيق


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

يخزن التطبيق معلومات حول جهازك والاسم ورقم الهاتف والعنوان. هناك حقول غامضة ، مثل التعليقات . وهناك أشياء مثيرة للاهتمام - طبيب.

لتحديد الوجوه ، يتم استخدام خدمة المعرفات (نفس المعلمة من الجزء الخلفي). يسمح لك بإرجاع العمر والجنس والمعلومات الأخرى من الصورة التي تم تحميلها. يوجد معرف فريد لشخص يتم استخدامه داخل التطبيق.

يتم استخدام نوعين من الأجهزة للتنقل: bluetooth ، wifi. كلاهما لهما اسم و RSSI (جودة الإشارة ، نتحدث عن المسافة إلى نقطة).

الموقع الجغرافي الخاص بك بفضل وحدة Google و GPS .

من بين الأنواع المختلفة من المعلومات المخزنة هناك موقع. والمثير للدهشة أن لديها عددًا كبيرًا من المجالات. بما في ذلك مستوى البطارية وعدد الخطوات (على الرغم من النموذج المنفصل لهذا) والمزيد.

في الإعدادات ، يمكنك تعيين الفاصل الزمني للقياس عن بعد. كل من الجمع والشحن. لست متأكدا من القدرة على تغيير هذه المعلمات.

هناك ثلاثة أنواع مختلفة من المعرّفات الفريدة:

  • أجهزة IMEI.
  • رقم تعريف الجهاز (غير مدروس).
  • عنوان MAC لشبكة WiFi.

وبالتالي ، ما كتبته أعلاه حول نقل واختيار IMEI هو تبسيط ، لفهم. هذا في الواقع واحد من ثلاثة معرّفات. يعتمد المعرّف

الخاص بك على إصدار SDK لديك . ببساطة ، هل من الممكن الحصول على نوع أو نوع آخر من المعرفات الفريدة. يتم الخلط بين مطوري التطبيقات أنفسهم ولا يمكنهم التقارب في اسم واحد. المكان الوحيد الذي أضع فيه الرمز في المقالة.



if (Build.VERSION.SDK_INT >= 29) {
    return getMac(context);
}
return getImei(context);

وداخل getImei ، إليك ما يلي:

if (Build.VERSION.SDK_INT >= 26) {
    str = telephonyManager.getImei();
} else {
    str = telephonyManager.getDeviceId();
}

يمكن للتطبيق أيضًا الحصول على رقم بطاقة SIM ، ولكن فقط في الحالات الصعبة. هناك فرصة - سوف. يتم إنشاء رمز

الاستجابة السريعة باستخدام معرف النص ، والذي يمكن أن يكون من ثلاثة أنواع. تمت مناقشة هذا الموضوع ، وكذلك مع خدمة التعرف على الوجوه ، من قبل أي شخص. أنا لا أركز .

ميزة مثيرة للاهتمام في التطبيق هي دفع الإخطارات لك على الجهاز. يمكن للمطورين إرسال الأوامر عن بعد وسيتم تنفيذها من قبلك. يسمى أحد الفرق OPEN_CAMERA . آخر - SERVER_ADDRESS_KEY - هنا ، على الأرجح ، بالقياس مع Telegram . عندما تم حظره ، أرسل IP جديد لجميع المستخدمينعناوين واستمرنا في استخدام الرسول. بالإضافة إلى ذلك ، يمكنهم تعيين الفاصل الزمني لإرسال وتجميع القياس عن بُعد. هنا بشأن احتمال دفع الإخطارات .

لا يزال بإمكانك بالطبع التحدث عن الصورة الرمزية ، وكيف يمكن تدويرها ، وكيف تحفظها محليًا ، وكيف تطبيعها. يمكنك التحدث عن الرغبة في إجراء تحديث تلقائي للتطبيق ، ولكن لم يكن لديك الوقت ، حول القدرة على الاتصال بالطالب عن طريق الرقم ، والحفاظ على قائمة جهات الاتصال (دفتر العناوين الأكثر بدائية هو الاسم والرقم) ، حول حقيقة تفاعلهم مع عدد نقاط الملف النشطة حول ولكن كل شيء يشعر بالملل.

استنتاج


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

لا يسعني إلا أن ألاحظ تماسك الناس. بدأ الجميع في مشاركة النتائج التي توصلوا إليها ، وأن يكونوا نشطين ، ومن لا يستطيع القيام بذلك - ضع 1 في المراجعات. تم تسجيل 4207 وحدة قدر الإمكان وغياب (في رأيي) تقييمات أخرى.

نفس الرسالة الوهمية مع المسودات والاستنتاج الأصلي على الدعم موجود في قناة Telegram الخاصة بي ، وهي من بين الروابط في الملف الشخصي.

آخر شيء أريد أن أريكم إياه هو أن هذه وظيفة "غير قانونية" للحصول على عنوان MAC من شفرتهم ونفس الشيء على stackoverflow (شكرا ntoskrnl):

وكما هو الحال دائمًا ، شكرًا للقراءة حتى هنا!

PS يمكن لأي شخص أن يرتكب خطأ وأنا لست استثناء. ربما كان هناك شيء خاطئ ، ربما لم يفهم تمامًا التنفيذ. الآن سيأتون ويقولون أنه أثناء التسجيل يتم تذكر IP وأنه من المستحيل تنفيذ الطلبات إلى شخص آخر ، أليس كذلك ؟! وسأجيب أنه هراء وبعد ذلك سيفقد المالك نفسه إمكانية الوصول عند إعادة الاتصال بشبكة الجوال ... بشكل عام ، كما تعلمون ، التعليقات مفتوحة!

All Articles