
به گزارش کمپانی روسی Kaspersky، شرکت فعال در زمینه مبارزه با بدافزارهای رایانهای، بدافزار جدیدی با هدف تخریب اطلاعات کشف و گزارش شده است.
شواهد بیانگر این موضوع میباشد که همانند بدافزار مهدی، این بدافزار نیز توسط چندی از نفوذگران مبتدی تهیه شده است.
دلیل انتخاب نام این بدافزار نیز از وجود رشته زیر در فایلهای این بدافزار نشات میگیرد
C:\Shamoon\ArabianGulf\wiper\release\wiper.pdb
بدافزار فوق یادآور شواهد مرتبط با حملات با نتیجه تخریب اطلاعات در ماه آوریل سال ۲۰۱۲ در ایران میباشد.
تحلیل فنی بدافزار
اطلاعات ابتدائی از بدافزار فوق و نمونههای کشف شده از این بدافزار، بیانگر این است که زبان مورد استفاده برای تولید این بدافزار C++ نسخه ۸.۰ از کمپانی مایکروسافت (Visual C++ 2005) میباشد.

لیست توابع مورد استفاده بدافزار نیز بیانگر وجود ارتباط بدافزار با سرویسهای ویندوزی، رجیستری، ارتباطات شبکهای و حجم بالائی از تعاملات با منابع درونی میباشد:
Address
|
Ordinal Name
|
Library
|
۴۱۶۰۰۰
|
StartServiceCtrlDispatcherW
|
ADVAPI32
|
۴۱۶۰۰۴
|
RegisterServiceCtrlHandlerW
|
ADVAPI32
|
۴۱۶۰۰۸
|
SetServiceStatus
|
ADVAPI32
|
۰۰۴۱۶۰۰C
|
RegQueryValueExW
|
ADVAPI32
|
۴۱۶۰۱۰
|
OpenSCManagerW
|
ADVAPI32
|
۴۱۶۰۱۴
|
OpenServiceW
|
ADVAPI32
|
۴۱۶۰۱۸
|
QueryServiceConfigW
|
ADVAPI32
|
۰۰۴۱۶۰۱C
|
ChangeServiceConfigW
|
ADVAPI32
|
۴۱۶۰۲۰
|
CloseServiceHandle
|
ADVAPI32
|
۴۱۶۰۲۴
|
CreateServiceW
|
ADVAPI32
|
۴۱۶۰۲۸
|
ChangeServiceConfig2W
|
ADVAPI32
|
۰۰۴۱۶۰۲C
|
RegOpenKeyExW
|
ADVAPI32
|
۴۱۶۰۳۰
|
RegDeleteValueW
|
ADVAPI32
|
۴۱۶۰۳۴
|
RegCloseKey
|
ADVAPI32
|
۴۱۶۰۳۸
|
StartServiceW
|
ADVAPI32
|
۴۱۶۰۴۰
|
LocalAlloc
|
KERNEL32
|
۴۱۶۰۴۴
|
GetLastError
|
KERNEL32
|
۴۱۶۰۴۸
|
MoveFileExW
|
KERNEL32
|
۰۰۴۱۶۰۴C
|
DeleteFileW
|
KERNEL32
|
۴۱۶۰۵۰
|
GetProcAddress
|
KERNEL32
|
۴۱۶۰۵۴
|
GetModuleHandleW
|
KERNEL32
|
۴۱۶۰۵۸
|
WriteFile
|
KERNEL32
|
۰۰۴۱۶۰۵C
|
CreateFileW
|
KERNEL32
|
۴۱۶۰۶۰
|
SizeofResource
|
KERNEL32
|
۴۱۶۰۶۴
|
LockResource
|
KERNEL32
|
۴۱۶۰۶۸
|
LoadResource
|
KERNEL32
|
۰۰۴۱۶۰۶C
|
FindResourceW
|
KERNEL32
|
۴۱۶۰۷۰
|
GetCommandLineW
|
KERNEL32
|
۴۱۶۰۷۴
|
GetFileTime
|
KERNEL32
|
۴۱۶۰۷۸
|
GetWindowsDirectoryW
|
KERNEL32
|
۰۰۴۱۶۰۷C
|
Sleep
|
KERNEL32
|
۴۱۶۰۸۰
|
CreateThread
|
KERNEL32
|
۴۱۶۰۸۴
|
CreateProcessW
|
KERNEL32
|
۴۱۶۰۸۸
|
CopyFileW
|
KERNEL32
|
۰۰۴۱۶۰۸C
|
MoveFileW
|
KERNEL32
|
۴۱۶۰۹۰
|
ReadFile
|
KERNEL32
|
۴۱۶۰۹۴
|
GetSystemTime
|
KERNEL32
|
۴۱۶۰۹۸
|
LeaveCriticalSection
|
KERNEL32
|
۰۰۴۱۶۰۹C
|
EnterCriticalSection
|
KERNEL32
|
۰۰۴۱۶۰A0
|
DeleteCriticalSection
|
KERNEL32
|
۰۰۴۱۶۰A4
|
WaitForSingleObject
|
KERNEL32
|
۰۰۴۱۶۰A8
|
InitializeCriticalSection
|
KERNEL32
|
۰۰۴۱۶۰AC
|
GetStringTypeW
|
KERNEL32
|
۰۰۴۱۶۰B0
|
IsValidCodePage
|
KERNEL32
|
۰۰۴۱۶۰B4
|
LocalFree
|
KERNEL32
|
۰۰۴۱۶۰B8
|
VirtualAlloc
|
KERNEL32
|
۰۰۴۱۶۰BC
|
VirtualFree
|
KERNEL32
|
۰۰۴۱۶۰C0
|
GetCurrentProcess
|
KERNEL32
|
۰۰۴۱۶۰C4
|
OpenProcess
|
KERNEL32
|
۰۰۴۱۶۰C8
|
CreateToolhelp32Snapshot
|
KERNEL32
|
۰۰۴۱۶۰CC
|
Process32FirstW
|
KERNEL32
|
۰۰۴۱۶۰D0
|
Process32NextW
|
KERNEL32
|
۰۰۴۱۶۰D4
|
CloseHandle
|
KERNEL32
|
۰۰۴۱۶۰D8
|
GetTickCount
|
KERNEL32
|
۰۰۴۱۶۰DC
|
HeapReAlloc
|
KERNEL32
|
۴.۱۶E+03
|
HeapSize
|
KERNEL32
|
۴.۱۶E+07
|
GetUserDefaultLCID
|
KERNEL32
|
۴.۱۶E+11
|
GetLocaleInfoA
|
KERNEL32
|
۰۰۴۱۶۰EC
|
EnumSystemLocalesA
|
KERNEL32
|
۰۰۴۱۶۰F0
|
IsValidLocale
|
KERNEL32
|
۰۰۴۱۶۰F4
|
WriteConsoleW
|
KERNEL32
|
۰۰۴۱۶۰F8
|
SetStdHandle
|
KERNEL32
|
۰۰۴۱۶۰FC
|
GetProcessHeap
|
KERNEL32
|
۴۱۶۱۰۰
|
CreateFileA
|
KERNEL32
|
۴۱۶۱۰۴
|
SetEndOfFile
|
KERNEL32
|
۴۱۶۱۰۸
|
SetFileTime
|
KERNEL32
|
۰۰۴۱۶۱۰C
|
GetOEMCP
|
KERNEL32
|
۴۱۶۱۱۰
|
GetACP
|
KERNEL32
|
۴۱۶۱۱۴
|
InterlockedIncrement
|
KERNEL32
|
۴۱۶۱۱۸
|
InterlockedDecrement
|
KERNEL32
|
۰۰۴۱۶۱۱C
|
EncodePointer
|
KERNEL32
|
۴۱۶۱۲۰
|
DecodePointer
|
KERNEL32
|
۴۱۶۱۲۴
|
RaiseException
|
KERNEL32
|
۴۱۶۱۲۸
|
RtlUnwind
|
KERNEL32
|
۰۰۴۱۶۱۲C
|
HeapFree
|
KERNEL32
|
۴۱۶۱۳۰
|
ExitProcess
|
KERNEL32
|
۴۱۶۱۳۴
|
HeapSetInformation
|
KERNEL32
|
۴۱۶۱۳۸
|
WideCharToMultiByte
|
KERNEL32
|
۰۰۴۱۶۱۳C
|
LCMapStringW
|
KERNEL32
|
۴۱۶۱۴۰
|
MultiByteToWideChar
|
KERNEL32
|
۴۱۶۱۴۴
|
GetCPInfo
|
KERNEL32
|
۴۱۶۱۴۸
|
HeapAlloc
|
KERNEL32
|
۰۰۴۱۶۱۴C
|
IsProcessorFeaturePresent
|
KERNEL32
|
۴۱۶۱۵۰
|
TerminateProcess
|
KERNEL32
|
۴۱۶۱۵۴
|
UnhandledExceptionFilter
|
KERNEL32
|
۴۱۶۱۵۸
|
SetUnhandledExceptionFilter
|
KERNEL32
|
۰۰۴۱۶۱۵C
|
IsDebuggerPresent
|
KERNEL32
|
۴۱۶۱۶۰
|
TlsAlloc
|
KERNEL32
|
۴۱۶۱۶۴
|
TlsGetValue
|
KERNEL32
|
۴۱۶۱۶۸
|
TlsSetValue
|
KERNEL32
|
۰۰۴۱۶۱۶C
|
TlsFree
|
KERNEL32
|
۴۱۶۱۷۰
|
SetLastError
|
KERNEL32
|
۴۱۶۱۷۴
|
GetCurrentThreadId
|
KERNEL32
|
۴۱۶۱۷۸
|
HeapCreate
|
KERNEL32
|
۰۰۴۱۶۱۷C
|
SetHandleCount
|
KERNEL32
|
۴۱۶۱۸۰
|
GetStdHandle
|
KERNEL32
|
۴۱۶۱۸۴
|
InitializeCriticalSectionAndSpinCount
|
KERNEL32
|
۴۱۶۱۸۸
|
GetFileType
|
KERNEL32
|
۰۰۴۱۶۱۸C
|
GetStartupInfoW
|
KERNEL32
|
۴۱۶۱۹۰
|
GetConsoleCP
|
KERNEL32
|
۴۱۶۱۹۴
|
GetConsoleMode
|
KERNEL32
|
۴۱۶۱۹۸
|
FlushFileBuffers
|
KERNEL32
|
۰۰۴۱۶۱۹C
|
SetFilePointer
|
KERNEL32
|
۰۰۴۱۶۱A0
|
LoadLibraryW
|
KERNEL32
|
۰۰۴۱۶۱A4
|
GetLocaleInfoW
|
KERNEL32
|
۰۰۴۱۶۱A8
|
GetModuleFileNameW
|
KERNEL32
|
۰۰۴۱۶۱AC
|
FreeEnvironmentStringsW
|
KERNEL32
|
۰۰۴۱۶۱B0
|
GetEnvironmentStringsW
|
KERNEL32
|
۰۰۴۱۶۱B4
|
QueryPerformanceCounter
|
KERNEL32
|
۰۰۴۱۶۱B8
|
GetCurrentProcessId
|
KERNEL32
|
۰۰۴۱۶۱BC
|
GetSystemTimeAsFileTime
|
KERNEL32
|
۰۰۴۱۶۱C4
|
NetApiBufferFree
|
NETAPI32
|
۰۰۴۱۶۱C8
|
NetApiBufferAllocate
|
NETAPI32
|
۰۰۴۱۶۱CC
|
NetRemoteTOD
|
NETAPI32
|
۰۰۴۱۶۱D0
|
NetScheduleJobDel
|
NETAPI32
|
۰۰۴۱۶۱D8
|
CommandLineToArgvW
|
SHELL32
|
۴.۱۶E+03
|
LoadImageW
|
USER32
|
۴.۱۶E+11
|
۱۱۵ WSAStartup
|
WS2_32
|
۰۰۴۱۶۱EC
|
۱۲ inet_ntoa
|
WS2_32
|
۰۰۴۱۶۱F0
|
۵۲ gethostbyname
|
WS2_32
|
۰۰۴۱۶۱F4
|
۵۷ gethostname
|
WS2_32
|
۰۰۴۱۶۱F8
|
۱۱۶ WSACleanup
|
WS2_32
|
وجود resource ها بیانگر فعالیت بیشتر بدافزار از طریق منابع داخلی بدافزار با استفاده از بارگذاری آنها که توسط کلیدهای زیر رمزنگاری شدهاند می باشد
{۰x25, 0x7f, 0x5d, 0xfb}
{۰x17, 0xd4, 0xba, 0x00}
{۰x5c, 0xc2, 0x1a, 0xbb}
{۰x15, 0xaf, 0x52, 0xf0}
بدافزار، با استفاده از الگوی زیر، بیان شده توسط تیم Kaspersky اطلاعات را از دستهای از فایلهای خاص در سیستم آلوده جمع آوری مینماید
dir "C:\Documents and Settings\" /s /b /a:-D 2>nul | findstr -i download 2>nul >f1.inf
dir "C:\Documents and Settings\" /s /b /a:-D 2>nul | findstr -i document 2>nul >>f1.inf
dir C:\Users\ /s /b /a:-D 2>nul | findstr -i download ۲>nul >>f1.inf
dir C:\Users\ /s /b /a:-D 2>nul | findstr -i document ۲>nul >>f1.inf
dir C:\Users\ /s /b /a:-D 2>nul | findstr -i picture ۲>nul >>f1.inf
dir C:\Users\ /s /b /a:-D 2>nul | findstr -i video ۲>nul >>f1.inf
dir C:\Users\ /s /b /a:-D 2>nul | findstr -i music ۲>nul >>f1.inf
dir "C:\Documents and Settings\" /s /b /a:-D 2>nul | findstr -i desktop 2>nul >f2.inf
dir C:\Users\ /s /b /a:-D 2>nul | findstr -i desktop ۲>nul >>f2.inf
dir C:\Windows\System32\Drivers /s /b /a:-D 2>nul >>f2.inf
dir C:\Windows\System32\Config /s /b /a:-D 2>nul | findstr -v -i systemprofile 2>nul >>f2.inf
dir f1.inf /s /b 2>nul >>f1.inf
dir f2.inf /s /b 2>nul >>f1.inf
یکی از منابع داخلی موجود در بدافزار حاوی یک درایور sign شده میباشد:

