ايران ويج

نسخه‌ی کامل: ویروس میمون
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3 4
(۱۰-اردیبهشت-۱۳۹۰, ۰۳:۵۳:۲۰)babyy نوشته است: [ -> ]فایل یک پیکسلیت رو آلوده نکرد ! فکر کنم بر اساس حجم کارمیکنه !!
اما فایلهای توی مای پیکچر رو آلوده کرد‌؛ بدردت میخوره بزارمشون ؟

----------
اون رویداد دابل کلیک هم واسه اینه که بعد از اینکه اجراه میشه و دهن کام رو سرویس میکنه ؛ یه عکس میمون نشون میده که روش دوبار کلیک کنیم بسته میشه

فكر نكنم حجمي باشه
تابع filessize توش نديدم.
يك نمونه اصلي و يك نمونه آلوده هم بهم بدي ايرادي نداره ،فقط سالمش كنارش باشه.
ديگه چاره اي نيست ، ساعت 4 نصف شبه ها :)
چهارتا فایل آلوده + سالمشون
(همون فایلهای پیش فرض ویندوز هستند)
چقدر زود گذشت ! الا ساعت دوازده بودااااا !
نه تابع فایل سایز نداره
وقتی هدر هم خراب میکنه چک میکنه
هدر رو خراب میکنه
با حدود بیش از 200 بایت به فایل ترزیق میکنه نمونه برنامش هم نوشتم
فایل سالم :
کد:
ےطےà JFIF
تو فایل
خراب این هدرو حذف میکنه
البه یه فایل تکس یه و یه فایل .dat هم میسازه گند کاری زیاد کرده
به نام خدا
ویروس میمون از چند api استفاده میکند.
کد:
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
'VA: 402E20
Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
'VA: 402DD4
Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
'VA: 402D8C
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
'VA: 402CDC
Private Declare Function GetLastError Lib "kernel32" () As Long
'VA: 402C74
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
'VA: 402C2C
Private Declare Sub RtlZeroMemory Lib "kernel32" ()
'VA: 402BE4
Private Declare Function DeviceIoControl Lib "kernel32" (ByVal hDevice As Long, ByVal dwIoControlCode As Long, lpInBuffer As Any, ByVal nInBufferSize As Long, lpOutBuffer As Any, ByVal nOutBufferSize As Long, lpBytesReturned As Long, lpOverlapped As OVERLAPPED) As Long
'VA: 402B9C
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
'VA: 402B58
Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
'VA: 402B14
Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long
دارای 4 تایمر میباشد.
تایمر 1 500 میلی ثانیه
تایمر 2 1 دقیقه
تایمر 3 1 دقیقه
timQuit 500 میلی ثانیه
دارای کنترل درایو هست که لیست درایوها رو بدست میاره
داری کنترل فایل لیست باکس میباشد که کارش نمیاش لیست فایلها میباشد.
دارای ماجول کلاس HDSN میباشد که به همراه سورس کد دقیق این فایل پیوست کردم.
با دستور زیر فیال autorun میسازه که از طریق فلش دیسک یا مموری و .. پخش میشود.
کد:
loc_00409B3D: call Print #(004028F0h, 00000003h, "[autorun]")
loc_00409B46:   var_04 = 6
  loc_00409B59: call Print #(004028F0h, 00000003h, "open=mp3_new.exe")
loc_00409B62:   var_04 = 7
  loc_00409B75: call Print #(004028F0h, 00000003h, "shell\open\Command=mp3_new.exe")
فایل اصلی mp3_new.exe میباشد.
در کلیدهای زیر رجیستری کلیدهای ایجاد میکند
کد:
loc_0040C4BE: call &("on\Winlo", "SOFTWARE\Microsoft\Windows NT\CurrentVersi", var_24)

  loc_0040C674: call &("rer\Adva", "Software\Microsoft\Windows\CurrentVersion\Explo", var_24)

  loc_0040C88B:   call &("s\Syst", "Software\Microsoft\Windows\CurrentVersion\Policie", var_24)
برای بستن task manager دکمه alt + f4 رو با تابع سند کی میفرسته

از تابع StrReverse هم استفاده میکند توضیحات بیشتر :

Returns a string in which the character order of a specified string is reversed.
Native to VB6, but not to VB5.
Declaration:
Function StrReverse(sExpression As String) As String
Arguments:
sExpression the string whose characters are to be reversed
Argument Values: Return Values:
sExpression is "" "" (zero-length string)

