بدافزار PWS-Zbot از نوع “اسب تروا” (Trojan) است که برای سرقت داده های حساس همچون اطلاعات مالی طراحی شده است. PWS-Zbot عمدتاً از طریق ایمیل منتشر می شود اما نمونه هایی از این بدافزار، قابلیت های اجرای خودکار از روی رسانههای جداشدنی و نصب از طریق دانلودهای ناخواسته (Drive-by Download) را نیز در خود دارا می باشند. به محض اجرا شدن، بدافزار به مرکز فرماندهی (Command & Control) متصل و همزمان فعالیت های اینترنتی کاربر را رصد می کند.
نامگذاری
اين بدافزار با نامهای زير توسط انواع محصولات ضدويروس شناسايی می شود.
– Bitdefender: TRojan-Spy.Win32.Zbot.gen, PWS:Win32/Zbot.PM, W32/Zbot.AA, and Trojan.Spy.ZBot.UO
– Microsoft: Win32/Zbot
– Kaspersky: Trojan-Spy.Win32.Zbot
خرابکاری
PWS-Zbot برای انتشار از روشهای زیر بهره می گیرد:
– سواستفاده از ضعف امنیتی CVE-2010-2568
– استفاده از ابزارهای نفوذ
– مهندسی اجتماعی
– ارسال پیامک حاوی لینک مخرباز طریق گوشی های موبایل با سیستم عامل Symbian
– پیوست شدن به هرزنامه ها
این بدافزار توانایی انجام فعالیتهای زیر را دارا می باشد:
– تزریق خود به پروسه های Winlogon.exe ،svchost.exe یا Explorer.exe از طریق توابع CreateRemoteThead و یا WriteProcessMemory نمونه های جدید توانایی تزریق خود به پروسه های دیگر را نیز دارند.
– ضبط کلیدهای واردشده بر روی صفحه کلید و تصویربرداری از صفحه
– شنود رابطهای برنامهنویسی نرمافزار فراخوانی شده
– دریافت فایل حاوی تنظیمات از مرکز فرماندهی
– ارتقای خود
– ارسال اطلاعات سرقت شده به مرکز فرماندهی
– هدف قرار دادن اطلاعات حساس مانند تبادلات بانکی آنلاین
– نصب درب پشتی
بمحض اجرا شدن، بدافزار خود را در مسیرهای زیر کپی می کند:
– %SysDir% folder as sdra64.exe
– %SysDir% folder as [random hex number] .exe
– %SysDir%\lowsec\local.ds – config file
– %SysDir%\lowsec\user.ds – log file
– %AppData%\[Random generated folder name]\[Randomly generated binary filename]
– %AppData%\[Random generated folder name]\[Randomly generated data filename]
– %AppData%\[random hex number] .exe
در ادامه بمنظور اجرای خودکار بدافزار در هر بار راه اندازی سیستم، کلیدهای زیر در محضرخانه ایجاد می گردند:
– HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\
Run {RandomUID} = %AppData%\[Random Named Folder]\[Random FileName]
– HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\
“Userinit” = “%System%\userinit.exe, %System%\sdra64.exe”
– HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\
Run { random hex number } = %AppData%\[random hex number] .exe
– HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\policies\explorer\
Run adobe = %AppData%\[random hex number] .exe
همچنین فایل غیرمخرب و کلید زیر نیز ایجاد می شود:
– %User Profile%\Application Data\Microsoft\Address Book\{user name}.wab
– HKEY_CURRENT_USER\Software\Microsoft\WAB\WAB4\Wab
File Name(Default) = “%User Profile%\Application Data\Microsoft\Address Book\{user name}.wab”
با دست اندازی به کلیدهای زیر، هشدارهای دیواره آتش غیرفعال می شود:
-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\ Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\
List{port}:TCP= “{port}:TCP:Enabled:TCP {port}”
– HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\ Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\ List {port}:UDP = “{port}:UDP:Enabled:UDP {port}”
– HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\ Parameters\FirewallPolicy\StandardProfile\DisableNotifications: 0x00000000
بدافزار Zbot با ایجاد کلیدهای زیر از سد هویت سنجی های معمول عبور می کند:
– HKEY_USERS\S-1-5-[VARIES]\Software\Microsoft\Internet Account Manager
– HKEY_USERS\S-1-5-[VARIES]\Software\Microsoft\Internet Account Manager\Accounts
– HKEY_USERS\S-1-5-[VARIES]\Software\Microsoft\Internet Account Manager\Accounts\ActiveDirectory GC
– HKEY_USERS\S-1-5-[VARIES]\Software\Microsoft\Internet Account Manager\Accounts\Bigfoot
– HKEY_USERS\S-1-5-[VARIES]\Software\Microsoft\Internet Account Manager\Accounts\VeriSign
– HKEY_USERS\S-1-5-[VARIES]\Software\Microsoft\Internet Account Manager\Accounts\WhoWhere
– HKEY_USERS\S-1-5-[VARIES]\Software\Microsoft\WAB
– HKEY_USERS\S-1-5-[VARIES]\Software\Microsoft\WAB\WAB4
– HKEY_USERS\S-1-5-[VARIES]\Software\Microsoft\WAB\WAB4\Wab File Name
در نمونههای اخیر این بدافزار مشاهده شده است که دو پوشه یکی برای نگهداری فایل اجرایی و دیگری برای دخیره فایل حاوی دادهها در مسیر %APPDATA% ایجاد میشود. نام این پوشهها تصادفی بوده و با یک کاراکتر بزرگ شروع می شود. بدافزار ابتدا نشانی های رابطهای برنامهنویسی نرمافزار را باز میگرداند و اجرا شدن آنها را تحت WOW64 بررسی میکند. در ادامه از روی GUID یک CLSID ایجاد میشود. سپس بخش 0x32c کد را رمزگشایی می کند. داده رمزگشایی شده محل دانلود فایل را مشخص میسازد.
فایل اجرایی بدافزار می تواند بهمراه پارامتر نیز اجرا شود. در صورت اجرای فایل با پارامتر i، اطلاعات بدافزار، مطابق شکل زیر، نمایش داده میشود:
در ادامه بررسی میکند که فایل نصبکننده بدافزار (Dropper) است یا خود یک بدافزار نصب شده است. اگر یک فایل نصبکننده بدافزار باشد، خود را اجرا و سپس پروسهاش را عزل می کند. در غیر اینصورت، دادههای مربوطه را که شامل اطلاعات بدافزار نصب شده است رمزگشایی و از طریق GUID و CLSID محل نصب آنرا بررسی میکند.
بدین ترتیب، بدافزار اطمینان حاصل میکند که فایل نصب شده بر روی سیستم دیگر، حتی بصورت دستی، اجرا نخواهد شود.
پس از آن، کد خود را در حافظه ویرایش کرده و فرمان را به کد ویرایش شده منتقل میکند. این کد ویرایش شده برخی اطلاعات سیستم همچون نام سیستم، عنوان سیستم عامل وتاریخ نصب را جمعآوری می کند. ضمن اینکه زمان ایجاد و تغییر فایل اجرایی بدافزار نصب شده، فایل حاوی دادهها و زمان اجرای فایل بدافزار نصب شده را نیز تغییر میدهد. بعد از نصب شدن بدافزار، پروسه والد متوقف شده و فایل آن حذف میشود. از آن پس، بدافزار نصب شده مسئول تزریق رشته های اجرایی به پروسههای ریموت خواهد شد.
رشتههای اجرایی ریموت اقدام به خرابکاری های زیر می کنند:
– اگر نام پروسه با یکی از پروسههای فهرست شده زیر یکی باشد، کد تزریق شده، رشتههای اجرایی محلی مخرب بیشتری ایجاد خواهد کرد:
dwm.exe, taskhost.exe, taskeng.exe, wscntfy.exe, ctfmon.exe, rdpclip.exe, explorer.exe
– بررسی کوکیهای کاربر وارد شده به سیستم (در مسیر Cookies\Low)
– سرقت و حذف گواهینامهها، کلیدهای خصوصی مرتبط، رمزگذاری و ذخیره آنها در فایل حاوی دادهها
– تنظیمات Windows Live Mail و Outlook را بر می گرداند.
– سرقت اطلاعات نرمافزارهای FTP زیر:
FlashFXP: دادههای مرتبط با مقدار “datafolder” را از کلید HKLM\SOFTWARE\FlashXP\3 سرقت میکند
Total Commander: برگرداندن داده های مرتبط با مقدار “ftpininame” و “installdir” از کلیدهای HKCU\SOFTWARE\Ghisler\Total Commander و SOFTWARE\Ghisler
WS_FTP: داده های مرتبط با مقدار “datadir” را از مسیر SOFTWARE\ipswitch\ws_ftp بر می گرداند
FileZilla: جستجوی فایلهای با پسوند xml در پوشه %PROGRAMFILES%
Far Manager FTP: اطلاعاتی همچون “hostname”، “username”، “user” و “password” را از محضرخانه بر می دارد
WinSCP: اطلاعاتی همچون WinSCPWinSCP: “hostname”، “portnumber”، “username” و “password” از محضرخانه
FTPCommander: جستجوی فایل “ftplist.txt” در پوشه های با نام “ftp*commander* در مسیرهای %APPDATA% و %PROGRAMFILES%
CoreFTP: اطلاعات “host”، “port”، “user” و “pw” را از محضرخانه برمیدارد
SmartFTP: اطلاعات “personal favorites” و “folder” را از محضرخانه برمیدارد
همچنین حساسیت امنیتی مرورگر Internet Explorer را از طریق کلیدهای زیر کاهش می دهد:
– HKCU\Software\Microsoft\Internet Explorer\Privacy CleanCookies = 0x00000000
– HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones 1609 = 0x00000000
– HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\11406 = 0x00000000
– HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\11609 = 0x00000000
– HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\21609 = 0x00000000
– HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\31406 = 0x00000000
– HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\31609 = 0x00000000
– HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\41406 = 0x00000000
– HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\41609 = 0x00000000
یکی از رشته های اجرایی محلی اطلاعات سرقت شده را رمز کرده و در فایل حاوی داده ها که پیشتر توسط پروسه والد ایجاد شده بود ذخیره می کند.
همچنین یکی دیگر از رشته های محلی با ایجاد کلید زیر از اجرا شدن بدافزار نصب شده در هر بار راه اندازی سیستم اطمینان حاصل می کند:
– HKCU\Software\Microsoft\Windows\Currentversion\Run CLSID = “%APPDATA\[Random folder name]\[Random Filename]”
پس از آن برای دریافت فرامین اقدام به شنود به درگاه هایی با شماره های تصادفی می کند.
تزریق کد HTML در تبادلات بانکی مبتنی بر SSL
با گسترش سایت های بانکی، شبکه های مخرب سارق رمز مانند Zeus با دست اندازی در کد HTML صفحات وب بانکی اطلاعات شخصی بیشتری را در طول تراکنش جمع آوری می کند. این روش کاربران را وادار می سازد اطلاعات بیشتری را در صفحه دستکاری شده وارد کنند.
شکل زیر تصویر صفحه را قبل از دست اندازی نشان می دهد:
شکل زیر نیز تصویر همان صفحه که در آن فیلدی توسط بدافزار بدان اضافه شده است را نمایش می دهد:
مرکز فرماندهی شبکه مخرب
نسخه اصلی بدافزار دارای یک واسط کنترلی است که نفوذگر را قادر به رصد کردن آلودگی های شبکه های مخرب می کند. این واسط کنترلی که به زبان PHP نوشته شده است می تواند بر روی یک سرور وب بهمراه نرم افزار بانک داده های MYSQL اجرا شود. همچنین این ابزار نفوذگر را قادر می سازد که از راه دور کنترل و فرامین را به سیستم قربانی ارسال کند.
از طریق این واسط کنترلی می توان فرامین زیر را اجرا کرد:
– ‘reboot‘ => ‘Reboot computer.’,
– ‘kos‘ => ‘Kill OS.’,
– ‘shutdown‘ => ‘Shutdown computer.’,
– ‘bc_add [service] [ip] [port]‘ => ‘Add backconnect for [service] using server witn address [ip]:[port].’,
– ‘bc_del [service] [ip] [port]‘ => ‘Remove backconnect for [service] (mask is allowed) that use connection to [ip]:[port] (mask is allowed).’,
– ‘block_url [url]‘ => ‘Disable access to [url] (mask is allowed).’,
– ‘unblock_url [url]‘ => ‘Enable access to [url] (mask is allowed).’,
– ‘block_fake [url]‘ => ‘Disable executing of HTTP-fake/inject with mask [url] (mask is allowed).’,
– ‘unblock_fake [url]‘ => ‘Enable executing of HTTP-fake/inject with mask [url] (mask is allowed).’,
– ‘rexec [url] [args]‘ => ‘Download and execute the file [url] with the arguments [args] (optional).’,
– ‘rexeci [url] [args]‘ => ‘Download and execute the file [url] with the arguments [args] (optional) using
– ‘lexec [file] [args]‘ => ‘Execute the local file [file] with the arguments [args] (optional).’,
– ‘lexeci [file] [args]‘ => ‘Execute the local file [file] with the arguments [args] (optional) using interactive
– ‘addsf [file_mask…]‘ => ‘Add file masks [file_mask] for local search.’,
– ‘delsf [file_mask…]‘ => ‘Remove file masks [file_mask] from local search.’,
– ‘getfile [path]‘ => ‘Upload file or folder [path] to server.’,
– ‘getcerts’ => ‘Upload certificates from all stores to server.’,
– ‘resetgrab’ => ‘Upload to server the information from the protected storage, cookies, etc.’,
– ‘upcfg [url]‘ => ‘Update configuration file from url [url] (optional, by default used standard url)’,
– ‘rename_bot [name]‘ => ‘Rename bot to [name].’,
– ‘getmff’ => ‘Upload Macromedia Flash files to server.’,
– ‘delmff’ => ‘Remove Macromedia Flash files.’,
– ‘sethomepage [url]‘ => ‘Set homepage [url] for Internet Explorer.’
مرکز فرماندهی نقطه به نقطه
نمونه های جدید ZBot، ساختاری جدید در شبکه های مخرب معرفی کرده اند. در شبکه های مخرب سنتی هر ماشین آلوده لازم تنها به یک مرکز فرماندهی متصل می شود. در این روش، فرامین، به روز رسانی ها و دانلودهای بدافزار تنها از آن سرور به شبکه مخرب ارسال می شود. نقطه ضعف این روش آنست که در صورت از کار افتادن سرور، کل شبکه مخرب از کار می افتد. برای حذف این اشکال، نویسندگان بدافزار روش جدیدی مبتنی بر مرکز فرماندهی با اتصالات نقطه به نقطه ابداع کردند. در شبکه نقطه به نقطه، یک سرور مرکزی وجود ندارد. هر سیستم آلوده قادر به برقراری ارتباط با سیستمهای آلوده دیگر است و می تواند از این طریق فرامین، به روز رسانی ها و بدافزار را دریافت و یا ارسال کند. با از کار افتادن هر یک از این سیستمها شبکه همچنان پابرجا خواهد ماند. یکی دیگر از مزایای این روش آنست که کشف گردانندگان شبکه مخرب بسیار دشوار خواهد بود چرا که شبکه می تواند از زنجیره ای طولانی ایجاد شده باشد. شکل ساختار شبکه ZBot را نمایش می دهد:
در نمونه های اخیر ZBot، بدافزار در دو مرحله اقدام به برقراری ارتباط می کند. در مرحله اول، بسته های مبتنی بر پودمان UDP، داده های رمز شده را به فهرستی از نشانی های IP که بدافزار در کد خود دارد ارسال می کنند. در یک نمونه بررسی شده، بدافزار به نشانی های زیر متصل می شود:
– 111.125.64.162 UDP port: 19098
– 89.115.18.9 UDP port: 11071
– 91.200.212.206 UDP port: 15988
– 182.68.230.48 UDP port: 25522
– 96.37.232.167 UDP port: 15331
– 190.224.55.150 UDP port: 19962
– 65.103.252.159 UDP port: 29747
– 79.56.118.196 UDP port: 14673
– 186.184.50.109 UDP port: 12471
– 77.28.98.208 UDP port: 16341
– 187.118.236.112 UDP port: 10682
– 223.178.85.104 UDP port: 24985
– 24.54.127.173 UDP port: 13701
– 201.53.26.72 UDP port: 21933
– 125.162.160.46 UDP port: 23947
– 171.4.218.149 UDP port: 29644
– 74.234.107.252 UDP port: 25975
– 75.72.23.43 UDP port: 12700
– 79.29.102.6 UDP port: 29776
– 87.24.18.2 UDP port: 22492
پس از اتمام مرحله اول، ZBot یک درخواست DNS به یک سایت شناخته شده (مانند google.com) صادر می کند و سپس با استفاده از فرمان HTTP GET نشانی IP آنرا برای بررسی متصل بودن به اینترنت را اجرا می کند. در صورت متصل بودن به اینترنت، بدافزارمی کوشد تا با سیر سیستم های آلوده در شبکه نقطه به نقطه ارتباط برقرار کند.
شبکه نقطه به نقطه ZBotبا پودمان HTTP اجرا می شود. در هر سیستم آلوده، یک سرویس دهنده HTTP راه اندازی می شود که از طریق آن ارتباطات سایر سیستم های آلوده را قبول می کند. برای این منظور دامنه ای با نامی تصادفی و یکی از پسوندهای زیر ثبت می شود:
.biz, .com, .info, .net, .org, .ru
با ثبت شدن دامنه، سیستم آلوده درخواست GET را برای برگرداندن نشانی IP بر روی پودمان TCPو درگاه 80 اجرا می کند.
سیستم آلوده پس از اتصال به 1000 نشانی URL به مرحله اول ارتباط باز می گردد.
Zbot بعنوان یک آلوده کننده فایل
نمونه های اخیر Zbot از روش های انتشار سنتی نیز برای آلوده کردن فایل های اجرایی بهره می گیرند. بمحض آلوده شدن سیستم، بدافزار، کد آلوده کننده را رمزگشایی و در حافظه سیستم اجرا می کند. قبل از اعمال آلودگی، بدافزار با بررسی HKEY_CURRENT_USER\Software\Microsoft\Microsoft نصب یا نصب نبودن بدافزار را بررسی می کند. همچنین خود را به explorer.exe تزریق می کند و به آلوده ساختن فایلهای اجرایی بر روی سیستم قربانی ادامه می دهد.
در ادامه با اتصال به سرورهای از پیش تعیین شده در کد، فایل هایی با نام tmp[random number].tmp را دریافت و در پوشه %TEMP% ذخیره می کند.
در ادامه Zbot اقدام به سرقت اطلاعات بانکی می کند.
تصویربرداری در زمان کلیک
در سالهای اخیر، سایتهای بانکی با استفاده از تکینک صفحه کلید مجازی سعی در مقابله با بدافزارهای Keylogger دارند. بدافزار Zeus با تصویربرداری از صفحه در هر بار کلیک کاربر، از سد این قابلیت امنیتی عبور می کند.
یکی از هوشمندانه ترین روشهای مورد استفاده Zbot، استفاده از ()TranslateMessage، تابعی که کدهای کلید مجازی را به کاراکترهای قابل خواندن تبدیل می کند است.
ZBot بعنوان بدافزاری برای موبایلها
نمونه های جدیدی از Zbot، با آلوده کردن گوشی اقدام به سرقت شماره های ذخیره شده بر روی آن می کند. این بدافزار این کار را با ارسال یک لینک مخرب به یک شماره ثبت شده انجام می دهد.
لینک مزبور به یک فایل SIS بنام cert.sis اشاره می کند. پیامک ارسالی خود را بعنوان یک به روز رسانی از سوی شرکت Nokia جا می زند.
برنامه مخرب، که با نام SymbOs/Zbot شناسایی می شود بمحض اجرا شدن، پیامکی با پیام App installed ok به شماره 447781481725+ ارسال می کند.
SymbOs/Zbot قابلیتهای زیر را دارا می باشد:
– پیامک را به یک شماره تلفن اراسال کند.
– انتقال پیامک رسیده به شماره تماس سرور فرماندهی
– به روز کردن سرور فرماندهی و هدف قرار دادن شماره تماس از طریق پیامک
شکل زیر نمای باز شده فایل مخرب را نمایش می دهد:
اسب تروا قادر به ارسال و دریافت فرامین زیر می باشد:
set admin: با این فرمان شماره سرور فرماندهی، تنها در حافظه تغییر می کند.
SET ADMIN: شماره فعلی سرور فرماندهی در مسیر c:\private\20022b8e\Settings2.dat نوشته می شود.
ON: ارسال با پیامک هایی که از شماره هایی که با فرامین SET SENDER و ADD SENDER به شماره دریافت شده است آغاز می شود.
BLOCK OFF: بنظر می رسد سبب می شود که کلاینت همه فرامین را قبول کند هر چند که ممکن است این فرامین توسط دستگاه نادیده گرفته شوند. وضعیت فرمان block در فایل Settings2.dat ذخیره می شود.
<SET SENDER <number: که در آن number، شماره تلفن رصد یا ارسال شده است. همه شماره ها از مسیر c:\private\20022b8e\NumbersDB.db حذف و شماره مشخص شده در NumbersDB.db نوشته می شود.
<ADD SENDER<number1>,<number2>,…,<number n: که در آن number، شماره تلفن رصد یا ارسال شده است. همه شماره های مشخص شده در NumbersDB.db نوشته می شوند.
ADD SENDER ALL: همه پیامک ها را ارسال می کند.
پيشگيری
به روز نگه داشتن ضدويروس، نصب آخرين اصلاحيه های سيستم عامل و مرورگر در کنار آگاه کردن کاربران در خصوص خطر کليک بر روی لينکهای ناآشنا، و پرهيز از بازکردن پیوست نامه های مشکوک، همگی با هم می توانند خطر آلوده شدن به اين ويروس و يا گونه های مشابه را به حداقل برساند.
ضدویروس McAfee با فایل های اطلاعاتی شماره 7461 و بالاتر قادر به شناسایی و پاکسازی این ویروس می باشد. شرکت McAfee ابزار رایگان Stinger را برای شناسایی و پاکسازی این بدافزار در اختیار همگان قرار داده است. این ابزار از مسیرهای زیر قابل دریافت میباشد: