سيم سيم سيم فتح أو عكس الاتصال الداخلي الذكي الهندسة

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



إعدادات الوكيل


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

لعرض حركة المرور من جهاز محمول ، تحتاج إلى الاتصال بشبكة wifi المنزلية من هاتفك وجهاز الكمبيوتر. قم بتثبيت mitmproxy على الكمبيوتر وتشغيله. على الهاتف في إعدادات wifi ، قم بتعيين العنوان المحلي ومنفذ الكمبيوتر كخادم وكيل. بعد ذلك ، انتقل إلى mitm.it من الهاتف وقم بتثبيت شهادة تتيح لك فك تشفير طلبات https. بعد هذه الخطوات ، أصبحت الطلبات من المتصفح مرئية. مرحى! ومع ذلك ، كانت الخطوة التالية خيبة أمل:


أدى بحث جوجل إلى مشكلة مفتوحة على جيثب . اتضح أنه ، بدءًا من API المستوى 24 ، لم تعد التطبيقات تثق في شهادات المستخدم. لحسن الحظ ، يمكنك الالتفاف حول هذا الأمر عن طريق فك ضغط apk وإضافة التكوين التالي إلى AndroidManifest.xml:

<network-security-config>  
     <debug-overrides>  
          <trust-anchors>  
               <!-- Trust preinstalled CAs -->  
               <certificates src="system" />  
               <!-- Additionally trust user added CAs -->  
               <certificates src="user" />  
          </trust-anchors>  
     </debug-overrides>  
</network-security-config>

وعلاوة على ذلك، هناك الجاهزة النصي على جيثب أن يفعل ذلك تلقائيا. لذلك ، قم بتنزيل apk ، patch script ، تثبيت adb install و voila يعمل كل شيء.

تحليل حركة المرور


نرى أن الطلبات تتم لعناوين النموذج:

https://{intercom-company-url}/api/

يتم تمرير معلمتين في الرأس:
'api-version': '2',
'authorization''Bearer your.jwt.token’

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

pyjwt decode --no-verify your.jwt.token

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

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

https://{intercom-company-url}/api/customers/properties/{account_id}/intercoms 

نحصل على json يحتوي على قائمة هواتف الباب مع الحقول:

[
    {
        'id': ID,
        'mode': MODE, 
        'sip_account': {'ex_user': USER_ID, 'proxy': PROXY,  'password': PSWD}, 
        'video': [{'quality': 'low', 'source': 'rtsp://LINK }]
    }
]

في json id - معرف هاتف الباب ، والوضع - أي باب يمكن فتحه (القيم المحتملة هي one_door ، و left_door ، و right_door) ، واحتساب الحساب وارتباط ببث الفيديو. رائع!

باستخدام بروتوكول بدء الجلسة (sip) ، يتم إجراء مكالمات الفيديو من خلال الاتصال الداخلي. في حقل sip_account ، تلقينا id'shniki وكلمات المرور للاتصالات الداخلية التي يمكن لحسابنا الوصول إليها. استدعاء كل نفس لا يعمل ، لأنهم على الشبكة الداخلية. لكن مجال الفيديو مثير للاهتمام. يحتوي على رابط خارجي لبث الفيديو من الكاميرا. يكفي فتح vlc ونسخ الرابط ويمكنك إلقاء نظرة على مدار الساعة على كاميرا هاتف الباب. ليس من الجيد تشتيت مثل هذه الروابط!

بعد ذلك ، سنكتشف كيفية فتح الباب. عند النقر على زر فتح الباب ، يرسل التطبيق طلب الحصول على:

https://{intercom-company-url}/api/customers/intercoms/{intercom_id}/unlock?door=left_door&id={intercom_id}

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

سيم سيم مفتوح!


بعد أن اكتشفت api ، قررت أن أفعل شيئًا مفيدًا. والنتيجة هي تطبيق لنظام Android يتعرف على الأوامر الصوتية ، وعندما يتعرف على أوامر محددة مسبقًا مثل "sim sim sim open" ، فإنه يرسل طلبًا لفتح الباب المقابل.

الموجودات


يعد الاتصال الداخلي الذكي جيدًا ، ولكن الاتصال الداخلي الآمن والذكي أفضل.

All Articles