و باز ببنید اینجا رو دوباره با تابع SENDKEY دکمه اینتر رو میفرسته وفایل WKER.EXE رو فراخوانی میکند.
کد:
loc_0040B816:   call MSVBVM60.DLL.__vbaStrMove
  loc_0040B81D:   SendKeys MSVBVM60.DLL.__vbaStrMove, %x2
  loc_0040B826:   call MSVBVM60.DLL.__vbaFreeStr
  loc_0040B82F:   call MSVBVM60.DLL.__vbaFreeVar
loc_0040B835:     var_04 = &H36
loc_0040B83C:     var_48 = &H64
loc_0040B853:     SendKeys "{enter}", 2
  loc_0040B85C:   call MSVBVM60.DLL.__vbaFreeVar
loc_0040B862:     var_04 = &H37
  loc_0040B872:   call &(var_28, "Explorer")
loc_0040B87B:     var_50 = 8
  loc_0040B888:   var_50 = Shell(00000001h, %x3)
  loc_0040B88E:   fstp real8 ptr var_000000E0
  loc_0040B897:   call MSVBVM60.DLL.__vbaFreeVar
loc_0040B89D:     var_04 = &H38
  loc_0040B8B1:   call &("wker.exe", 40F024h, 00000027h)
  loc_0040B8BC:   call MSVBVM60.DLL.__vbaStrMove
  loc_0040B8C3:   SetAttr MSVBVM60.DLL.__vbaStrMove, %x2
دز اینجا یک فایل دیگر به اسم v_set.dat میبینم نمیدونم این فایل دقیقا چیه چون تو محیط vM چک نکردم و این فایلو ندارم
اما در پایین سورس میبینم که فایلی را با OPEN باز میکند و با دستور PRINT روش مینیوسه و با CLOSE هم ان رو میبنده
کد:
loc_0040B5ED:       call Open #(00000002h, FFFFFFFFh, 00000001h, MSVBVM60.DLL.__vbaStrMove)
  loc_0040B5F6:       call MSVBVM60.DLL.__vbaFreeStr
loc_0040B5FC:         var_04 = &H2C
  loc_0040B60E:       call Print #(004028F0h, 00000001h, var_24)
loc_0040B617:         var_04 = &H2D
  loc_0040B62A:       call Print #(004028F0h, 00000001h, 00402C4Ch)
loc_0040B633:         var_04 = &H2E
  loc_0040B646:       call Print #(004028F0h, 00000001h, 00402C4Ch)
loc_0040B64F:         var_04 = &H2F
  loc_0040B662:       call Print #(004028F0h, 00000001h, 00402C4Ch)
از تابع INSTR هم استفاده کرده
کد:
loc_0040AEEF: call InStr("", 00000000h, var_50, var_000000A0, 00000001h)
  loc_0040AF01: call MSVBVM60.DLL.__vbaVarSub(var_70, var_000000B0, InStr("", 00000000h, var_50, var_000000A0, 00000001h))
  loc_0040AF08: MSVBVM60.DLL.__vbaVarSub(var_70, var_000000B0, InStr("", 00000000h, var_50, var_000000A0, 00000001h)) = CLng(%x2)
  loc_0040AF15: Left$(40F028h, MSVBVM60.DLL.__vbaVarSub(var_70, var_000000B0, InStr("", 00000000h, var_50, var_000000A0, 00000001h)))
  loc_0040AF22: call MSVBVM60.DLL.__vbaStrMove
loc_0040AF3B:   var_04 = 14
  loc_0040AF4D: call &("~001_uv.tmp", 40F028h)
  loc_0040AF5A: call MSVBVM60.DLL.__vbaStrMove
loc_0040AF60:   var_04 = 15
  loc_0040AF73: call &("~002_uv.tmp", 0040F028h)
  loc_0040AF80: call MSVBVM60.DLL.__vbaStrMove
loc_0040AF86:   var_04 = 16
  loc_0040AF8D: Proc_0040BC90(MSVBVM60.DLL.__vbaStrMove, &("~002_uv.tmp", 0040F028h), 0040F030h)
  loc_0040AF97: call MSVBVM60.DLL.__vbaStrMove
loc_0040AF9D:   var_04 = &H11
  loc_0040AFB5: call &("v_set.dat", 0040F024h, 00402494h)
  loc_0040AFC0: call MSVBVM60.DLL.__vbaStrMove
  loc_0040AFC7: Proc_0040A150(MSVBVM60.DLL.__vbaStrMove, &("v_set.dat", 0040F024h, 00402494h), "")
  loc_0040AFD6: call MSVBVM60.DLL.__vbaFreeStr(MSVBVM60.DLL.__vbaStrMove)
  loc_0040AFDC: movsx eax, word ptr ""
  loc_0040AFE5: If MSVBVM60.DLL.__vbaFreeStr(MSVBVM60.DLL.__vbaStrMove) <> 0 Then
