Analyzing Flame Remover

امروز برنامه ای که مرکز ماهر برای حذف ویروس شعله ارائه کرده بود را اجرا کردم. راهنمای همراه این برنامه و پیغام هایی که در زمان اجرا به کاربر نمایش می داد، آنقدر عجیب بود که هوس کردم کمی با این برنامه سروکله بزنم و ببینم چطور کار می کند.

1- این برنامه لیستی از فایلها که مربوط به این ویروس است را در اختیار دارد (تعداد این فایل ها 33 تاست که در گزارش مربوط به این ویروس تنها به 9 تا اشاره شده است ) و آنها را حذف می کند. همچنین یک مقدار از کلیدی در ریجستری را حذف می کند.
نکته جالب این که این برنامه هیچ کار پیچیده ای برای حذف ویروس انجام نمی دهد. شناسایی بدافزار نه بر اساس تحلیل رفتار نرم افزارها ( برای مواقعی که بدافزار نام فایلهای خود را تغییر میدهد و در میان بدافزارها تکنیک رایجی محسوب میشود) انجام می شود ، نه بر اساس بررسی Checksum و نه حتی پارامترهای ساده تری مثل سایز. تنها اسم فایل ملاک است. کافی است یک فایل خالی به اسم یکی از فایلهای ویروس بسازید و نرم افزار را اجرا کنید تا آن را پاک کند و در نهایت پیغام بدهد که شما آلوده بودید و من کامپیوتر شما را پاک کردم !!!

2- همراه برنامه اصلی، فایل 7za.exe  هم قرار دارد. برنامه اصلی از این فایل اجرایی برای بسته بندی و فشرده سازی اطلاعات جمع آوری شده از رایانه شما استفاده میکند. بعد از اجرای برنامه، سه فایل zip در کنار برنامه ساخته می شود که حاوی فایل های  ویروس است. اسامی این سه فایل عبارتند از:
Files.zip
InfFolders.zip
Temp.zip
محتویات فایل Files.zip رمز شده است و برای باز کردن آن به رمز احتیاج دارید. با آشنایی که با نحوه استفاده از 7za داشتم می توانستم حدس بزنم که پسورد در زمان فراخوانی 7za.exe به عنوان پارامتر به آن ارسال می شود. پس یک برنامه اجرایی ساده نوشتم که پارامتر های ارسال شده به خودش را نمایش می داد و با نام 7za.exe کنار برنامه اصلی قرار دادم. برنامه اصلی را اجرا کردم و برنامه اصلی هم برنامه من را به جای 7za اصلی صدا زد. پسور ارسالی Mallab5752 بود! در واقع قرار دادن پسور برای این بوده که اطلاعات جمع آوری شده از رایانه شما به صورت ایمن به دست مرکز ماهر برسد که به نظر می رسد هیچ امنیتی ندارد!
البته بعدا و در زمان مرور فایل اجرایی با یک HEXEditor هم پسورد کاملا مشخص بود:



3- با یک برنامه HEX ساده هم که فایل اجرایی برنامه رو بررسی کنید، اطلاعات جالبی پیدا می کنید. 
مثلا اینکه برنامه با visual studio 2010 ( والبته vc++ ) ساخته شده، اسم پروژه test بوده و اینکه پروژه در مسیر زیر قرار داشته:
C:\users\user\documents\visual studio 2010\Projects\test

4- برای انجام عملیات های مربوط به فایل و ریجستری ترجیح داده شده به جای استفاده از API های ویندوز از دستورات خط فرمان استفاده شود. بخشی از این دستورات را می توانید در تصویر زیر ببینید:

5- کار اصلی برنامه (پاک کردن فایل ها و ریجستری ) توسط یک تابع انجام می شود که سه پارامتر می گیرد ( بیشتر وقت نشد بررسی کنم ).

نتیجه: برنامه ای که برای حذف بدافزار Flame ارائه شده است یک برنامه پیچیده و جادویی نیست. تنها همان کارهایی را که در راهنمای همراه برنامه، در بخش پاک کردن دستی، بیان شده را انجام می دهد. به نظر می رسد حتی لازم نبوده که یک برنامه اجرایی نوشته شود و همین کارها را با یک Batch فایل هم می توانستند انجام دهد. علاوه بر این به نظر می رسد نوشتن همین برنامه هم با عجله بوده و حداکثر چند ساعت برای آن وقت صرف شده است! و البته توسط یک برنامه نویس حرفه ای نوشته نشده است.

به هر حال اگر نگران آلوده بودن سیستم خود به بدافزار شعله هستید می توانید این برنامه را از اینجا دانلود کنید.
اگر هم به تحلیل بیشتر این بدافزار علاقه مند هستید می توانید این مقاله را بخوانید.