كثرت المواضيع مؤخراً حول أمن البرنامج الشهير WhatsApp. قام شخص يدعى Sam Granger بالبحث والتقصي في طريقة عمل ال WhatsApp ووجد أن التطبيق يستخدم رقم IMEI
الخاص بالهاتف كرقم سري، ورقم الهاتف كإسم مستخدم مما يعني أن أي شخص
يستطيع الحصول على هذه الأرقام سيتمكن من إرسال رسائل بإسمك على البرنامج.
IMEI : هو رقم تسلسلي عالمي للجوال مربوط بالجهاز و
ليس الشريحة و يقوم كل جهاز بإرسال هذا الرقم في كل مرة يتم عمل مكالمة.
والفائدة من ذلك هي في مجال المخابرات و الامن. بمعنى آخر لو تم سرقة
جهازك، شركة الإتصالات قادرة على التعرف على رقم و اسم السارق. كذل
يمكن لشركة الاتصالات ان تربط استخدام الجهاز بشريحة معينة.
أضف إلى ذلك أن جميع محادثات التطبيق يتم تخزينها في الهاتف بدون أي تشفير مما يجعل محادثاتك عرضه للتجسس.
الحين نجي لشرح الثغرة او الطريقة
راح تكون باللغة الانجليزية والعربية
حلوين
يمكن لشركة الاتصالات ان تربط استخدام الجهاز بشريحة معينة.
أضف إلى ذلك أن جميع محادثات التطبيق يتم تخزينها في الهاتف بدون أي تشفير مما يجعل محادثاتك عرضه للتجسس.
الحين نجي لشرح الثغرة او الطريقة
راح تكون باللغة الانجليزية والعربية
حلوين
شرح الطريقة »
الطريقة راح نشرحها للحماية فقط
وربما كنت قد سمعت في الأخبار الأخيرة، تسربت 1000001 أبل UDID ل . من المؤسف أن الكثير من تطبيقات استخدام في UDID لتعريف المستخدمين حيث أنها غير آمنة للغاية.
هذا يقودني إلى على ال WhatsApp، وهي خدمة الرسائل المجانية، وتستخدم من قبل الملايين من الناس. نظامهم يعمل على نسخة معدلة من XMPP (توسيع التراسل وجود بروتوكول). فلا حرج مع استخدام XMPP، ولكن هناك مشكلة في كيفية التعامل مع المصادقة على ال WhatsApp.
إذا قمت بتثبيت على ال WhatsApp على جهاز الروبوت على سبيل المثال، كلمة السر الخاصة بك من المرجح أن يكون معكوس رقم IMEI الهواتف مع تجزئة التشفير MD5 القيت على أعلى من ذلك (بدون ملح).
MD5 (strrev ('-IMEI الخاص بك، يذهب هنا،'))
عندما أقول الروبوت، وأنا لا يعني حصرا الروبوت. يحدث لمجرد أن يكون حالة مختلفة عندما يتعلق الأمر دائرة الرقابة الداخلية. قد يندوز موبايل، وبلاك بيري الخ ... حسنا جدا من طريقة نفس كلمة المرور. انها في الواقع ليست مفاجأة لي. قد على ال WhatsApp على اي فون الخاص بك IMEI تستخدم أيضا، أو ربما UDID لتوليد كلمات السر، ولكن ليس بالضبط نفس الأسلوب. إذا كنت لا تعرف، وسوف تحديث هذه الوظيفة.
ثم يأتي اسم المستخدم. انها رقم هاتفك (وزارة الصحة).
للحصول على كل هذه القيم هي بسيطة إلى حد ما.
أمثلة:
1. لديك إمكانية الوصول المباشر إلى الهاتف الخاص بك الضحايا، وفي هذه الحالة يمكنك طلب استدعاء و* # 06 # (في معظم الحالات) وكنت قد حصلت على عدد IMEI.
2. كنت في وضع التطبيق الذي يرسل بصمت عدد الضحايا إلى IMEI الخادم الخاص بك في الخلفية (العديد من التطبيقات القيام بذلك بالفعل) ورقم الهاتف، إما عن طريق السماح لهم ملئه في حد ذاتها في جزء من تسجيل التطبيق الخاص بك، أو بصمت أيضا (هذه الطريقة ولكن ليست دائما محكمة الإغلاق لكنه يعمل في الكثير من الحالات).
3. A تسريبات القراصنة قاعدة بيانات / ملف مع الأرقام مع أرقام الهاتف IMEI المرتبطة بها، دينغ دينغ دينغ!
.. 4 سبامر تشتري هذه المعلومات من مطور التطبيق.
1. لديك إمكانية الوصول المباشر إلى الهاتف الخاص بك الضحايا، وفي هذه الحالة يمكنك طلب استدعاء و* # 06 # (في معظم الحالات) وكنت قد حصلت على عدد IMEI.
2. كنت في وضع التطبيق الذي يرسل بصمت عدد الضحايا إلى IMEI الخادم الخاص بك في الخلفية (العديد من التطبيقات القيام بذلك بالفعل) ورقم الهاتف، إما عن طريق السماح لهم ملئه في حد ذاتها في جزء من تسجيل التطبيق الخاص بك، أو بصمت أيضا (هذه الطريقة ولكن ليست دائما محكمة الإغلاق لكنه يعمل في الكثير من الحالات).
3. A تسريبات القراصنة قاعدة بيانات / ملف مع الأرقام مع أرقام الهاتف IMEI المرتبطة بها، دينغ دينغ دينغ!
.. 4 سبامر تشتري هذه المعلومات من مطور التطبيق.
حان الوقت لبعض أمثلة التعليمات البرمجية الروبوت ..
الروبوت رمز المثال لاسترداد عدد IMEI:
TelephonyManager TM = (TelephonyManager) getSystemService (Context.TELEPHONY_SERVICE)؛
سلسلة DEVICE_ID = tm.getDeviceId ()؛
لاسترداد رقم الهاتف الضحايا:
TelephonyManager tMgr = (TelephonyManager) mAppContext.getSystemService (Context.TELEPHONY_SERVICE)؛
mPhoneNumber = tMgr.getLine1Number ()؛
يمكنك أيضا استرداد عدد المستخدمين البريد الصوتي فقط في حالة أيضا:
TelephonyManager.getCompleteVoiceMailNumber ()
باستخدام هذه المعلومات يسمح لك لاعتراض وإرسال رسائل من حساب الضحايا الخاصة بك.
وهذا يمكن خبط حياة الناس إذا كنت تستخدم حساب لإرسال رسالة إلى شخص يعرفونه، مع أي نوع من رسالة تصل f'ed. وهذا يمكن أن يسبب مشاكل كبيرة للضحية الخاص بك، وخاصة إذا كان المتلقي للرسالة غير مستقر عقليا. قد يبدو مثيرة، لكنه ما أمكن ذلك.
هل يمكن اعتراض صور عارية وغيرها من الرسائل الشخصية الحساسة.
بدلا من ذلك، هل يمكن أن غير المرغوب فيه فقط الجحيم من على ال WhatsApp، وخاصة إذا كان لديك قاعدة بيانات كبيرة لطيفة.
يحدث هذا بالفعل؟ فإنه لن يفاجئني إذا هو عليه. لقد نجحت في إرسال / استقبال رسائل (من الأصدقاء الذين الحسابات أعطاني الإذن لاتخاذ حساباتهم فوق) وأنا لست حتى "القراصنة المتشددين".
هل تستخدم على ال WhatsApp؟ التفكير مرتين قبل إرسال رسالة خاصة على ال WhatsApp. التفكير مرتين عند تلقي رسالة على ال WhatsApp من عابث. كنت لا تعرف ما يجري في الخلفية.
وعلى ال WhatsApp، إذا كنت تقرأ هذا، والحصول على القانون الخاص بك معا. الناس يتوقعون نظام آمن عندما يتعلق الأمر الرسائل الشخصية. ومع كمية من العملاء لديك، يجب أن تتخذ تدابير أمنية أفضل. وآمل مخلصا لك إصلاح هذه المشكلة قريبا.
- UPDATE -
ويبدو أن على ال WhatsApp وإجراء تغيير في نظام التوثيق الخاصة بهم. ولست متأكدا بالضبط ما تغير، ولكن إذا كنت تعرف المزيد سأدعكم تعرفون جميعا. طريقة بلدي لم يعد يعمل.
ويبدو أن على ال WhatsApp وإجراء تغيير في نظام التوثيق الخاصة بهم. ولست متأكدا بالضبط ما تغير، ولكن إذا كنت تعرف المزيد سأدعكم تعرفون جميعا. طريقة بلدي لم يعد يعمل.
-----------------------------------------------------
الشرح بالنجليزي
As you probably already heard in recent news, 1,000,001 Apple UDID’s were leaked. It’s unfortunate that so many apps use UDID’s to identify users since it’s extremely insecure.
This brings me to WhatsApp, a free messaging service, used by millions of people. Their system runs on a modified version of XMPP (Extensible Messaging and Presence Protocol). There is nothing wrong with using XMPP, but there is a problem in how WhatsApp handle authentication.
If you installed WhatsApp on an Android device for example, your password is likely to be an inverse of your phones IMEI number with an MD5 cryptographic hash thrown on top of it (without salt).
md5(strrev(‘your-imei-goes-here’))
When I say Android, I don’t exclusively mean Android. It just happens to be a different case when it comes to iOS. Windows Mobile, Blackberry etc… might very well have the same password method. It actually wouldn’t surprise me. WhatsApp on the iPhone might be using your IMEI too, or maybe UDID’s to generate passwords, but not the exact same method. If I do find out, I will update this post.
Then comes the username. It’s your phone number (doh).
To obtain both these values is rather simple.
Examples:
1. You have direct access to your victims phone, in which case you dial & call *#06# (in most cases) and you’ve got their IMEI number.
2. You develop an app that silently sends the victims IMEI number to your server in the background (many applications do this already) & phone number, either by letting them fill it in themselves in a registration part of your app, or also silently (this method however isn’t always airtight but works in a lot of cases).
3. A hacker leaks a database/file with IMEI numbers with associated phone numbers, ding ding ding!
4. A spammer buys this information from an app developer.
1. You have direct access to your victims phone, in which case you dial & call *#06# (in most cases) and you’ve got their IMEI number.
2. You develop an app that silently sends the victims IMEI number to your server in the background (many applications do this already) & phone number, either by letting them fill it in themselves in a registration part of your app, or also silently (this method however isn’t always airtight but works in a lot of cases).
3. A hacker leaks a database/file with IMEI numbers with associated phone numbers, ding ding ding!
4. A spammer buys this information from an app developer.
Time for some Android code examples..
Android code example to retrieve IMEI number:
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String device_id = tm.getDeviceId();
To retrieve the victims phone number:
TelephonyManager tMgr =(TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE);
mPhoneNumber = tMgr.getLine1Number();
You can also retrieve the users voicemail number too just in case:
TelephonyManager.getCompleteVoiceMailNumber()
Using this information allows you to intercept and send messages from your victims account.
This could mess up peoples lives if you use their account to send a message to someone they know, with any kind of f’ed up message. This could cause huge problems for your victim, especially if the receiver of the message is mentally unstable. It might sound dramatic, but it’s feasible.
You could intercept naked photos & other sensitive personal messages.
Alternatively, you could just spam the hell out of WhatsApp, especially if you have a nice big database.
Is this already happening? It wouldn’t surprise me if it is. I’ve succeeded in sending/receiving messages (from friends accounts who gave me permission to take their accounts over) and I’m not even a “hardcore hacker”.
Do you use WhatsApp? Think twice before you send a private WhatsApp message. Think twice when you receive a messed up WhatsApp message. You don’t know what’s going on in the background.
And WhatsApp, if you are reading this, get your act together. People expect a secure system when it comes to personal messaging. And with the amount of customers you have, you should be taking better security measures. I sincerely hope you fix this issue soon.
The intent of this blog post is not give “hackers” or “scriptkiddies” any funny ideas, but merely for awareness.
– UPDATE –
It seems that WhatsApp has made a change in their authentication system. I am not sure what they exactly changed, but if I find out more I will let you all know. My method no longer works.
It seems that WhatsApp has made a change in their authentication system. I am not sure what they exactly changed, but if I find out more I will let you all know. My method no longer works.
وهاذا كل شئ اليوم
كان معكم اخوكم
mr.hmada
لا تنسى اذا افتك بشئ لايك+ اعجبني+نشر في الفيس بوك او معى اصدقائك
وترقبو مني كل جديد
سلامي