TeamViewer

آیا شما نرم‌افزار TeamViewer که یک نرم‌افزار پشتیبانی از راه دور است را بر روی سیستم خود نصب کرده‌اید؟

اگر جواب شما مثبت است، شما باید به یک آسیب‌پذیری مهم کشف‌شده در این نرم‌افزار توجه کنید که می‌تواند به کاربران اجازه دهد تا با اشتراک‌گذاری یک جلسه دسکتاپ(۱)، کنترلِ کاملِ یک کامپیوترِ دیگر را بدون اجازه از صاحب آن در دست گیرند.

برای راه‌اندازی یک جلسه از راه دور، هر دو کامپیوتر، شامل کاربر (ارائه‌دهنده) و سرور (بیننده)، باید نرم‌افزار را بر روی سیستم خود نصب‌کرده و کاربر باید یک کد تأیید مخفی را با شخص موردنظر خود به اشتراک بگذارد.

بااین‌حال، یک کاربر GitHub به نام Gellin یک آسیب‌پذیری را در TeamViewer کشف کرده است[۱] که می‌تواند به کاربر (که جلسه دسکتاپ خود را به اشتراک گذاشته است) اجازه دهد تا بدون داشتن اجازه از بیننده، کنترل کامل سیستم او را در دست گیرد.

آسیب‌پذیری TeamViewer می‌تواند توسط هر کسی شامل سرور یا کاربر مورداستفاده قرار گیرد.

Gellin همچنین یک کد اثبات ادعا(۲) را منتشر کرده است که شامل یک C++ DLL تزریقی است که امکان تغییر مجدد حافظه را به‌صورت مجزا و مجازی برای تغییر مجوز TeamViewer فراهم می‌کند.

C++ DLL تزریقی می‌تواند توسط هر دو، کاربر و یا سرور مورد بهره‌برداری قرار گیرد که نتایج آن در اینجا آورده شده است:

اگر توسط سرور مورد بهره‌برداری قرار گیرد: آسیب‌پذیری اجازه می‌دهد تا بیننده قادر به فعال کردن ویژگی سوئیچ دوطرفه(۳) باشد، که تنها پس از تأیید از سمت سرور فعال می‌شود و درنهایت اجازه می‌دهد سرور سمت کنترل‌کننده را تغییر دهد.

اگر توسط کاربر مورد بهره‌برداری قرار گیرد: آسیب‌پذیری اجازه می‌دهد مشتری کنترل ماوس و صفحه‌کلید سرور را بدون توجه به تنظیمات و مجوزهای سرور، در دست گیرد.

این آسیب‌پذیری بر روی نسخه‌هایی از نرم‌افزار TeamViewer که بر روی ویندوز، MacOS و لینوکس نصب می‌شوند، تأثیرگذار است.

یک کاربر Reddit با نام مستعار xpl0yt، که اولین بار این آسیب‌پذیری را به‌صورت عمومی منتشر کرد، ادعا کرده است[۲] که با تیم امنیتی TeamViewer در ارتباط با این آسیب‌پذیری در ارتباط بوده است. سازندگان این نرم‌افزار وجود این آسیب‌پذیری را در نرم‌افزارشان تأیید کرده و یک وصله برای نسخه ویندوز این نرم‌افزار نیز منتشر کرده‌اند.

سخنگوی TeamViewer به وب‌سایت خبری Hacker News گفته‌ است: “ما نسخه‌های ۱۱ تا ۱۳ را وصله می‌کنیم. وصله مربوط به نرم‌افزار تحت ویندوز در حال حاضر در دسترس است و وصله مربوط به MacOS و لینوکس در آینده نزدیک منتشر خواهد شد.”

به کاربران TeamViewer توصیه می‌شود که نسخه‌های وصله شده نرم‌افزار را به‌محض اینکه در دسترس قرار داشتند، نصب کنند. وصله‌ها به‌طور خودکار بر روی نرم‌افزار TeamViewer کسانی که تنظیمات نرم‌افزار خود را برای دریافت به‌روزرسانی خودکار پیکربندی کرده‌اند، نصب خواهد شد.

منابع

[۱] https://github.com/gellin/TeamViewer_Permissions_Hook_V1

[۲]https://www.reddit.com/r/netsec/comments/7hfd84/be_careful_on_teamviewer_switch_sides_bugtake

[۳] https://thehackernews.com/2017/12/teamviewer-hacking-tool.html


(۱) desktop session
(۲) proof-of-concept (PoC) code
(۳) switch sides