کسپرسکی یه گزارشی منتشر کرده در خصوص هک شدن چند دستگاه iOS در شبکه اش و FSB ادعا کرده که اپل بکدور در اختیار NSA قرار میده.
قصه از اونجایی شروع شده که محققین کسپرسکی در حین مونیتور کردن شبکه WiFi برای گوشی های موبایل، یسری فعالیت مشکوک از چند تا گوشی iOS مشاهده کردن. با توجه به اینکه فارنزیک گوشی های مدرن iOS از رو گوشی امکانپذیر نیست، محققا یه بک آپ آفلاین از دستگاه گرفتن و با استفاده از mvt-ios بررسیش کردن و متوجه هک اونا شدن. اسم این کمپین رو Operation Triangulation گذاشتن.
روش فارنزیک :
قبل از شروع بیان روش های فارنزیکی که در این مورد استفاده شده، این نکته مهمه که ،این بدافزار دارای یسری کد هستش که آثار خودش رو از روی هدف پاک میکنه، اما میشه بصورت قابل اعتمادی، تشخیص داد که آیا دستگاه هک شده یا نه. همچنین اگه دستگاه جدیدی با انتقال دادههای کاربر از یه دستگاه قدیمیتر راهاندازی شده باشه، نسخه پشتیبان iTunes اون ، حاوی آثاری از هک هستش که برای هر دو دستگاه با Timestamp درست،اتفاق افتاده .
در ابتدا نیاز هستش که از دستگاه های هک شده، نسخه پشتیبان بگیریم. این کارو میشه از طریق iTunes یا یه برنامه متن باز بنام idevicebackup2 انجام دادش. این ابزار بصورت پیش فرض در برخی توزیعها وجود داره.
برای اینکه با idevicebackup2 پشتیبان بگیرید از دستور زیر استفاده کنید :
1 |
idevicebackup2 backup --full $backup_directory |
این امر بسته به داده هایی که داخل دستگاه هستش، ممکنه چندین ساعت طول بکشه و همچنین ممکنه در طول فرایند پشتیبان گیری ، چندین بار کد امنیتی دستگاه رو وارد کنید.
بعد از اینکه پشتیبان گیری تموم شد، نیاز هستش که با ابزار Mobile Verification Toolkit مورد بررسی قرار بگیره. این ابزار روی پایتون 3 توسعه داده شده و برای نصبش میتونید از دستور زیر استفاده کنید (راهنمای نصب کامل این ابزار) :
1 |
pip install mvt |
بعد از نصب ابزار، حالا نوبت بررسی نسخه پشتیبان با این ابزار هستش. اما قبل از بررسی ، اگه صاحب دستگاه، اونو رمزنگاری کرده باشه، نیاز هستش که قبل از بررسی ، اونو رمزگشایی بکنیم. برای اینکار از دستور زیر استفاده میکنیم :
1 |
mvt-ios decrypt-backup -d $decrypted_backup_directory $backup_directory |
بعد از اینکه کار رمزگشایی تموم شد، نوبت تجزیه و آنالیز نسخه بک آپ توسط ابزار MVT هستش . برای این منظور از دستور زیر استفاده میکنیم :
1 |
mvt-ios check-backup -o $mvt_output_directory $decrypted_backup_directory |
بعد از آنالیز، یسری فولدر و فایل میسازه که برای مطالب این گزارش، فایل timeline.csv مهم هستش. در کل براساس آنالیز این جدول زمانی ، timeline.csv ، محققا متوجه شدن که :
- دستگاه هدف یه پیام حاوی یه پیوست که یه اکسپلویت Zero Click هست دریافت میکنه.
- بدون هیچ تعاملی ، پیام منجر به اکسپلویت و در نتیجه اجرای کد میشه.
- کد داخل اکسپلویت ، مراحل بعدی حمله رو از C2 میگیره ، از جمله اکسپلویتهایی برای افزایش امتیاز.
- بعد از اینکه اکسپلویت بصرت موفقیت آمیز اجرا شد، پیلود نهایی از سرور C2، که یک پلتفرم APT با امکانات کامله، دانلود میشه.
- در نهایت پیام و اکسپلویت حذف میشن.
ابزارهای مخرب احتمالا به دلیل محدودیتهای سیستم عامل ، خودشون پرسیست نمیکنن. براساس جدول زمانی ، برخی دستگاهها بعد از ریبوت ، دوباره آلوده شدن.
قدیمی ترین مورد آلودگی ، مرتبط با سال 2019 هستش.یعنی این کمپین از 2019 شروع شده. در زمان نگارش این مقاله در ژوئن 2023، حملات همچنان ادامه داره و جدیدترین دستگاههایی که هدف قرار گرفتن iOS 15.7 هستش. نسخه نهایی این سیستم عامل 16.5 هست ، که با توجه به اینکه بدافزار نسخه 15.7 هدف قرار داده، این احتمال وجود داره که در این نسخه ها ، آسیب پذیری رفع شده باشه.
اکسپلویت و پیلودها هنوز آنالیز نشدن، اما در ادامه یسری IoC برای شناسایی حملات از این جدول زمانی ،گزارش کردن، که میتونید ازشون برای بررسی اینکه هک شدید یا نه استفاده کنید. یه ابزار هم توسعه دادن که به جای بررسی دستی ، میتونید دستگاه iOSتون رو بصورت اتوماتیک ،باهاش تست کنید.
قابل اعتمادترین موردی که برای این منظور کشف کردن، وجود موردی از استفاده از داده (data usage) توسط یه پروسس بنام BackupAgent هستش. چرا؟ چون این باینری منسوخ شده و نباید اصلا موردی ازش مشاهده میشده. یه نکته ای که هستش اینه که ، یه باینری بنام BackupAgent2 وجود داره که این نشون دهنده هک نیستش.
در بسیاری از موارد ، BackupAgent توسط پروسس IMTransferAgent اجرا شده که یه ضمیمه ای که یه اکسپلویت هست رو دانلود میکنه، که منجر به تغییر timestamp چندین دایرکتوری در Library/SMS/Attachments
میشه. بعدش فایل ضمیمه، دانلود شده ،حذف میشه اما فولدرهایی اصلاح شده، بدون فایل همچنان هستن:
1 2 3 |
2022-09-13 10:04:11.890351Z Datausage IMTransferAgent/com.apple.datausage.messages (Bundle ID: com.apple.datausage.messages, ID: 127) WIFI IN: 0.0, WIFI OUT: 0.0 - WWAN IN: 76281896.0, WWAN OUT: 100956502.0 2022-09-13 10:04:54.000000Z Manifest Library/SMS/Attachments/65/05 - MediaDomain 2022-09-13 10:05:14.744570Z Datausage BackupAgent (Bundle ID: , ID: 710) WIFI IN: 0.0, WIFI OUT: 0.0 - WWAN IN: 734459.0, WWAN OUT: 287912.0 |
یسری شاخص دیگه هم پیدا کردن که از قابلیت اعتما کمتری برخورداره ، اما اگه در بازه زمانی چند دقیقه ای رخ بدن، میشه بعنوان IOC در نظرشون گرفت :
اصلاح یک یا چند فایل از لیست زیر :
1 |
com.apple.ImageIO.plist, com.apple.locationd.StatusBarIconManager.plist, com.apple.imservice.ids.FaceTime.plist |
اطلاعات استفاده از داده برای سرویس های زیر :
1 |
com.apple.WebKit.WebContent, powerd/com.apple.datausage.diagnostics, lockdownd/com.apple.datausage.security |
مثال :
1 2 3 4 5 6 |
2021-10-30 16:35:24.923368Z Datausage IMTransferAgent/com.apple.MobileSMS (Bundle ID: com.apple.MobileSMS, ID: 945) WIFI IN: 0.0, WIFI OUT: 0.0 - WWAN IN: 31933.0, WWAN OUT: 104150.0 2021-10-30 16:35:24.928030Z Datausage IMTransferAgent/com.apple.MobileSMS (Bundle ID: com.apple.MobileSMS, ID: 945) 2021-10-30 16:35:24.935920Z Datausage IMTransferAgent/com.apple.datausage.messages (Bundle ID: com.apple.datausage.messages, ID: 946) WIFI IN: 0.0, WIFI OUT: 0.0 - WWAN IN: 47743.0, WWAN OUT: 6502.0 2021-10-30 16:35:24.937976Z Datausage IMTransferAgent/com.apple.datausage.messages (Bundle ID: com.apple.datausage.messages, ID: 946) 2021-10-30 16:36:51.000000Z Manifest Library/Preferences/com.apple.locationd.StatusBarIconManager.plist - HomeDomain 2021-10-30 16:36:51.000000Z Manifest Library/Preferences/com.apple.ImageIO.plist - RootDomain |
مثال دیگه اینکه ، تغییر دایرکتوری ضمیمه SMS ، بدون تغییر نام فایل، و در ادامه اون ، استفاده از داده توسط com.apple.WebKit.WebContent و در ادامه اون تغییر com.apple.locationd.StatusBarIconManager.plist . همه این رویدادها باید در بازه زمانی 1 تا 3 دقیقه ای رخ بدن که نشون دهنده اجرای یه اکسپلویت zero-click توسط ضمیمه iMessage و در ادامه اون فعالیت های مخرب هستش.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
2022-09-11 19:52:56.000000Z Manifest Library/SMS/Attachments/98 - MediaDomain 2022-09-11 19:52:56.000000Z Manifest Library/SMS/Attachments/98/08 - MediaDomain 2022-09-11 19:53:10.000000Z Manifest Library/SMS/Attachments/98/08 - MediaDomain 2022-09-11 19:54:51.698609Z OSAnalyticsADDaily com.apple.WebKit.WebContent WIFI IN: 77234150.0, WIFI OUT: 747603971.0 - WWAN IN: 55385088.0, WWAN OUT: 425312575.0 2022-09-11 19:54:51.702269Z Datausage com.apple.WebKit.WebContent (Bundle ID: , ID: 1125) 2022-09-11 19:54:53.000000Z Manifest Library/Preferences/com.apple.locationd.StatusBarIconManager.plist - HomeDomain 2022-06-26 18:21:36.000000Z Manifest Library/SMS/Attachments/ad/13 - MediaDomain 2022-06-26 18:21:36.000000Z Manifest Library/SMS/Attachments/ad - MediaDomain 2022-06-26 18:21:50.000000Z Manifest Library/SMS/Attachments/ad/13 - MediaDomain 2022-06-26 18:22:03.412817Z OSAnalyticsADDaily com.apple.WebKit.WebContent WIFI IN: 19488889.0, WIFI OUT: 406382282.0 - WWAN IN: 66954930.0, WWAN OUT: 1521212526.0 2022-06-26 18:22:16.000000Z Manifest Library/Preferences/com.apple.ImageIO.plist - RootDomain 2022-06-26 18:22:16.000000Z Manifest Library/Preferences/com.apple.locationd.StatusBarIconManager.plist - HomeDomain 2022-03-21 21:37:55.000000Z Manifest Library/SMS/Attachments/fc - MediaDomain 2022-03-21 21:37:55.000000Z Manifest Library/SMS/Attachments/fc/12 - MediaDomain 2022-03-21 21:38:08.000000Z Manifest Library/SMS/Attachments/fc/12 - MediaDomain 2022-03-21 21:38:23.901243Z OSAnalyticsADDaily com.apple.WebKit.WebContent WIFI IN: 551604.0, WIFI OUT: 6054253.0 - WWAN IN: 0.0, WWAN OUT: 0.0 2022-03-21 21:38:24.000000Z Manifest Library/Preferences/com.apple.locationd.StatusBarIconManager.plist - HomeDomain |
شاخص بعدی ، عدم امکان بروزرسانی iOS هستش. این کار با دستکاری فایل سیستمی بنام com.apple.softwareupdateservicesd.plist انجام میشده، در نتیجه موقع بروزرسانی خطای زیر میداده :
1 |
Software Update Failed. An error ocurred downloading iOS |
فعالیت های شبکه ای در حین اکسپلویت :
اگه اکسپلویت موفقیت آمیز باشه، از طریق یسری رویداد اتصال HTTPS قابل کشف هستش:
- تعامل قانونی شبکه ، با سرویس iMessage که معمولا از طریق دامنه
*.ess.apple.com
انجام میشه. - دانلود پیوست های iMessage که توسط دامنه های .icloud-content.com و content.icloud.com انجام میشه.
- چندین ارتباط با C2 که معمولا توسط دو دامنه انجام میشه.لیست دامنه ها در ادمه اومده.
پیوست iMessage دانلودی رمزنگاری شده و توسط HTTPS دانلود میشه. تنها شاخصی (ضمنی) که برای این معرفی شده، حجم اونه که 242 کیلوبایت هستش.
دامنه های C2:
با توجه به شواهدی که در فرایند فارنزیک بدست آوردن، یسری دامنه رو هم گزارش کردن که در پروسه اکسپلویت و مراحل دیگه ازشون استفاده شده. از این دامنه ها میشه برای بررسی لاگ های DNS برای اطلاعات زمانی و شناسایی دستگاه هایی که در حال حاضر بدافزار رو اجرا می کنند استفاده کرد:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
addatamarket[.]net backuprabbit[.]com businessvideonews[.]com cloudsponcer[.]com datamarketplace[.]net mobilegamerstats[.]com snoweeanalytics[.]com tagclick-cdn[.]com topographyupdates[.]com unlimitedteacup[.]com virtuallaughing[.]com web-trackers[.]com growthtransport[.]com anstv[.]net ans7tv[.]net |
روسیه ، NSA رو مقصر دونسته !
در بیانیه ای که همزمان با گزارش کسپرسکی منتشر شده، آژانس اطلاعاتی – امنیتی روسیه FSB ، مدعی شده، اپل عمدا یه بکدور در اختیار NSA قرار داده تا از اون برای آلوده کردن آیفونها در این کشور استفاده کنه.
FSB ادعا کرده که آلودگی بدافزاری رو در هزاران آیفون متعلق به مقامات دولت روسیه و کارکنان سفارتهای اسرائیل، چین و چندین کشور عضو ناتو در روسیه کشف کرده .
البته ، FSB برای این موارد شواهدی رو ارائه نداده و بصورت کلی بیانیه داده.
دولت روسیه قبلا به کارمندان و اعضای دولت ، توصیه کرده بود از آبفون استفاده نکنن و فناوریهای آمریکایی رو بطور کامل کنار بزارن.
کسپرسکی تایید کرده که این حمله روی دفتر اصلیش در مسکو و کارمنداش در سایر کشورها تاثیر گذاشته، اما ارتباط بین گفته های FSB و یافته های خودش رو تایید نکرده، چون دسترسی به یافته های اونا نداشته.
اما CERT روسیه یه هشداری منتشر کرده و این دو رو به هم ارتباط داده.
منابع