مؤتمر القبعة السوداء. كيفية عمل هاتف تجسس. الجزء 1

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

كيفن ماكنامي: أرحب بالجميع ، وأنا سعيد لأنني أتحدث هنا اليوم. سأتحدث عن كيفية صنع هاتف تجسس جيد ، لكنني أعتقد أن الاهتمام الرئيسي بك هو كيف يمكنك أخذ وحدة تجسس هاتف SpyPhone هذه ووضعها في تطبيق Android.



يتكون عرضي التقديمي من 3 أجزاء. الأول هو عرض تجريبي لـ SpyPhone أثناء العمل ، ثم سنتحدث قليلاً عن التصميم الخاص لـ "spy phone". سيتم تخصيص الجزء الثالث من المحادثة لكيفية إدخال خدمة SpyPhone في التطبيق ، وفي النهاية سأحب النتائج وأجب على الأسئلة.

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



يبدو هاتف التجسس الحديث مختلفًا ؛ فهو هاتف ذكي منتظم يعمل بنظام التشغيل Android OS. Android عبارة عن منصة مرنة للغاية يسهل التعامل معها ، وهي مفتوحة للغاية وتتيح لك القيام بأشياء كثيرة. لذلك ، هذا ما يشبه SpyPhone الحديث. أعتقد أنه يمكن القيام بنفس الشيء مع الهواتف التي تعمل بنظام iOS ، لكنني ركزت جهودي على نظام Android.



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



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

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



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



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

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

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

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



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

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



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



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



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

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



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

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

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

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

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



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

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



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

أي أننا التزمنا بتصميم برامج Android الأصلية باستخدام Java. كنا بحاجة إلى احتوائه على جميع المكونات اللازمة داخل نفسه ، للعمل في الخلفية ، حتى إذا تم إيقاف التطبيق ، بدأ تشغيله عند تحميل الهاتف. كانت مهمتنا الثانية هي توفير دمج سهل لـ SpyPhone في التطبيقات الرسمية. نجح ذلك ، ولم تتداخل البرامج الضارة لدينا مع تشغيل التطبيقات الأخرى المثبتة على الهاتف. بوصفنا الأمر والتحكم في خادم الأوامر والتحكم ، فقد اخترنا خادم الويب NodJS مع نقل البيانات عبر HTTP. بالنسبة إلى أوامر التحكم في برنامجنا ، استخدمنا واجهة JS ، وكانت الأوامر نفسها تبدو كما يلي:

تحديث - إرسال المعلومات إلى الخادم ،
نخب - عرض رسالة على الشاشة ،
اغلاق - وقف SpyPhone ،
الرسائل القصيرة - إرسال رسالة SMS إلى جهة اتصال ،
الموقع - إرسال معلومات موقع الهاتف إلى الخادم ،
زقزقة - التقاط صورة وإرسالها إلى الخادم ،
الاستماع - تسجيل الصوت وإرسالها إلى الخادم.

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

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



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

معلومات المستخدم
- استيراد android.accounts.Account ؛
- استيراد android.accounts.AccountManager.
الهاتف والرسائل النصية القصيرة
–استيراد android.telephony.SmsManager ؛
-استيراد android.telephony.TelephonyManager.
الموقع
- استيراد android.location.Location ؛
-استيراد android.location.LocationListener ؛
-استيراد android.location.LocationManager ؛
تسجيل ملفات الوسائط (الصوت والفيديو)
- استيراد android.media.MediaRecording.
الكاميرا
-استيراد android.hardware.Camera ؛
-استيراد android.hardware.Camera.PictureCallback ؛
-استيراد android.hardware.Camera.PreviewCallback ؛
-استيراد android.hardware.Camera.Size ؛
-استيراد android.media.AudioManager ؛
-استيراد android.view.SurfaceHolder ؛
-استيراد android.view.SurfaceView.
الانترنت
- استيراد org.apache.http.HttpResponse ؛
- استيراد org.apache.http.NameValuePair ؛
- استيراد org.apache.http.client.ClientProtocolException ؛
- استيراد org.apache.http.client.HttpClient.

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



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

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

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

أول شيء فعلناه هو اختيار لعبة Angry Birds. لقد اخترناها ليس لأنها لعبة جيدة جدًا ، ولكن بسبب شعبيتها. يمكن إدخال وحدة SpyPhone الخاصة بنا في أي تطبيق على الإطلاق. بادئ ذي بدء ، نحن بحاجة إلى نسخة من ملف .apk الأصلي. هذا أرشيف يحتوي على جميع مكونات التطبيق. يوجد داخل ملف التطبيق كود Java ، أو بالأحرى ، ليس Java تمامًا - هذا هو رمز الجهاز الظاهري Dalvik. يمكن استبدال هذا الرمز بمحتوى آخر ، ويطلق عليه ثغرة "المفتاح الرئيسي". لذلك ، يجب علينا فتح ملف .apk هذا وتفكيكه ، أي أن لدينا قائمة بجميع المكونات التي سيتم تفكيكها.
لذلك ، بادئ ذي بدء ، نحن استخراج جميع مكونات تطبيق Angry Birds 2000.



بعد ذلك نقوم بإدراج مثال / android / droidwhisper في دليل smali ، وفي مجلد droidwhisper النهائي ، توجد ملفات تطبيق القاموس القابل للبحث المعدلة التي تحتوي على وحدة تجسس لدينا.



قمنا بتنزيل لعبة Angry Birds من Google Play Market وقمنا بنسخ نسخة منها. الشيء التالي الذي يقلقنا هو مفاتيح التوقيع. ترى كل هذه الملفات في دليلنا تسمى حقن.

في عملية التفكيك ، استخدمنا برنامج Apk_tools ، وهو أداة لإدارة ملفات .apk. الآن ، باستخدام سطر الأوامر ، أظهر كيف بدأنا في تفكيك الطيور الغاضبة.



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

23:00 دقيقة

مؤتمر القبعة السوداء. كيفية عمل هاتف تجسس. الجزء 2



شكرا لك على البقاء معنا. هل تحب مقالاتنا؟ تريد أن ترى المزيد من المواد المثيرة للاهتمام؟ ادعمنا عن طريق تقديم طلب أو التوصية به لأصدقائك ، خصم 30٪ لمستخدمي Habr على تناظرية فريدة من خوادم الدخول التي اخترعناها لك: الحقيقة الكاملة حول VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1 جيجابت في الثانية من 20 $ أو كيفية تقسيم الخادم؟ (تتوفر خيارات مع RAID1 و RAID10 ، ما يصل إلى 24 مركزًا وما يصل إلى 40 جيجابايت من ذاكرة DDR4).

VPS (KVM) E5-2650 v4 (6 مراكز) 10GB DDR4 240GB SSD 1 جيجابت في الثانية حتى يناير مجانًا عند الدفع لمدة ستة أشهر ، يمكنك طلب هنا .

ديل R730xd 2 مرات أرخص؟ لدينا فقط 2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD بسرعة 1 جيجابت في الثانية 100 TV من 249 دولارًا في هولندا والولايات المتحدة الأمريكية! اقرأ عن كيفية بناء البنية التحتية فئة باستخدام خوادم V4 R730xd E5-2650d تكلف 9000 يورو عن بنس واحد؟

Source: https://habr.com/ru/post/ar434052/


All Articles