PDA

View Full Version : سوال: آنالیز ویروس



.:KeihanCPU:.
پنج شنبه 16 آبان 1387, 23:53 عصر
با سلام خدمت دوستان گرامی
خواستم بدونم چطور میتونم یک ویروس رو آنالیز کنم که یه Signature مخصوص همون ویروس پیدا کنم
چه نرم افزاری برای این کار مناسبه؟
و در کل چه راههایی داره؟

Nima NT
جمعه 17 آبان 1387, 18:02 عصر
فکر کنم برای آنالیز ویروس ار تیم مهندسی معکوس ( نام مدرن کراکر ها :لبخند: ) , استفاده میشه.
چون چند باری تو سایت Fsecure دیدم که برای آنالیز Malware از SoftICE استفاده میکردن . ( عکس گذاشته بودن ).
من همین رو میدونستم , امیدوارم مفید بوده باشه.:خجالت:

Securebit
شنبه 18 آبان 1387, 01:55 صبح
یک مقاله خوب برای آموزش آنالیز ویروسها:چشمک:

.:KeihanCPU:.
شنبه 18 آبان 1387, 12:06 عصر
یک مقاله خوب برای آموزش آنالیز ویروسها:چشمک:


ممنون از شما
آیا مقاله ای بصورت فارسی هست؟
اگه نیست میشه خودتون مختصری از مقاله بالا رو همینجا بگید
ممنون میشم

lord_viper
شنبه 18 آبان 1387, 23:48 عصر
من برای انالیز اولیه ویروس از ollydbg استفاده میکنم وقتی pack نشده باشه با یک search for/all refrences text String به راحتی کل امار لازم بدست میاد

.:KeihanCPU:.
یک شنبه 19 آبان 1387, 00:14 صبح
منظورتون اینه که نوشته های String رو سرچ کنم؟

lord_viper
یک شنبه 19 آبان 1387, 07:59 صبح
درسته
try it

.:KeihanCPU:.
یک شنبه 19 آبان 1387, 11:11 صبح
من از این کار استفاده میکنم.ولی به نظر روش جالبی نمیاد.
یک روش حرفه ای تر اگه باشه خیلی بهتره.
به نظرم استفاده از HexEditor راه خوبیه.

lord_viper
یک شنبه 19 آبان 1387, 11:19 صبح
شما وقتی از این روش استفاده میکنین میبینین که کلیه مسیرهایی که ویروس سر میزنه
مسیرهایی که خودشو کپی میکنه
مسیرهای رجیستری که تغییر میده
و از همه مهمتر توابع و api هایی رو که فرا خونی میکنه رو بدست میارین
همه و همه رو در اختیار دارین

joker
یک شنبه 19 آبان 1387, 12:35 عصر
یک مقاله خوب برای آموزش آنالیز ویروسها:چشمک:
این که خیلی سخته ! بیخیال آنتی ویروس میشه هرکی اینو بخونه :)

.:KeihanCPU:.
سه شنبه 21 آبان 1387, 23:08 عصر
شما وقتی از این روش استفاده میکنین میبینین که کلیه مسیرهایی که ویروس سر میزنه
مسیرهایی که خودشو کپی میکنه
مسیرهای رجیستری که تغییر میده
و از همه مهمتر توابع و api هایی رو که فرا خونی میکنه رو بدست میارین
همه و همه رو در اختیار دارین



اما خیلی وقت ویروسها تکستهاشونو انکریپت میکنن

lord_viper
چهارشنبه 22 آبان 1387, 08:46 صبح
اما خیلی وقت ویروسها تکستهاشونو انکریپت میکنن
تو ویروسهای ایرانی که بعیده(اون تعدادی رو که خودم چک کردم هیچ کدوم این طوری نبودن و یا حد اکثر از upx استفاده کرده بودن)چون بیشترشون برنامه نویس نیستن کدها رو از این سایت اون وبلاگ جمع میکنن بعد سر هم میکنن