loc_0040AFEB:     var_04 = &H12
  loc_0040AFFE:   call &("v_set.dat", 0040F024h)
  loc_0040B009:   call MSVBVM60.DLL.__vbaStrMove
  loc_0040B016:   call Open #(00000001h, FFFFFFFFh, 00000001h, MSVBVM60.DLL.__vbaStrMove)
  loc_0040B01F:   call MSVBVM60.DLL.__vbaFreeStr
loc_0040B025:     var_04 = &H13
  loc_0040B037:   call Input #(00402C44h, 00000001h, var_28)
loc_0040B040:     var_04 = &H14
loc_0040B057:     If (var_24 = var_28) = 0 Then
loc_0040B059:       var_04 = &H15
  loc_0040B06B:     call Input #(00402C44h, 00000001h, var_28)
loc_0040B074:       var_04 = &H16
  loc_0040B086:     call Input #(00402C44h, 00000001h, var_28
Film_new.exe
mp3_new.exe
wker.exe
ehash.exe
با این 4 تا فایل هم کار میکند
که نیاز به انالیز 2 فایل دیگه هم دارم
فايلي غير از .JPG هم اگه داره ميسازه بزارين...
حجم تغييرات در فايلها ظاهرا زياد تر ازحده
اگه اون فايل تك پيكسليه را بتونيد يه جوري آلوده كنيد بفرستين خوبه... راحت تر ميشه آناليز كرد

فايلهايي با نامهاي
~s_t.txt
sdate.dat
actok.dat
a_r.dat
روي هارد سرچ كنيد ببينيد اين فايلها را دارين ؟
......
دادم يه بچه ها كارش مهندسي معكوسه ، ببينم چي ميكنه :)
جوکر جان
همه چیزو تخریب میکنه
اصلا ربط به پیکسل نداره اخه فیلم هم الوده میکنه یه vm نصب کن یه چکی بزن
البته رو فایل exe راحت تر میشه فهمید
میگن تو 5 دقیقه همه چیزو یارو برمیگردونه
هر کسی داره یه فایل exe بفرسته
یا یه فایل تکست چون همه چیز رو الوده میکنه کلا اینجوری جستجو میکنه *.* یعنی همه چیز
فقط این دوتا موجوده ؛ که تو اویلش تاریخه ؛ دومیش هم خالی
sdate.dat
actok.dat
این سه تا فایل هم مربوط به نرم افزار رمز نگاری شما
دوتا آیکون و یکی ocx ؛؛ حجحمشون هم کمه ؛ فایل اصلیشون هم که خودت داری
دوستان عزیز و مخصوصا کاربر جوکر از شما تشکر میکنم که دنبال این بدافزار را گرفتید و مشکل مارو حل کنید.
دقیقا همینطوره که گفتید همه فایلهارو خراب میکنه البته به استثنای پوشه های مخفی و پوشه هاب با نام فارسی.
موفق باشید
تغييرات در عين بي نظمي با نظم خاصي هستند و ما بقي فايل دست نخورده است.
فايل ضميمه را ببينيد.
تقريبا در تمام فايلها اين روش تكرار شده.
يكي از بچه ها اينو از توش در آورده :)
اقا پژمان ميشناسين ؟ Question

کد:
"5068831\r\nINDUSTRY\\Pejman\r\nROJA!\r\n201\a"
oh oh پژمان !
اون فارسی که اینکود نمیشه بخاطر اینه با وی بی 6 نوشته شده

از هم چند تابعشو پیدا کردم
کم کم کارش تمومه
خب ترتيبش داده شد .
امكان تستش را به علت الوده نبودن كامپيوتر خودم نداشتم
يك نرم افزاره كه ظاهرا قابليت برگرداندن اطلاعات را دارد ، demo بود ، روش كرك اون را نوشتم

دوستاني كه كامپيوترشون آلوده شده اول فايل pdf را مطالعه كنند

لطفا فايل ضميمه را ، به صورت رايگان در اختيار ديگراني هم كه دچار مشكل شده اند قرار بدين. تا جلوي سوء استفاده و باج گيري نويسنده شاسكول اين ويروس گرفته بشه.
صفحه‌ها: 1 2 3 4