با افزایش قیمت بیتکوین و سایر رمزارزها در سالهای اخیر بسیاری از افراد و سازمانها وارد این بازار شده و داراییهایشان را به رمز ارز تبدیل کردهاند. با توجه به دلایلی مثل دشوار بودن یافتن مالکان آدرسهای بلاک چین، مشکلات امنیتی در صرافیها و کیف پولها و اشتباهات امنیتی دارندگان رمزارزها، هکرها از روزهای آغازین معرفی ارزهای دیجیتال، همواره به دنبال روشهایی مثل طراحی بدافزار، مهندسی اجتماعی، فیشینگ و... برای سرقت داراییهای رمزارز کاربران بودهاند. در کشور ما به دلیل خلاء تنظیمگری کلاهبرداریهای حوزه رمزارز به شدت مرسوم است. در سالهای اخیر، نمونههای زیادی از تولید رمزارز و توکنهای جعلی مبتنی بر روشهای کلاهبرداری پانزی و... در ایران مشاهده شده است.
اخیرا، تیم سایبرنو موفق به شناسایی نوعی کمپین بدافزاری سرقت رمزارز بسیار پیشرفته به نام Electricity Meter Hacking شده که تاکنون نمونه آن در ایران دیده نشده است. بر اساس اطلاعات ما، این کمپین که از حدود ۸ ماه پیش در ایران فعالیت دارد، تا زمان انتشار این مقاله در ۲۰ دی ۱۴۰۲، بیش از 4000 قربانی در داخل ایران داشته و طبق برآوردهای ما تاکنون دهها میلیارد تومان از ولت رمزارز کاربران ایرانی سرقت کرده است. در این گزارش میخواهیم به بررسی این کمپین بدافزاری، نحوه به دام انداختن قربانیان و تحلیل بدافزارهای منتشر شده بپردازیم. با سایبرنو همراه باشید.
موضوعاتی که در ادامه بررسی میکنیم:
۲- تحلیل بدافزار سرقت رمزارز Electricity Meter Hacking
یکی از راههای کسب درآمد در دنیای رمزارز، ماینینگ (Mining) یا استخراج ارز دیجیتال میباشد و به افراد و سیستمهایی که این کار را انجام میدهند، اصطلاحا، ماینر (Miner) گفته میشود. برای استخراج بعضی از رمزارزها مثل بیت کوین که از الگوریتم اجماع اثبات کار (PoW) برای تأیید تراکنشها استفاده میکنند، برق زیادی لازم است بنابراین، در کشورهای مختلف، قوانین خاصی برای ماینینگ این رمزارزها وضع شده است.
گذشته از این، قیمت برق نیز میتواند در کاهش حاشیه سود ماینرها، اثرگذار باشد. بر اساس آخرین آمارها، برای استخراج تنها یک بیت کوین، حدود ۲۶۶ هزار کیلووات ساعت برق لازم است و با در نظر گرفتن قیمت برق در ایران که بر اساس آخرین آمارها، ۳۰۷۵ ریال تا ۴۴۲۵ ریال محاسبه میشود، هزینه برق مصرفی برای استخراج هر بیت کوین چیزی حدود ۶۹ میلیون تا ۱۰۰ میلیون تومان است.
بنابراین، برخی ماینرها برای دور زدن محدودیتهای مرتبط با استخراج رمزارزها در ایران و گاهی اوقات نیز صرفا برای کسب درآمد حداکثری تلاش میکنند برق مورد نیاز دستگاههای Miner را به طور غیرقانونی تامین کنند. برای مثال میتوان به استفاده از برق با یارانه دولتی (برق کارخانهها، مساجد، مزارع و...) یا دستکاری در کنتور برق (برق دزدی) اشاره کرد.
کمپین بدافزاری Electricity Meter Hacking که تیم سایبرنو موفق به کشف آن شده است، دقیقا از تلاش ماینرها برای دور زدن محدودیتها سوء استفاده میکند. افراد پشت صحنه این کمپین سرقت رمزارز، چندین کانال در تلگرام و یوتیوب را و راهکارهای برق دزدی و کاهش مصرف برق ماینرها را آموزش میدهد. کانال یوتیوب این گروه در حال حاضر نزدیک به 6000 دنبالکننده دارد و تقریبا هر کسی به دنبال آموزش برقدزدی در گوگل باشد، یکی از اولین ویدئوهایی که مشاهده خواهد کرد ویدئوهای آموزشی این کانال خواهد بود.
در یکی از این ویدئوها آموزش استفاده از نرمافزاری با نام Electricity Meter Hacking Module ارائه میشود. در این آموزش ادعا میشود که این نرمافزار میتواند کنتور برق را دستکاری کرده و کاری کند که کنتور برق، مصرف کمتری را نشان دهد. ادعا شده است که این نرمافزار از طریق کابل مخصوص USB به Infrared میتواند به انواع و اقسام کنتورهای تک فاز و سه فاز متصل شود و آنها را برنامهریزی مجدد (reprogram) کند و عملکرد آنها را تغییر دهد.
در تصویر بالا نمایی از این ویدئو در YouTube مشاهده میشود. همانطور که میبنید، این ویدئو بیش از 11 هزار بار دیده شده است. این ویدئو، علاوه بر یوتیوب، در کانالهای تلگرامی و سایر شبکههای اجتماعی نیز هزاران بار دانلود و مشاهده شده است. اگر این ویدئو ۱۳ دقیقهای را مشاهده کنید، خواهید دید که این کمپین به شدت هوشمندانه بوده و توضیحات موجود در ویدئو به حدی دارای جزئیات است که کمتر کسی میتواند به جعلی بودن آن پی ببرد. همچنین در تصویر بالا میبینید که در در بخش Description این ویدئو لینک دانلود نرمافزار Electricity Meter Hacking قرار دارد و کاربران میتوانند آن را به سادگی دانلود کنند. در صورتی که کاربری این فایل را نصب و اجرا کند، احتمالا قربانی بعدی این کمپین سرقت رمزارز خواهد شد. در ادامه، در رابطه با نحوه عملکرد این بدافزار کلاهبرداری ارز دیجیتال، صحبت خواهیم کرد. همچنان با ما همراه باشید.
حالا که با نحوه به دام افتادن قربانیان بدافزار سرقت رمزارز Electricity Meter Hacking آشنا شدید، وقت آن است که در رابطه با نحوه عملکرد این بدافزار صحبت کنیم. در این بخش، گزارش تحلیل بدافزار Electricity Meter Hacking تهیه شده توسط تیم سایبرنو، با جزئیات کامل ارائه شده است.
فایل اجرایی نرمافزار Electricity Meter Hacking نوعی فایل setup است که با استفاده از نرمافزار Inno Setup ساخته شده است و ظاهری همانند فایل نصبی نرمافزارهای معمولی دارد. بعد از نصب این نرمافزار، میتوانید آن را اجرا و مطابق با آموزش ارائه شده در ویدئوی آموزش یوتیوب از آن استفاده کنید.
تا اینجا هیچ چیز مشکوکی وجود ندارد اما اجازه دهید فایل اصلی این نرمافزار را تحلیل کنیم. برای این کار، مطابق شکل زیر، نرمافزار Electricity Meter Hacking را با نرمافزار Detect It Easy باز میکنیم و میبینیم که مبتنی بر .Net است و با استفاده از پروتکتور SmartAssembly محافظت و مبهمسازی (obfuscation) شده است، تا محتوای کد آن قابل مهندسی معکوس و تحلیل نباشد.
برای آنپک کردن SmartAssembly میتوانید از ابزار de4dot استفاده کنید. بعد از آنپک کردن آن را به ابزاری همانند Redgate .Net Reflector بدهید. Redgate .Net Reflector ابزاری است که میتواند کد منبع (Source Code) برنامههای کامپایلشده با زبانهای مبتنی بر .Net همانند C# یا VB.Net را استخراج کند و به شما نمایش دهد.
ما نسخه آنپکشده این نرمافزار را به .Net Reflector دادهایم. با توجه به اینکه کد مبهمشده بود برخی از رشتهها و نامها به درستی نمایش داده نمیشود. با این حال، اگر کدهای مربوط به فرم صفحه آخر نرمافزار (جایی که ادعا میشود کنتور برق Reprogram میشود) را مشاهده کنید، میبینید این موضوع از اساس جعلی است. در واقع وقتی نرمافزار ادعا میکند که در حال Reprogram کردن کنتور برق است، تنها کاری که در پس زمینه میکند این است که نوعی Progress Bar به شما نمایش میدهد و هر بار آن Progress Bar را مقداری به جلو میبرد و در انتها به شما پیغام موفقیت آمیز بودن عملیات را میدهد اما در عمل هیچ کاری برای برنامهریزی مجدد کنترل برق نمیکند.
همانطور که در شکل زیر میبینید، متغیر this.int_2 نشانگر مقدار پیشرفت Progress Bar است و در درون حلقه، بدون اینکه کار خاصی در جهت ارتباط با کنتور برق (مثل ارتباط با پورت USB یا پورت سریال) انجام شود، فقط مقدار آن زیاد میشود (با دستور ++this.int_2). در هر بار اجرای حلقه هم با دستور Task.Delay(100)، ۱۰۰ میلی ثانیه توقف اجرای کد صورت میگیرد.
در هنگام نصب نرمافزار، علاوه بر نصب شدن فایل اجرایی، چندین پوشه نیز در آدرس زیر کپی میشود (شکل زیر):
C:\Program Files\WindowsPowerShell3
تعدادی از فایلهایی که در تصویر بالا میبینید، فایلهای خود سیستم عامل ویندوز مرتبط با PowerShell هستند اما فایلهای مشکوکی نیز در این آدرس وجود دارند که پس از نصب نرمافزار Electricity Meter Hacking در این آدرس قرار میگیرند و مشکوک به نظر میرسند. یکی از این فایلها، output.exe است که بلافاصله بعد از نصب نرمافزار در سیستم قربانی اجرا میشود. اگر این فایل را با Reflector باز کنیم، میبینیم که در هنگام اجرای این فایل نوعی کد PowerShell از درون Resourceهای فایل استخراج و با استفاده از تابع Unzip از حالت فشرده خارج میشود و سپس تابع _RunPS آن را اجرا میکند (شکل زیر):
با بررسی تابع Unzip میتوان دریافت که این تابع در واقع ابتدا محتوای Resource را Base64 Decode کرده و سپس خروجی آن را که با الگوریتم gzip فشردهسازی شده است، از حالت فشرده خارج میکند. ما در تیم سایبرنو با استفاده از ابزار CyberChef دقیقا این کار را انجام دادهایم و موفق شدیم کد PowerShell اجرا شده توسط این فایل را به دست آوریم (شکل زیر):
اگر نگاهی به اسکریپت PowerShell بیندازیم، خواهیم دید که این اسکریپت با تغییر تنظیمات در رجیستری و ... ضدویروس Windows Defender را به گونهای غیر قابل بازگشت، غیرفعال میکند. به این ترتیب نه تنها این بدافزار توسط این ضدویروس قابل شناسایی نیست، بلکه با توجه به غیرفعال شدن قابلیت Cloud این ضدویروس عملا شناسایی این بدافزار توسط ضدویروسها سختتر شده و ظاهرا به همین دلیل است که بیش از 8 ماه از فعالیت این بدافزار میگذرد اما هنوز بیشتر ضدویروسهای مطرح همانند Kaspersky و ESET آن را شناسایی نکردهاند.
نکته: توسعهدهندگان این بدافزار بخش اصلی کدهای این اسکریپت را خودشان توسعه ندادهاند، بلکه از لینک زیر در github کپیبرداری کردهاند:
https://github.com/jeremybeaume/tools/blob/master/disable-defender.ps1
یکی دیگر از پوشههایی که در هنگام نصب نرمافزار هک کنتور برق ایجاد میشود در مسیر زیر قرار دارد:
C:\Program Files\Microsoft Update TooIs3
در شکل زیر میتوانید فایلهایی را که درون این پوشه قرار دارند، ببینید:
بخشی از این فایلها مربوط به خود سیستم عامل ویندوز اما برخی دیگر فایلهایی مشکوک هستند. یکی از این فایلهای مشکوک Microsoft Update TooIs.exe است. در نام این فایل، به طور عمد، غلطی املایی قرار گرفته است تا این فایل با فایلهای اصلی سیستم عامل ویندوز جا به جا نشود. عبارت Tools به صورت TooIs نوشته شده و به جای حرف L کوچک از I بزرگ استفاده شده است. با توجه به مشابهت این دو کاراکتر، به صورت چشمی نمیتوان پی به این اشتباه تایپی برد.
اگر این فایل را با Detect It Easy تحلیل کنیم، میبینیم که با SmartAssembly محافظت و مبهمسازی شده است. شما میتوانید بخشی از این مبهمسازی را با استفاده از ابزار de4dot حذف کنید اما de4dot نمیتواند رشتههای رمزگذاریشده این فایل را کدگشایی کند. با این حال اگر این فایل را با استفاده از ابزار .Net Reflector باز کنید، میبینید که این برنامه در کل هارد کامپیوتر در جستجوی فایلهای خاصی است. در مرحله اول، به جستجوی فایلهای متنی (txt) میپردازد که حاوی رشتههای خاصی هستند (شکل زیر):
این برنامه، در مرحله دوم به جستجوی فایلهای Microsoft Word همانند docx، doc و... میپردازد که حاوی رشتههای خاصی هستند:
و در مرحله بعد برنامه نیز فایلهای تصویری همانند jpg، png و... که نامشان حاوی رشتههای خاصی باشد را جستجو میکند:
حالا سوال این است که این برنامه در دیسک سخت قربانی به دنبال چیست و به چه رشتههایی علاقهمند است. متاسفانه، به دلیل اینکه نرم افزار هک کنتور برق با SmartAssembly مبهمسازی شده است، امکان خواندن محتوای این رشتهها وجود ندارد. اگر نگاهی به شکل زیر بیندازید، میبینید که SmartAssembly کلیه رشتههای برنامه را حذف کرده و به جای آن یک تابع با نام getString_0 قرار داده است. این تابع، رشتهها را رمزگشایی میکند و در خروجی برمیگرداند:
ما برای اینکه بتوانیم به طور کامل پی به عملکرد این برنامه ببریم، باید به هر روشی که ممکن بود، این رشتهها را از حالت رمزگذاریشده خارج میکردیم اما هیچ ابزاری که بتواند این کار را انجام دهد وجود ندارد بنابراین، تیم سایبرنو Decoder مخصوصی را برای این کار پیادهسازی کرد که با شبیهسازی اجرای کدهای این برنامه میتواند کلیه رشتههای درون برنامه را Decode کند.
بعد از Decode کردن رشتهها، مشخص شد که برنامه به دنبال چیست. برخی از رشتههایی را که این برنامه به آن علاقهمند است در شکل زیر میبینید:
اگر این رشتهها را در گوگل جستجو کنید، میبینید که این رشتهها در واقع رشتههای مربوط به استاندارد BIP39 هستند. برای اینکه خواندن و ذخیرهسازی کلید خصوصی (private key) ولتهای رمزارز، سادهتر قابل مشاهده باشد از استاندارد BIP39 استفاده میشود. معمولا، ولتهای رمزارز همانند Trust Wallet، Coinomi و ... کلید خصوصی متشکل از 12 یا 24 حرف انگلیسی به شما میدهند که این حروف به عنوان عبارت بازیابی (recovery phrase) یا کلید بازیابی (recovery key) ولت شما قابل استفاده هستند. هر کسی که این کلید یا عبارت بازیابی را در اختیار داشته باشد میتواند به ولت شخصی شما دسترسی پیدا کند.
در مورد فایلهای تصویری نیز نرم افزار Electricity Meter Hacking به جستجوی هر نوع فایل jpg، jpeg، gif، bmp میپردازد که نامش حاوی یکی از عبارتهای موجود در شکل زیر باشد:
به طور خلاصه میتوان گفت این بدافزار، پس از نصب روی کامپیوتر قربانی به جستجوی هر نوع فایلی میپردازد که ممکن است حاوی کلید بازیابی یک ولت یا کیف پول دیجیتالی باشد. همانطور که در شکل زیر دیده میشود، بدافزار هک کنتور برق، فایلهای یافتشده را به یک آدرس ایمیل ارسال میکند. این ایمیل در اختیار نفوذگران است و نفوذگران بعد از دسترسی به ولت قربانیان، رمزارز موجود در آن ولتها را بعد از مدتی به سرقت میبرند.
بدافزار Electricity Meter Hacking علاوه بر موارد اشارهشده در بخشهای قبلی این گزارش، قابلیتها و فایلهای دیگری نیز دارد که از جمله آنها میتوان به موارد زیر اشاره کرد:
۱- مجموعهای از ماژولها دارد که میتواند دادههایی را از حافظه خارج کند. برای مثال، میتواند کلیدهای خصوصی ولتهای ویندوزی همانند Atomic، Exodus و... را استخراج کند.
۲- از تکنیکهای مختلفی جهت جلوگیری از شناسایی شدن استفاده میکند. برای مثال، تنظیمات بخش Notification ویندوز را تغییر میدهد تا حتی چنانچه در آینده بدافزار شناسایی شد، اطلاعات شناسایی بدافزار در بخش Notification ویندوز نمایش داده نشود.
۳- این بدافزار از روشهای تزریق کد به یک پردازش دیگر نیز در برخی موارد استفاده کرده است.
۴- حاوی مجموعهای از کدها برای شناسایی پردازش IIS Server است و عملکرد برخی از توابع برنامه در زمان شناسایی IIS Server تغییر میکند. البته، به نظر میرسد این قطعه کدها از بدافزار دیگر این تیم برداشته شده و به درون این بدافزار کپی شدهاند.
ویژگیها و قابلیتهای این بدافزار نشان میدهد توسعه آن توسط تیمی با تجربه انجام شده است که به خوبی با روشهای توسعه بدافزار آشنایی داشتهاند. همچنین وجود مشابهت بین کدهای موجود در این کمپین بدافزاری با برخی امضاهای Yara منتشرشده توسط آزمایشگاه تحلیل بدافزارهای خارجی نشان میدهد این تیم قبلا کمپینهای فیشینگ و بدافزاری دیگری نیز اجرا کرده است. علاوه بر آن بسیاری از فایلها و روشهای مورد استفاده این کمپین بدافزاری با بدافزارهای MSIL/ClipBanker مشابهت دارد، بنابراین میتوان نتیجه گرفت گروه توسعهدهنده آنها با گروه توسعهدهنده نسخه ایرانی بدافزار MSIL/ClipBanker یکی باشد.
تیم سایبرنو موفق شد تا رشتههای موجود در فایل Microsoft Update TooIs.exe را استخراج کند. ما با استخراج این رشتهها آدرس ایمیلهای نفوذگران را پیدا کردیم. تمامی کلیدها یا عبارتهای بازیابی ولتهای قربانیان به این ایمیلها ارسال میشوند.
این ایمیلها عبارتند از:
jackjans******@gmail.com
danielk******@gmail.com
با توجه به اینکه بدافزار برای ارسال ایمیل نیاز به رمزعبور آن ایمیل داشت، رمز عبور یکی از ایمیلها در درون فایل Microsoft Update TooIs.exe به صورت یک رشته ثابت قرار داده شده بود و ما به آن دسترسی پیدا کردیم. البته این رمز عبور، رمز عبور اصلی ایمیل نیست بلکه در واقع App Password است و با استفاده از آن فقط میتوان از طریق ابزارهای مدیریت ایمیل همانند Thunderbird یا Outlook به محتوای ایمیل دسترسی داشت.
همانطور که در شکل زیر میبینید ما موفق شدیم تا به یکی از ایمیل هکرها که در واقع ایمیل ارسالکننده دادهها است، نفوذ کنیم. همانطور که میبینید، مقار زیادی اطلاعات ولتهای خالی شده افرادی که به دنبال برق رایگان بودهاند در این ایمیل دیده میشود! ظاهرا نفوذگران به صورت دورهای ایمیلهای قدیمی را پاک میکنند. اولین ایمیلی که در سرور Gmail هنوز پاک نشده مربوط به 25 آذر 1402 است. از 25 آذر 1402 تا روز تهیه این گزارش که که 15 دی 1402 است، تعداد 580 پست الکترونیکی حاوی اطلاعات ولتها به این ایمیل ارسال شده و به عبارت دیگر، این کمپین در مدت 20 روز، 580 قربانی گرفته است. از آنجایی که بر اساس آخرین اطلاعات ما، از شروع فعالیت بدافزار Electricity Meter Hacking حداقل ۸ ماه میگذرد، به راحتی میتوان برآورد کرد که تعداد قربانیان آن میتواند چقدر زیاد باشد.
باید اشاره کنیم که در زمان آمادهسازی این گزارش، کمپین بدافزار Electricity Meter Hacking همچنان فعال است و هر روز به جمع قربانیان این کمپین بدافزاری اضافه میشود. تیم سایبرنو در حال تلاش برای مذاکره با شرکت گوگل است تا این آدرسهای ایمیل غیرفعال شوند. چنانچه گوگل این کار را انجام دهد، حداقل این نسخه از بدافزار دیگر نمیتواند قربانی جدیدی بگیرد.
گذشته از این، فایلهای این بدافزار به شرکتهای مختلف تولیدکننده ضدویروس ارسال شده است تا آن را به امضای خودشان اضافه کنند.
در این گزارش سعی شد تا تحلیل دقیقی روی کمپین بدافزاری Electricity Meter Hacking داشته باشیم. پیش از این، آزمایشگاههای تحلیل بدافزار خارجی، نمونه مشابه خارجی این بدافزار سرقت رمزارز را شناسایی و تحلیل کرده بودند اما Electricity Meter Hacking یکی از اولین بدافزارهایی است که به طور خاص برای کشور ایران و توسط یک تیم نفوذگر ایرانی طراحی شده است. مشاهدات ما نشان میدهد که متاسفانه این کمپین موفق بوده و قربانیان زیادی داشته است.
در پایان موارد زیر به کسانی که در حوزه رمزارز فعال هستند، توصیه میگردد:
عبارت یا کلمه بازیابی (recovery phrase یا recovery key) کیف پولهای دیجیتالی خود را در درون تلفن همراه یا رایانه شخصی خود ذخیره نکنید، بلکه آن را به صورت دستی بر روی یک کاغذ بنویسید و آن را در جایی امن و دور از دسترس دیگران نگه دارید.
هیچ نرمافزاری را بدون اینکه از عملکرد و سلامت آن اطلاع داشته باشید، روی رایانه شخصی یا تلفن همراه خود نصب نکنید.
چنانچه قصد نگهداری مبالغ بالا در حسابهای رمزارزی خود دارید، ترجیحا از کیف پولهای سختافزاری استفاده کنید. کیف پولهای نرمافزاری که روی سیستم عامل ویندوز، اندروید یا iOS نصب میشوند، در مقابل چنین بدافزارهایی آسیبپذیر هستند. این مورد در سیستم عامل ویندوز که فاقد قابلیت جعبه شن (sandbox) پیشفرض است، اهمیت بسیار بالاتری دارد.
چنانچه قصد کسب درآمد از طریق استخراج رمزارز را دارید، این کار را مطابق با قوانین و مقررات مربوطه انجام دهید و به دنبال راهکارهای غیرمجاز تامین برق دستگاههای استخراج رمزارز نباشید.
در لیست زیر اطلاعات فایلهای مرتبط با این بدافزار ارائه شده است. با کلیک بر روی MD5 هر فایل نتیجه شناسایی آن فایل توسط ضدویروسهای مختلف (در زمان نوشتن این مستند) در سامانه Cyberno MultiScanner نمایش داده خواهد شد. (جهت دسترسی به سامانه Cyberno MultiScanner باید ثبتنام کنید.)