محققای ESET یک اکسپلویت زیرودی، برای نسخه ی اندروید تلگرام کشف کردن، که امکان ارسال فایل مخرب با پیش نمایش فایل ویدیویی رو فراهم میکنه.
این اکسپلویت در یکی از انجمن های هکری، با قیمتی نامشخص از 6 ژوئن برای فروش گذاشته شده بود. محققا عنوان EvilVideo رو بهش دادن و این امکان رو فراهم میکنه تا مهاجم بتونه پیلودهای مخرب (بدافزار) اندرویدی رو در کانالها، گروهها و چت ها با پیش نمایش فایلهای رسانه ای به اشتراک بذاره.
محققا یک نمونه از این اکسپلویت رو بدست آوردن و آنالیزش کردن و در نهایت در 26 ژوئن به تلگرام گزارش دادن. در 11 جولای، تلگرام این آسیب پذیری رو در نسخه ی 10.14.5 به بالا اصلاح کرده. بنابراین نسخه های اندرویدی 10.14.4 و پایین تر آسیب پذیر هستن.
در ویدیوی زیر که از یوتیوب استخراج شده، میتونید نحوه ی اجرا و توضیحاتی در خصوص این آسیب پذیری رو مشاهده کنید.
کشف:
محققا این اکسپلویت رو بعنوان تبلیغ در یکی از فرومهای هکری مشاهده کردن:
در این پست، فروشنده یسری اسکرین شات و ویدیو از تست اکسپلویت در یک کانال عمومی تلگرام منتشر کرده بود. محققا این کانال رو در حالیکه پیلود همچنان در دسترس بوده، شناسایی کردن. با این کار پیلود رو بدست آوردن و تونستن آنالیزش کنن.
آنالیز:
محققا با بررسی این پیلود، متوجه شدن که اکسپلویت روی نسخه های 10.14.4 و قدیمیتر کار میکنه. محققا حدس میزنن که به احتمال زیاد پیلود از طریق API تلگرام ساخته شده، چون به توسعه دهندگان این امکان رو میده که فایلهای رسانه ای خاصی رو بصورت برنامه نویسی شده در کانالها یا چت ها آپلود کنن.
اکسپلویت به نظر میرسه به توانایی بازیگر تهدید برای ایجاد یک پیلود که یک برنامه ی اندرویدی رو بعنوان یک پیش نمایش چند رسانه ای و نه بعنوان یک پیوست باینری نمایش بده، بستگی داره. این پیلود مخرب پس از به اشتراک گذاشتن در چت، بصورت یک ویدیوی 30 ثانیه ای ظاهر میشه.
در حالت پیش فرض، فایلهای رسانه ای ارسال شده در تلگرام، بصورت خودکار دانلود میشن. بنابراین اگه کاربری این گزینه ی دانلود خودکار رو همچنان فعال داشته باشه، با ورود به چت، بصورت خودکار پیلود مخرب رو دانلود میکنه. این ویژگی دانلود خودکار رو میشه از تنظیمات غیر فعال کرد، اما در چنین شرایطی هم باز کاربر با زدن دکمه دانلود در گوشه ی چپ سمت بالا، میتونه این پیلود رو دانلود کنه.
اگه کاربر روی پخش ویدیو بزنه، تلگرام پیامی مبنی بر عدم امکان پخش این ویدیو نمایش و از کاربر میخواد که با پخش کننده های خارجی ( نه ماله خود تلگرام) ویدیو رو پخش کنه. (شکل زیر). این هشدار اصلی تلگرام هستش که محققا در سورس کد برنامه تلگرام برای اندروید پیدا کردن و توسط پیلود مخرب ساخته و نمایش داده نمیشه.
اگه کاربر دکمه Open رو در پیام نمایش داده شده انتخاب کنه، ازش خواسته میشه تا یک برنامه مخرب، که بعنوان پخش کننده خارجی معرفی شده رو نصب کنه. همونطور که در شکل زیر مشاهده میکنید، قبل از نصب، تلگرام از کاربر میخواد که نصب برنامه های ناشناخته رو فعال کنه.
در این مرحله، برنامه مخرب مورد نظر، که قبلا بصورت پیش نمایش یک فایل ویدیویی نمایش داده شده بود، با پسوند apk دانلود شده و کاربر در حقیقت این فایل apk رو بعنوان پخش کننده خارجی نصب میکنه. جالب اینجاست که ماهیت آسیبپذیری باعث میشه فایل apk به اشتراک گذاشته شده، شبیه یک ویدیو باشه.
برنامه ی مخرب اصلا برای این منظور دستکاری نشده. برای همین محققا به احتمال زیاد حدس میزنن که بازیگر تهدید از فرآیند آپلود سواستفاده کرده. درخواست نصب برنامه مخرب رو میتونید در شکل زیر مشاهده کنید.
محققا اعلام کردن که نتونستن خود اکسپلویت رو دوباره بازتولید کنن و فقط نمونه ی به اشتراک گذاشته توسط فروشنده رو بررسی و تایید کردن.
تلگرام نسخه ی وب و دسکتاپ:
با اینکه پیلود ارائه شده فقط برای نسخه ی اندرویدی منتشر شده بود، اما محققا اومدن اونو روی نسخه ی وب و دسکتاپ تلگرام در ویندوز هم تست کردن و همونطور که انتظار میرفته این اکسپلویت روی این نسخه ها کار نکرده.
برای نسخه ی وب، بعد از اینکه ویدیو رو پخش کردن پیامی گرفتن مبنی بر اینکه ویدیو رو در برنامه دسکتاپ باز کنید (شکل زیر). اگه ویدیو رو بصورت دستی هم دانلود میکردن، با نام و پسوند Teating.mp4 ذخیره میشده. در حالیکه خود فایل در واقع یک باینری اجرایی اندروید (APK) بود، تلگرام باهاش بعنوان یک فایل MP4 رفتار کرده و جلوی اکسپلویت رو گرفته. برای موفقیت آمیز بودن این حمله، پیوست باید دارای پسوند apk باشه.
یک همچین موردی برای نسخه ی دسکتاپ تلگرام در ویندوز هم رخ داده. فایل دانلود شده با نام و پسوند Teating.apk.mp4 ذخیره شده. بنابراین باز یک فایل apk رو نداریم. نکته ای که وجود داره اینه که حتی اگه مهاجم بیاد از یک بدافزار ویندوزی استفاده کنه (مثلا با پسوند exe)، باز تلگرام باهاش بعنوان یک فایل رسانه ای رفتار میکنه و جلوی اکسپلویت رو میگیره.
بازیگر تهدید:
محققا اعلام کردن که اطلاعات زیادی در خصوص بازیگر تهدید ندارن، اما تونستن براساس اکانت تلگرامی که در پستها گذاشته، یک سرویس مشکوک دیگه در خصوصشون رو پیدا کنن. علاوه بر این اکسپلویت، این بازیگر تهدید در همون انجمن در 11 ژانویه یک پست دیگه برای سرویس Android cryptor-as-a-service منتشر کرده که ادعا کرده بدافزارهای اندرویدی رو FUD میکنه.
گزارش آسیب پذیری:
محققا بعد از اینکه آسیب پذیری EvilVideo رو کشف کردن، 26 ژوئن اونو به تلگرام گزارش دادن. اما پاسخی دریافت نکردن. در نتیجه در 4 جولای دوباره به تلگرام گزارش دادن و این بار تلگرام پاسخ داده و در نهایت در 11 جولای با انتشار نسخه ی 10.14.5 آسیب پذیری رو اصلاح کردن و به محققا هم ایمیل زدن.
اگه تلگرام نسخه ی اندرویدی رو به نسخه ی 10.14.5 یا بالاتر بروز کنید، فایل ارسالی دیگه بصورت پیش نمایش یک فایل رسانه ای نمایش داده نمیشه.
IOCهای گزارش:
برای دانلود نمونه و IOCها میتونید به صفحه ی گیتهاب ESET مراجعه کنید.
فایلها:
SHA-1 | Filename | Detection | Description |
F159886DCF9021F41EAA 2B0641A758C4F0C4033D |
Teating.apk | Android/Spy.SpyMax.T | EvilVideo payload. |
شبکه:
IP | Domain | Hosting provider | First seen | Details |
183.83.172[.]232 | infinityhackscharan. ddns[.]net |
Administrator Beam Cable System | 2024‑07‑16 | C&C server of EvilVideo payload. |