محققان ESET، دوازده برنامه جاسوسی اندروید را شناسایی کردهاند که دارای کد مخرب یکسانی میباشند. شش مورد از این برنامهها در Google Play و شش برنامه دیگر نیز در VirusTotal در دسترس بودند. تمامی برنامههای مشاهده شده در قالب اپلیکیشن پیامرسان ظاهر گشتند؛ بجز یک مورد که به عنوان یک برنامه خبری تبلیغ میگردید. این برنامهها در پسزمینه، به طور مخفیانه کد تروجان دسترسی از راه دور (RAT) به نام بدافزار VajraSpy را اجرا میکنند که برای جاسوسی هدفمند توسط گروه Patchwork استفاده میشود.
بدافزار VajraSpy دارای طیف وسیعی از قابلیتهای جاسوسی است که میتوان آنها را بر اساس مجوزهای اعطا شده به برنامه همراه با کد آن گسترش داد. مخاطبین، فایلها، گزارش تماسها و پیامهای SMS را میرباید، اما برخی از پیادهسازیهای آن حتی میتوانند پیامهای WhatsApp و Signal را استخراج و تماسهای تلفنی را ضبط کنند و با دوربین عکس بگیرند.
این کمپین Patchwork APT، اغلب کاربران پاکستانی را مورد هدف قرار داده است.
ما در ژانویه ۲۰۲۳، متوجه شدیم که یک برنامه خبری تروجانیزه شده به نام Rafaqat (رفاقت) برای سرقت اطلاعات کاربر استفاده میشود. رفاقت در اردو به معنای «همراهی» است. اردو یکی از زبانهای ملی پاکستان میباشد. سرنخ دیگری که به پاکستان اشاره میکند، نام توسعهدهندهای است که برای فهرست برنامه Rafaqat در Google Play استفاده میشود. عوامل تهدید از نام محمد رضوان استفاده کردند که نام یکی از محبوب ترین بازیکنان کریکت پاکستان میباشد. تحقیقات بیشتر منجر به کشف چندین برنامه دیگر با کد مخرب مشابه Rafaqat گردید. برخی از این برنامهها، گواهی توسعه دهنده و رابط کاربری یکسانی داشتند. بر اساس تحقیقات ESET، عوامل تهدید در پشت برنامههای تروجانیزه شده احتمالاً از فریبهای عاطفی برای ترغیب قربانیان خود به منظور نصب بدافزار استفاده کردهاند.
تمامی برنامههایی که در برخی مواقع در Google Play در دسترس بودند، بین آوریل ۲۰۲۱ و مارس ۲۰۲۳ در آنجا آپلود شده بودند. اولین برنامهای که ظاهر شد Privee Talk بود که در یکم آوریل ۲۰۲۱ آپلود شده بود و به حدود ۱۵ نصب رسید. سپس، در اکتبر ۲۰۲۲، MeetMe، Let’s Chat، Quick Chat و Rafaqat آپلود شدند که در مجموع بیش از ۱۰۰۰ مرتبه نصب گشتند. آخرین برنامه موجود در Google Play ، Chit Chat میباشد که در مارس ۲۰۲۳ ظاهر گشته و به بیش از یکصد نصب رسید.
این برنامهها چندین ویژگی مشترک دارند: اغلب آنها برنامه های پیام رسان همراه با کد VajraSpy RAT همراه میباشند. MeetMe و Chit Chat از یک رابط کاربری برای ورود به سیستم یکسان استفاده میکنند. به شکل ۱ مراجعه کنید. علاوه بر این، برنامههای Hello Chat (در فروشگاه Google Play موجود نیست) و Chit Chat توسط همان گواهی توسعهدهنده منحصربهفرد (اثر انگشت SHA-1: 881541A1104AEDC7CEE504723BD5F63E15DB6420) امضا شده است، که به معنای ایجاد توسط همان توسعه دهنده میباشد.
به غیر از برنامههایی که قبلاً در Google Play در دسترس بودند، شش برنامه پیامرسان دیگر در VirusTotal آپلود گردید. از نظر زمانی، YohooTalk اولین بار بود که در فوریه ۲۰۲۲ در آنجا ظاهر شد. برنامه TikTalk در اواخر آوریل ۲۰۲۲ در VirusTotal ظاهر شد. تقریباً بلافاصله پس از آن، MalwareHunterTeam در X (توئیتر سابق) آن را با دامنه ای که برای دانلود در دسترس بود (fich[.]buzz) به اشتراک گذاشت. Hello Chat در آوریل ۲۰۲۳ آپلود شد. Nidus و GlowChat در جولای ۲۰۲۳ و در نهایت Wave Chat در سپتامبر ۲۰۲۳ در آنجا آپلود شدند. این شش برنامه تروجانیزه شده حاوی همان کدهای مخربی هستند که در Google Play یافت میشوند. لیست برنامهها به شرح زیر است:
- Privee Talk (com.priv.talk)
- MeetMe (com.meeete.org)
- Let’s Chat (com.letsm.chat)
- Quick Chat (com.qqc.chat)
- Rafaqat رفاق (com.rafaqat.news)
- Chit Chat (com.chit.chat)
- YohooTalk (com.yoho.talk)
- TikTalk (com.tik.talk)
- Hello Chat (com.hello.chat)
- Nidus (com.nidus.no or com.nionio.org)
- GlowChat (com.glow.glow)
- Wave Chat (com.wave.chat)
شکل ۲ جدول زمانی را نشان می دهد که هر برنامه در Google Play یا به عنوان نمونه در VirusTotal در دسترس قرار گرفته است.
ESET یکی از اعضای App Defense Alliance و یک شریک فعال در برنامه کاهش بدافزار است که هدف آن یافتن سریع برنامههای بالقوه مخرب (PHA ) و متوقف کردن آنها قبل از ورود به Google Play است.
ESET به عنوان یک شریک Google App Defense Alliance، Rafaqat را مخرب شناسایی کرد و بیدرنگ این یافتهها را با Google به اشتراک گذاشت. Rafaqat در آن مقطع زمانی، از ویترین فروشگاه حذف گردید. سایر برنامه ها نیز اسکن شده اما به عنوان مخرب علامت گذاری نشدند و درنهایت از فروشگاه Google Play حذف گشتند.
انتساب به Patchwork
کد مخرب اجرا شده توسط برنامه ها برای اولین بار در مارس ۲۰۲۲ توسط QiAnXin کشف شد. آنها آن را بدافزار VajraSpy نامیدند و آن را به APT-Q-43 نسبت دادند. این گروه APT بیشتر نهادهای دیپلماتیک و دولتی را هدف قرار میدهد.
Meta در مارس ۲۰۲۳، گزارش تهدید سه ماهه اول خود را منتشر کرد که شامل عملیات، تاکتیکها، تکنیکها و رویهها (TTP) گروههای مختلف APT است. این گزارش شامل عملیات حذف انجام شده توسط گروه Patchwork APT است که شامل حسابهای جعلی رسانههای اجتماعی، هش بدافزار اندروید و بردار توزیع میباشد. بخش شاخصهای تهدید آن گزارش شامل نمونههایی است که توسط QiAnXin با حوزههای توزیع یکسان تجزیه و تحلیل و گزارش شدهاند.
Qihoo 360 در نوامبر ۲۰۲۳، به طور مستقل مقالهای را منتشر کرد که مطابق با برنامههای مخرب توصیف شده توسط Meta و گزارش پیش رو بود و آنها را به بدافزار VajraSpy که توسط Fire Demon Snake (APT-C-52)، یک گروه APT جدید، اداره میشوند، نسبت داد.
تجزیه و تحلیل ما از این برنامه ها حاکی از آن است که همه آنها کد مخرب یکسانی دارند و متعلق به خانواده بدافزارهای مشابه VajraSpy هستند. گزارش Meta شامل اطلاعات جامعتری است که ممکن است به Meta دید بهتری در کمپینها و همچنین دادههای بیشتری برای شناسایی گروه APT بدهد. به همین دلیل، بدافزار VajraSpy به گروه Patchwork APT نسبت داده شده است.
تحلیل فنی
بدافزار VajraSpy یک تروجان قابل تنظیم است که معمولاً در قالب یک برنامه پیام رسان پنهان میشود و برای استخراج دادههای کاربر استفاده میگردد. ما متوجه شدیم که بدافزار از نامهای کلاس یکسان در تمام نمونههای مشاهده شده خود استفاده میکند.
به عنوان مثال، شکل ۳ مقایسهای از کلاسهای مخرب انواع بدافزار VajraSpy را نشان میدهد. اسکرین شات سمت چپ لیستی از کلاسهای مخرب موجود در اپلیکیشن کلیک است که توسط Meta کشف شده است، در وسط کلاس های مخرب در MeetMe (کشف شده توسط ESET) فهرست شده است و اسکرین شات سمت راست کلاسهای مخرب WaveChat را نشان میدهد.
شکل ۴ و شکل ۵ به ترتیب کدی را نشان میدهند که مسئول استخراج نوتیفیکیشنها از برنامه Crazy Talk ذکر شده در گزارش Meta و برنامه Nidus است.
میزان عملکردهای مخرب بدافزار VajraSpy بر اساس مجوزهای اعطا شده به برنامه تروجانیزه شده متفاوت میباشد. برای تجزیه و تحلیل آسان تر، ما برنامه های تروجانی شده را به سه گروه تقسیم کردهایم:
گروه اول: برنامه های پیام رسانی تروجانیزه شده با قابلیت های اساسی
گروه اول شامل تمام برنامههای پیام رسان تروجانیزه شده است که قبلاً در Google Play در دسترس بودند، یعنی MeetMe، Privee Talk، Let’s Chat، Quick Chat، GlowChat و Chit Chat و همچنین شامل Hello Chat است که در Google Play در دسترس نبود.
همه برنامههای این گروه عملکرد استاندارد پیام رسان را ارائه میدهند، اما ابتدا کاربر را ملزم به ایجاد یک حساب کاربری میکنند. ایجاد یک حساب کاربری به تأیید شماره تلفن از طریق یک کد پیام کوتاه یک بار مصرف بستگی دارد – اگر شماره تلفن تأیید نشود، حساب ایجاد نخواهد شد.
این برنامهها عملکردهای مخرب یکسانی دارند و میتوانند موارد زیر را استخراج کنند:
- مخاطببن
- پیامک ها
- گزارش تماس
- مکان دستگاه
- لیستی از برنامه های نصب شده
- فایلهایی با پسوندهای خاص (.pdf، .doc، .docx، ، .ppt، .pptx، .xls، .xlsx، .jpg، .jpeg، .png، .mp3، .Om4a، .aac، وopus .)
برخی برنامهها میتوانند از مجوزهای خود برای دسترسی به نوتیفیکیشنها سوء استفاده کنند. در صورت اعطای چنین مجوزی، بدافزار VajraSpy میتواند پیامهای دریافتی را از هر برنامه پیام رسان از جمله پیامهای SMS، رهگیری کند.
گروه دوم: برنامههای پیام رسان تروجانیزه شده با قابلیتهای پیشرفته
گروه دو شامل TikTalk، Nidus، YohooTalk، Wave Chat و همچنین نمونههایی از بدافزار VajraSpy است که در سایر بخشهای تحقیقاتی، مانند Crazy Talk (که توسط Meta و QiAnXin پوشش داده شده) توضیح داده شده است.
همانند برنامههای گروه اول، این برنامهها از قربانی احتمالی میخواهند که یک حساب کاربری ایجاد کند و شماره تلفن خود را با استفاده از یک کد پیام کوتاه یکبار مصرف تأیید نماید. اگر شماره تلفن تأیید نگردد، حساب ایجاد نمیشود، اما بدافزار VajraSpy به هر حال اجرا خواهد شد.
برنامههای این گروه در مقایسه با برنامههای گروه اول، دارای قابلیتهای گستردهتری هستند. علاوه بر قابلیتهای گروه اول، این برنامهها میتوانند از گزینههای دسترسی داخلی برای رهگیری ارتباطات واتساپ، واتساپ تجاری (WhatsApp Business) و سیگنال استفاده کنند. VajraSpy هرگونه ارتباط قابل مشاهده از این برنامه ها را در کنسول و پایگاه داده لوکال ثبت و متعاقباً آن را در سرور C&C میزبان Firebase آپلود میکند. شکل ۷ بدافزاری را نشان میدهد که ارتباط واتساپ را بصورت بلادرنگ ثبت میکند.
علاوه بر این، قابلیتهای گسترده آنها اجازه میدهد تا از ارتباطات چت جاسوسی کنند و نوتیفیکیشنها را رهگیری نمایند. در مجموع، برنامههای گروه دوم علاوه بر برنامههای گروه اول، میتوانند موارد زیر را نیز استخراج کنند:
- نوتیفیکیشنهای دریافتی
- پیامهای ارسال و دریافت شده در واتساپ، واتساپ تجاری و سیگنال
یکی از برنامههای این گروه، Wave Chat، دارای قابلیتهای مخربتری است. همچنین هنگام راهاندازی اولیه رفتار متفاوتی دارد و از کاربر میخواهد سرویسهای دسترسی را اجازه دهد. این سرویس ها پس از مجاز شدن، به طور خودکار تمام مجوزهای لازم را از طرف کاربر فعال میکنند و دامنه دسترسی بدافزار VajraSpy به دستگاه را گسترش خواهند داد. علاوه بر عملکرد مخرب ذکر شده قبلی، Wave Chat همچنین میتواند:
- ضبط تماسهای تلفنی
- ضبط تماس از واتساپ، واتساپ تجاری، سیگنال و تلگرام
- کلیدهای تایپ شده ار کیبورد
- عکس گرفتن با استفاده از دوربین
- ضبط صدای اطراف
- اسکن شبکههای Wi-Fi
Wave Chat میتواند یک فرمان C&C برای گرفتن عکس با استفاده از دوربین، و فرمان دیگری برای ضبط صدا، به مدت ۶۰ ثانیه (به طور پیشفرض) یا برای مدت زمان مشخص شده در پاسخ سرور دریافت کند؛ سپس دادههای گرفته شده از طریق درخواستهای POST به C&C ارسال میشوند.
Wave Chat برای دریافت دستورات و ذخیره پیامهای کاربر، پیامهای SMS و لیست مخاطبین از سرور Firebase استفاده میکند و برای دیگر دادههای استخراج شده، از یک سرور C&C متفاوت و کلاینتی بر اساس یک پروژه منبع باز به نام Retrofit استفاده میکند. Retrofit یک کلاینت Android REST در جاوا است که بازیابی و آپلود دادهها را از طریق یک سرویس وب مبتنی بر REST آسان میکند. VajraSpy از آن برای آپلود دادههای کاربر به صورت رمزگذاری نشده در سرور C&C از طریق HTTP بهره میجوید.
گروه سوم: برنامههای غیر پیام رسان
تاکنون تنها اپلیکیشنی که به این گروه تعلق دارد، Rafaqat میباشد؛ برنامهای که در وهله اول منجر به این تحقیقات شد. این تنها برنامه VajraSpy است که به عنوان پیام رسان استفاده نمیشود و ظاهراً برای ارائه آخرین اخبار کاربرد دارد. از آنجایی که برنامههای خبری نیازی به درخواست مجوزهای اضافی مانند دسترسی به پیامهای کوتاه یا گزارش تماس ندارند، قابلیتهای مخرب Rafaqat در مقایسه با سایر برنامههای تحلیل شده محدود میباشد.
در حالی که برنامه پس از راه اندازی نیاز به ورود با استفاده از یک شماره تلفن دارد، هیچ تأیید شمارهای اجرا نمیگردد، به این معنا که کاربر میتواند از هر شماره تلفنی برای ورود به سیستم استفاده کند. Rafaqat میتواند نوتیفیکیشنها را رهگیری و موارد زیر را استخراج کند:
- مخاطبین
- فایلهایی با پسوندهای خاص (.pdf، .doc، .docx، ، .ppt، .pptx، .xls، .xlsx، .jpg، .jpeg، .png، .mp3، .Om4a، .aac و opus. ).
شکل ۹، یک پیام SMS دریافت شده با استفاده از مجوز دسترسی به نوتیفیکیشنها را نشان میدهد.
فایلها
شبکه
منبع
https://www.welivesecurity.com/en/eset-research/vajraspy-patchwork-espionage-apps