در مورد ویروسهای خارجی(اخریهایی که چک کردم newfolder سازها بودن) که هیچ کدومشون از این تکنیک استفاده نکرده بودن
برای این موضوع هم معمولا اگه استفاده بشه از متد xor استفاده میشه که اگه یه کم باهاش ور بری میتونی برش گردونی
به جز اینها شما میتونین از نرم افزارهای مانیتورینگ برای شناسایی اعمال ویروس استفاده کنین
مثل regmon و filemon و apimon

samy_th_1363
جمعه 06 دی 1387, 09:36 صبح
سلام دوستان عزيز
چند تا سوال داشتم
مي خواستم بدونم چطور ميشه ويروس رو آناليز کرد؟ شنيدم با ديباگرها ميشه مثل ollydbg و باید زبان اسمبلی رو خوب بلد باشیم .
سايتي يا مقاله اي هست که راجع به نحوه عملي ويروس ها توضيح داده باشه؟
سايت ها يا فروم هايي که در باره ويروس هستن رو ميشناسيد؟يک سايت مرجع مي خوام

چجوري بفهمم ويروسي پورتم رو باز کرده يا نه؟

مي خوام نحوه شناسايي ويروس رو بدون آنتي ويروس ياد بگيرم . این سوالات من برای فهمیدن نحوه کار يک ويروس است نه براي ساخت ويروس .
مي خوام يک ويروس رو آناليز کنم که وقتي روي يک سيستم وارد ميشه چه کارهايي انجام ميده .
آنپک رو چجوري ياد بگيرم؟( برای آنپک کردن ویروس )
براي اينکه بفهمم يک ويروس با چه زباني نوشته شده بايد چي کار کنم؟
ابزار PEID بايد استفاده کنم؟
سايتي کتابي در اين زمينه هست؟
مي خوام نحوه آپديت نوشتن براي ويروس ها رو بلد بشم يعني چطور batch فايل بسازم که ويروس رو خنثي کنه .


ميشه راهنماييم کنيد؟
مي خوام بدونم تو آپديت هاي آنتي ويروس ها مثلا آنتي ويروي AVIRA که يک فايل زيپ هست و توش DLL و VDF هست مي خوام بدونم چي هست.
اگه ميشه يک آموزش هم در مورد نحوه آناليز ويروس تو سايت بديد خيلي ممنون ميشم .


=====================================
تو یک سایتی برای آنالیز ویروس گفته بود این موارد الزامی هست .


براي آناليز کردن ، ويروس رو بايد بالاخره يکجا اجراش کنيم که بفهميم چيکار ميکنه پس چاره اي نيست ، بايد روي سيستم خودمون اجراش کنيم يراي اينکه به سيستم خودمون آسيبي وارد نشه

» 1. پس از نرم افزار Deep Freeze براي انجماد سيستم خودمون استفاده ميکنيم ويا اينکه از Virtual PC و يا VMware استفاده ميکنيم .

» 2. حالا از برنامهRegistryMonitor براي فهميدن اينکه ويروس با کدام قسمت هاي رجيستري مان ارتباط دارد و چيکار کرده (حذف کليد، وارد کردن مقداري خاص در کليد و . . . .)استفاده ميکنيم .

» 3. از برنامه FileMonitor براي اينکه بفهميم ويروس با چه فايل هايي سروکار دارد و بطور کلي ميشه گفت بفهميم که خودشو کجاها کپي ميکند استفاده ميکنيم .

» 4. از برنامه ProcessExplorer که تمامي پروسه ها اعم از مخفي و غير مخفي رو نشون ميده براي دانستن پروسه ويروس استفاده ميکنيم .(ممکنه تسک منيجر غير فعال باشه)

======================================

منتظر راهنمایی هاتون هستم
ممنون

