كيف يخزن برنامج TeamViewer كلمات المرور



برنامج TeamViewer هو برنامج شائع للوصول عن بعد إلى سطح المكتب. لذلك ، من المثير للاهتمام أن نرى كيف يخزن كلمات المرور. باختصار ، يتم تشفير كلمات المرور في سجل Windows. للتشفير ، يتم استخدام خوارزمية AES-128-CBC والمفتاح السري 0602000000a400005253413100040000 .

تم تسجيل هذه الطريقة لحفظ كلمات المرور وتصعيد الامتيازات المرتبط بها رسميًا في 7 فبراير 2020 باعتبارها الثغرة CVE-2019-18988 (تنطبق على جميع إصدارات برنامج TeamViewer حتى 07/14/1965).

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

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


Scanner BulletPassView

بعد ذلك ، باستخدام برنامج Cheat Engine (لاختراق الألعاب في Windows) ، بحث متخصص عن كلمة المرور هذه في ذاكرة الوصول العشوائي - ووجدها مرة أخرى في نص عادي. في وقت لاحق اتضح أن هذه الثغرة قد تم إصلاحها بالفعل قبل عامين باسم CVE-2018-14333 .

ثم حان الوقت للتحقق من مكان أخذ المفتاح من ذاكرة عميل TeamViewer: من الخادم أو من المضيف المحلي. اتضح أنه لا توجد حركة مرور شبكة ، ولكن لا تزال هناك كلمة مرور في الذاكرة.استغرقتالهندسة العكسية لبرنامج TeamViewer الثنائي باستخدام IDA Pro و API Monitor و procdump و Frida عدة أسابيع ، لكنها لم تقدم أي شيء ، على الرغم من أن الرجل أتقن العديد من الأدوات الجديدة على طول الطريق ، لذلك لا يمكن وصف العملية بأنها غير مجدية.

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

=================================================
"ServerPasswordAES"=hex:88,44,d7,0a,b2,96,2a,3d,63,16,3c,ff,e4,15,04,fb
=================================================
Takes 8844d70ab2962a3d63163cffe41504fb into xmm0
Takes 5B659253E5E873D26723B7D5EAC06E3B into xmm1
pxor xmm0, xmm1
movdqa xmmword ptr ds:[eax],xmm0
[eax] = D3214559577E59EF04358B2A0ED56AC0

movdqa xmm1,xmmword ptr ds:[esi] | [esi] = 25C8C8BD4298BB32A57EECBDBD045BBB
movdqa xmm0,xmmword ptr ds:[eax] | [eax] = D3214559577E59EF04358B2A0ED56AC0
aesdec xmm0,xmm1 | One round of an AES decryption, using Equivalent Inverse Cipher, 128-bit data (state) from xmm1 with 128-bit round key from xmm2/m128; store the result in xmm1.
movdqa xmmword ptr ds:[eax],xmm0 | [eax] = 6F AA 98 76 DE 11 7D 8D 7E B6 EE 61 2D 3D 15 52
movdqa xmm1,xmmword ptr ds:[esi+10] | [esi+10]=[008FDE10]=79 DC 78 A6 67 50 73 8F E7 E6 57 8F 18 7A B7 06
add esi,20 |
dec ecx | ecx = 3
aesdec xmm0,xmm1 | do the actual decryption
movdqa xmmword ptr ds:[eax],xmm0 | [eax]=[008FDC90]=E3 58 26 46 A7 37 12 40 85 1C C0 43 7D 1F 1E 30

Three more rounds of aesdec then
aesdeclast xmm0, xmm1 .| Last round of AES decryption, using Equivalent Inverse Cipher, 128-bit data (state) from xmm2 with a 128-bit round key from xmm3/m128; store the result in xmm1.

008FDC90 01 00 01 00 67 24 4F 43 6E 67 62 F2 5E A8 D7 04 ....g$OCngbò^¨×.

يأخذ هذا الرمز بضع بايتات من السجل ServerPasswordAESويفك تشفيرها بالمفتاح الذي تم الحصول عليه بواسطة القيمة المحددة من XOR'a esiو eax. والنتيجة هي مفتاح 0602000000a400005253413100040000، وقيمة IV متساوية 0100010067244F436E6762F25EA8D704.

في برنامج TeamViewer 14 ، يسمح لك محرك البرمجة النصية الجديد بزيادة الامتيازات من خلال NT AUTHORITY\SYSTEMقراءة كلمة مرور برنامج TeamViewer في التسجيل بحقوق المستخدم.

حسنًا ، يمكنك أيضًا فك تشفير بعض كلمات المرور الأخرى عن طريق googling [SecurityPasswordAES] أو [OptionsPasswordAES] أو [SecurityPasswordExported] أو [PermanentPassword] باستخدام معلمة البحث [filetype: reg].

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



GlobalSign PKI- .



: +7 (499) 678 2210, sales-ru@globalsign.com

All Articles