هدف اصلی این بدافزار، آلوده نمودن سیستمهای موجود در شبکه ، حذف و تخریب اطلاعات گزارش شده است.
تحلیلهای صورت پذیرفته نشانگر این موضوع است که بدافزار، فایل trksrv.exe را در مسیر system32 به عنوان یک کپی از بدافزار اجرا می نماید و همچنین با استفاده از قابلیت سرویسهای در ویندوز که دارای بالاترین سطح دسترسی سیستم عامل هستند توسط services.exe اجرا میشود
دیگر فعالیتهای بدافزار از دیدگاه رفتاری به شرح زیر میباشد:
اطلاعاتی که توسط بدافزار از رجیستری خوانده میشوند:
Key
|
Name
|
Value
|
Times
|
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
|
PROCESSOR_ARCHITECTURE
|
x86
|
۱
|
HKLM\SYSTEM\Setup
|
SystemSetupInProgress
|
۰
|
۱
|
HKLM\Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers
|
TransparentEnabled
|
۱
|
۱
|
HKLM\System\CurrentControlSet\Control\ServiceCurrent
|
|
۹
|
۱
|
فایل(هائی) که توسط بدافزار بروی دیسک سخت ایجاد میشوند:
C:\WINDOWS\system32\trksvr.exe
سرویسهائی که توسط بدافزار ایجاد میشود:
|
اطلاعاتی که توسط فایل trksvr از رجیستری خوانده میشود:
Key
|
Name
|
Value
|
Times
|
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
|
PROCESSOR_ARCHITECTURE
|
x86
|
۱
|
HKLM\SYSTEM\Setup
|
SystemSetupInProgress
|
۰
|
۱
|
HKLM\System\CurrentControlSet\Control\ServiceCurrent
|
|
۱۰
|
۱
|
در هر حال حاضر اطلاعات بیشتری در رابطه با فعالیت این بدافزار در دسترس نمیباشد و در صورت موفقیت آمیز بودن تحلیلهای در حال پیشرفت مرکز آپا دانشگاه صنعتی اصفهان، دیگر گزارشهای خود را مرتبط با این بدافزار منتشر خواهد نمود.
ابزار حذف تروجان Shamoon
برای دانلود ابزار حذف تروجان Shamoon اینجا را کلیک کنید
(توضیح: برای استفاده، ملزم به نصب Microsoft .net Framework 4 هستید)