smile17
جمعه 06 دی 1387, 10:55 صبح
ابزاري براي تشخيص و آناليز نرم افزارهاي مضر (http://rapidshare.de/files/41212846/Peat.pdf.html)

MFiRE
یک شنبه 15 دی 1387, 02:16 صبح
Sandboxie + SysAnalyzer + REG|FiLE|APi Monitor + AnVir + Virtual_PC or VMWare + و مقداره كمي دوگوله

از برنامه هايه زيادي جهت مانيتورينگه برنامه ها مي شه استفاده كرد.
البته از خيلي از برنامه هايي كه اقايه Mark Russinovich ساخته هم مي شه استفاده كرد.
سايتش :
sysinternals.com

پروسس اكسپلوررش خيلي جالبه و اتورانش !

با ollyDBG هم زياد جالب در نمياد.
اگه فايل كمپرس/پروتكت شده باشه دردسر مي شه !

فعلاً ديگه چيزي يادم نمي ياد.

xxxxx_xxxxx
یک شنبه 15 دی 1387, 18:16 عصر
تو ویروسهای ایرانی که بعیده(اون تعدادی رو که خودم چک کردم هیچ کدوم این طوری نبودن و یا حد اکثر از upx استفاده کرده بودن)چون بیشترشون برنامه نویس نیستن کدها رو از این سایت اون وبلاگ جمع میکنن بعد سر هم میکنن

در مورد ویروسهای خارجی(اخریهایی که چک کردم newfolder سازها بودن) که هیچ کدومشون از این تکنیک استفاده نکرده بودن
برای این موضوع هم معمولا اگه استفاده بشه از متد xor استفاده میشه که اگه یه کم باهاش ور بری میتونی برش گردونی
به جز اینها شما میتونین از نرم افزارهای مانیتورینگ برای شناسایی اعمال ویروس استفاده کنین
مثل regmon و filemon و apimon

يه ويروس نوشته ميشه - تكثير ميشه - نويسنده به هدفش ميرسه-
اين روالي كه هست كه هميشه طي ميشه.
نويسنده ويروس هيچ وقت به مورد تحليل قرار گرفتن ويروسش فكر نمي كنه اما در مورد خودش چرا.
اما در مورد آناليز ويروس:
كسي كه مي خواد ويروسي رو كالبد شكافي كنه:
1- يا ويروس نويسه
2- يا كنجكاو در مورد رفتار وعملكرد ويروسه (كه آخرش ميشه يكي از موارد 1و3)
3- يا قصد نوشتن آنتي رو داره

خب. نويسنده ويروس با دو گروه اول كاري نداره. كسي براش مهمه كه مي خواد جلوي پاش سنگ بندازه (يعني آنتي نويس).

نويسنده ويروس هركي هم كه باشه مي دونه كه بالاخره يك نفر وجود داره كه از اون سر تره.
پس دنبال encrypt كردن و اين بحث ها نميره. چون اينا چيزي هست كه بالعكس آنتي نويسو تحريك مي كنه و بيشتر شوق تحليل و بررسي بهش دست مي ده و در آخر باعث موفقيتش ميشه نه شكست.
بهترين كاري كه ويروس نويس مي تونه انجام بده اذيت كردن طرف مقابلش هست.
نه مقابله و نه جنگ و جدال.
بلكه حالتي كه طرف احساس كنه كه با يه بچه طرفه نه يه كُدر. ( كه آخرش از اين كار دست مي كشه) اين همون چيزيه كه ويروس نويس مي خواست بهش برسه.

اينا رو گفتم تا اگه با اكسپلويت هايي كه اخيراً نوشته شدند روبرو شديد نويسندشو احمق تصور نكنيد.:متفکر:

-----
راستي tag رو اصلاح كنيد. ويروس آخرش e نداره.

.:KeihanCPU:.
یک شنبه 15 دی 1387, 18:45 عصر
نويسنده ويروس هيچ وقت به مورد تحليل قرار گرفتن ويروسش فكر نمي كنه اما در مورد خودش چرا

فکر نمیکنم اینطور باشه که شما میگین

samy_th_1363
جمعه 20 دی 1387, 11:57 صبح
===========
تو يک سايتي براي آناليز ويروس گفته بود اين موارد الزامي هست .


براي آناليز کردن ، ويروس رو بايد بالاخره يکجا اجراش کنيم که بفهميم چيکار ميکنه پس چاره اي نيست ، بايد روي سيستم خودمون اجراش کنيم يراي اينکه به سيستم خودمون آسيبي وارد نشه

» 1. پس از نرم افزار Deep Freeze براي انجماد سيستم خودمون استفاده ميکنيم ويا اينکه از Virtual PC و يا VMware استفاده ميکنيم .

» 2. حالا از برنامهRegistryMonitor براي فهميدن اينکه ويروس با کدام قسمت هاي رجيستري مان ارتباط دارد و چيکار کرده (حذف کليد، وارد کردن مقداري خاص در کليد و . . . .)استفاده ميکنيم .<br />

» 3. از برنامه FileMonitor براي اينکه بفهميم ويروس با چه فايل هايي سروکار دارد و بطور کلي ميشه گفت بفهميم که خودشو کجاها کپي ميکند استفاده ميکنيم .

» 4. از برنامه ProcessExplorer که تمامي پروسه ها اعم از مخفي و غير مخفي رو نشون ميده براي دانستن پروسه ويروس استفاده ميکنيم .(ممکنه تسک منيجر غير فعال باشه)

Mask
جمعه 20 دی 1387, 12:45 عصر
===========
تو يک سايتي براي آناليز ويروس گفته بود اين موارد الزامي هست .


براي آناليز کردن ، ويروس رو بايد بالاخره يکجا اجراش کنيم که بفهميم چيکار ميکنه پس چاره اي نيست ، بايد روي سيستم خودمون اجراش کنيم يراي اينکه به سيستم خودمون آسيبي وارد نشه

» 1. پس از نرم افزار Deep Freeze براي انجماد سيستم خودمون استفاده ميکنيم ويا اينکه از Virtual PC و يا VMware استفاده ميکنيم .

» 2. حالا از برنامهRegistryMonitor براي فهميدن اينکه ويروس با کدام قسمت هاي رجيستري مان ارتباط دارد و چيکار کرده (حذف کليد، وارد کردن مقداري خاص در کليد و . . . .)استفاده ميکنيم .<br />

» 3. از برنامه FileMonitor براي اينکه بفهميم ويروس با چه فايل هايي سروکار دارد و بطور کلي ميشه گفت بفهميم که خودشو کجاها کپي ميکند استفاده ميکنيم .

» 4. از برنامه ProcessExplorer که تمامي پروسه ها اعم از مخفي و غير مخفي رو نشون ميده براي دانستن پروسه ويروس استفاده ميکنيم .(ممکنه تسک منيجر غير فعال باشه)
با سلام
اگه ویروس ، ویروس باشه شما به هیچ نحوی نمیتونی مانیتورش بکنی.
و روشهایی که فرمودید میشه برای ویروسهای مدتی استفاده کرد اما ویروسهای بمبی یا یک لحظه ای مفید نیست.

xxxxx_xxxxx
شنبه 21 دی 1387, 15:49 عصر
» 4. از برنامه ProcessExplorer که تمامي پروسه ها اعم از مخفي و غير مخفي رو نشون ميده براي دانستن پروسه ويروس استفاده ميکنيم .(ممکنه تسک منيجر غير فعال باشه)

ويروس هايي هستند كه قابليت مخفي بودن از ديد اين برنامه رو هم دارند!

براي monitor كردن اعمال ويروس فكر مي كنم ورژن 2009 كاسپر اسكاي خوب باشه. تمام عملياتي كه يك برنامه از لحظه شروع تا پايان انجام ميده رو ثبت مي كنه.

scarce
شنبه 21 دی 1387, 18:05 عصر
اگر ویروس نویسی تمام این حالتهایی که گفته شده رو با یک روش از بین ببره اونوقت شما چه راهی پیشنهاد می کنید . بطور مثال Registry رو با گرفتن Caption برنامه ببنده یا هر جور دیگه اونوقت چگونه میشه ویروسو رو آنالیز کرد .؟

xxxxx_xxxxx
شنبه 21 دی 1387, 18:28 عصر
اگر ویروس نویسی تمام این حالتهایی که گفته شده رو با یک روش از بین ببره اونوقت شما چه راهی پیشنهاد می کنید . بطور مثال Registry رو با گرفتن Caption برنامه ببنده یا هر جور دیگه اونوقت چگونه میشه ویروسو رو آنالیز کرد .؟

قرار بود به آناليز ويروس بپردازيم نه مقابله با اون.
ما از برنامه هايي استفاده مي كنيم كه بتونيم با استفاده از اونها بفهميم ويروس چه تغييراتي رو در رجيستري يا هرجاي ديگه ايجاد مي كنه. حالا چه رجيستري باز باشه چه بسته، فرقي نمي كنه.
اگه منظورتون مقابله با ويروس هست كه حتماً مي دونيد ويروس هايي كه از اين روش براي بستن پنجره ها استفاده مي كنند يك تايمر هميشه فعال براي چك كردن پنجره هاي مورد نظر دارند. كه اين تايمر يك مقداري داره، ما فرض مي كنيم 500 ms. حالا شما به عنوان يك برنامه نويس چه راهي به ذهنتون مي رسه كه اينو غير فعال كنيد:
يك راه ساده اينه كه ما از يك تايمر ديگه با زمان كوتاهتر مثلاً 100 ms بيايم و چك كنيم اگر پنجره اي با عنوان Registry Editor وجود داشت عنوانش رو عوض كن:چشمک:
اونوقت ديگه جناب ويروس در امر بستن پنجره ها ناكام مي مونه.

بهتره بحث رو منحرف نكنيم. ايني كه من خدمتتون عرض كردم مربوط به روش هاي مقابله با ويروس هست كه يه مقاله نصفه نيمه رها شده در همين موضوع نوشتم، اگه تكميلش كردم حتماً در اون مورد هم يه تاپيك خواهيم زد و روش بحث مي كنيم.

موفق باشيد/

xxxxx_xxxxx
جمعه 18 بهمن 1387, 23:16 عصر
Process Monitor is an advanced monitoring tool for Windows that shows real-time file system, Registry and process/thread activity

Process Monitor v2.03 (http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx)

mirage041
پنج شنبه 20 فروردین 1388, 09:43 صبح
سلام
آیا سایتی هست که توش آنالیز ویروسهای(کرم و یروس و تروجان و ... ) سالهای 2006الی 2008 رو آنالیزش داشته باشه.(آنالیز = منبع،وظایف برنامه ، روش پاک سازی ، اسامی مربوطه و ...)

xxxxx_xxxxx
پنج شنبه 20 فروردین 1388, 19:56 عصر
كتاب: "فرهنگ جامع ويروس هاي كامپيوتري"
انتشارات: "طاهريان"
--------------
كتاب خوبي هست، در مورد هر ويروس اين اطلاعات رو داره:
نوع، نوع آلوده سازي، اندازه، محيط هاي قابل اجرا، مقيم در حافظه، و كارهايي كه انجام ميده. اگر ويروس ايراني باشه هم ذكر كرده.
موفق باشيد/

mirage041
یک شنبه 23 فروردین 1388, 08:50 صبح
کتابها اکثرا قدیمی هستن و ویروسهای جدید تو اونا نیست. اگه سایت باشه فکر کنم اطلاعاتش به روز تر باشه.

misagh1359
یک شنبه 23 فروردین 1388, 13:41 عصر
http://www.hackthissite.org/forums

مهران رسا
یک شنبه 10 خرداد 1388, 15:49 عصر
سلام
بحث جالب بود . مثل اینکه دیر رسیدم .

با این برنامه کد باز هم می تونید از مسیر پروسه هایی که در ویندوزتون اجرا شدن باخبر بشین .

tdkhakpur
یک شنبه 10 خرداد 1388, 20:22 عصر
سلام
یه چیزی هم به این مطالب اضافه کنم و اون هم این هست که تا دنیا دنیاس ویروس هست و این رو از یاد نبریم که همیشه آنتی ویروس یک قدم از ویروس عقب هست و تا آخر هم باقی خواهد موند.
ویک اشاره ای هم به ویروس داشته باشم این روزها مثل قدیمها نیست ویروسها با برنامه های مدرن شرکتهای معتبر عرضه میشن. هیچ اسم قایمکی هم ندارند و برای کسب درآمد به ایجاد مشکلات سخت افزاری و نرم افزاری جهت پشتیبانی ماهانه شرکتها عرضه میشوند.
ویروس نوشتن افتخارش فقط دانشی هست که ویروس نویس از سیستم داره.
موفق باشید.

مهران رسا
دوشنبه 11 خرداد 1388, 00:54 صبح
یکی از دوستان اشاره کرده بودن که با استفاده از برنامه هایی مثل OllyDbgمیشه رشته های موجود در ویروس ها رو استخراج کرد تا از مسیر ها و نام های مخفی ویروس با خبر شد .


در این مورد نکته ای که وجود داره اینه که شاید تنها ویروسان نویسانی که اطلاعات کافی در این مورد ندارند دچار چنین اشتباهی بشن و رشته های موجود در ویروس رو کد نکنن.


در کل ایده کد کردن رشته ها زیاد جدید به نظر نمیرسه ولی قطعاً برای یک ویروس نویس حرفه ای ضروری هست . ضمن اینکه در هر صورت هیچ برنامه ای از دست کرکر ها در امان نیست ولی همونطور که دوستان اشاره کردن لااقل ما به عنوان یک برنامه نویس باید واسه سخت تر شدن کار کرکر ها تمهیداتی در نظر بگیریم که پیش زمینش یادگیری مبحث کرک کردن و نفوذ به برنامه های کاربردی هست .



من به عنوان یه فرد تازه کار یکی از روش کد کردن رشته ها رو در اختیار شما قرار میدم :


فکر کنید برنامه شما از رشته ای مثل رشته زیر استفاده می کنه :



SetRegistryKey "HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURR ENTVERSION\RUN\"


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


پس دست بکار شید و یک تابع ساده بنویسید .


من از زبان VB برای طرح این مثال استفاده می کنم .


Public Function StrCoder(StrX As String) As String
StrX = Replace(UCase(StrX), "A", "!")
StrX = Replace(UCase(StrX), "U", "@")
StrX = Replace(UCase(StrX), "C", "#")
StrX = Replace(UCase(StrX), "R", "$")
End Function

تابع بالا تمام کاری هست که برنامه شما واسه کد کردن رشته ها انجام میده . فقط چند کاراکتر خاص رو انتخاب کردیم و معادل اونها از علائم جدیدی استفاده کردیم ...


و این هم از تابع بازگردانی رشته به حالت اولیه :


Public Function StrDeCoder(StrX As String) As String
StrX = Replace(StrX, "!", "A")
StrX = Replace(StrX, "@", "U")
StrX = Replace(StrX, "#", "C")
StrX = Replace(StrX, "$", "R")
End Function

(البته برای اجرای عملی در توابع بالا باید تغییراتی ایجاد بشه)


و در نهایت استفاده از رشته کد شده :



SetRegistryKey StrDecoder("HKEY_LO#!L_M!#HINE\SOFTW!$E\MI#$OSOFT\WINDOWS\#@$$ ENTVE$SION\$@N\")



دنبال راه های بهتری باشین ...

Nima NT
دوشنبه 11 خرداد 1388, 01:54 صبح
دنبال راه های بهتری باشین ...
ویروس های خیلی قوی تر برای محافظت خودشون از تکنیک هایی نظیر Polymorphism و Metamorphism استفاده میکنن که تحلیلشون خیلی سخت هست. ( املای کلمات رو نمیدونم درست نوشتم یا نه , اگر اشتباه بود عذر خواهی میکنم ).

مهران رسا
دوشنبه 11 خرداد 1388, 02:04 صبح
http://en.wikipedia.org/wiki/Polymorphic_code
http://www.spamlaws.com/polymorphic-virus.html
http://en.wikipedia.org/wiki/Metamorphic_code

iroonidotnet
دوشنبه 11 خرداد 1388, 16:53 عصر
سلام شاید به بحث دوستان زیاد مربوط نباشه . ولی می شه سورس چند ویروس قرار بدید یا بصورت خصوصی ارسال کنید .
معمولا از چه کامپایلری برای ویروس نویسی استفاده میشه؟
ممنون

Nima NT
دوشنبه 11 خرداد 1388, 18:44 عصر
با هر زبانی میشه نوشت , ولی معمولا" با ++C یا Asm نوشته میشه.

xxxxx_xxxxx
دوشنبه 11 خرداد 1388, 21:58 عصر
می شه سورس چند ویروس قرار بدید یا بصورت خصوصی ارسال کنید .

http://barnamenevis.org/forum/showpost.php?p=627450&postcount=36