در بخش اول مطلب بررسی تخصصی حمله سایبری به صدا و سیما گفتیم که در چند ماه گذشته، موج جدیدی از حملات سایبری ایران را فرا گرفته است. این حملات بههیچوجه به سادگی تخریب چهرهی وبسایتها نیستند؛ این موج جدید زیرساختهای ملی را هدف گرفته و اختلالاتی اساسی در خدمات عمومی ایجاد کرده است. سپس به تجزیهوتحلیل عمیق حمله انجام شده به صدا و سیما پرداختیم.
استفاده از بدافزار Wiper در حمله سایبری به صدا و سیما
دو نمونهی NET.مشابه به نام msdskint.exe پیدا شد که هدف اصلی آنها پاک کردن درایورها، MBR و فایلهای رایانه بود. این موضوع را میتوان از مسیر PDB نیز متوجه شد: C:\work\wiper\Wiper\obj\Release\Wiper.pdb. بهعلاوه، بدافزار این قابلیت را دارد که Windows Event Logs را پاکسازی کند، پشتیبانگیریها را حذف کند، فرایندها را قطع کند، رمزهای عبور کاربر را تغییر دهد و غیره. هر دو نمونه توسط ارسالکنندگان یکسان و در بازه زمانی یکسانی با Artifactهای قبلی در VT آپلود شدند.
شکل ۳ – شرح کلی قابلیتهای بدافزار Wiper
بدافزار Wiper دارای سه حالت برای آلودهسازی فایلها است و بایتها را با ارزشهای تصادفی پر میکند.
- پیشفرض – ۲۰۰ بایت اول از هر بخش از ۱۰۲۴ بایت در فایل را بازنویسی میکند.
- light-wipe – چندین بخش که در پیکربندی مشخص شدهاند را بازنویسی میکند.
- full_purge – کل محتوا را بازنویسی میکند.
بدافزار Wiper پیکربندی خود، برای فرایند پاکسازی را از یکی از سه راه زیر دریافت میکند:
- در آرگومانهای خط فرمان
- از پیکربندی پیشفرض هاردکد شده
- فهرست مستثنی کردن در فایل <code>meciwipe.ini</code>
پیکربندی پیشفرض حاوی یک فهرست از پیش تعریف شده از استثناهایی است که مربوط به سیستم عامل ویندوز و محصولات امنیتی Symantec و Kaspersky هستند که در ایران بصورت گسترده مورد اسستفاده قرار میگیرند
“-light-wipe”, “3”,
“-stop-iis”,
“-logs”,
“-shadows”,
“-processes”,
“*sql”,
“-mbr”,
“-fork-bomb”,
“-wipe-all”,
“-wipe-stage-2”,
“-wipe-exclude”, “C:\\\\Windows”,
“-wipe-exclude”, “C:\\\\$Recycle.Bin”,
“-wipe-exclude”, “C:\\\\$WinREAgent”,
“-wipe-exclude”, “C:\\\\Config.Msi”,
“-wipe-exclude”, “C:\\\\Recovery”,
“-wipe-exclude”, “C:\\\\Program Files\\\\IBM\\\\*”,
“-wipe-exclude”, “C:\\\\System Volume Information”,
“-wipe-exclude”, “C:\\\\Program Files\\\\Symantec*”,
“-wipe-exclude”, “C:\\\\Program Files (x86)\\\\Symantec*”,
“-wipe-exclude”, “C:\\\\Program Files\\\\Kaspersky*”,
“-wipe-exclude”, “C:\\\\Program Files (x86)\\\\Kaspersky*”,
“-wipe-exclude”, “C:\\\\Program Files\\\\Microsoft*”,
“-wipe-exclude”, “C:\\\\Program Files (x86)\\\\Microsoft*”,
“-wipe-exclude”, “C:\\\\Program Files\\\\Windows*”,
“-wipe-exclude”, “C:\\\\Program Files (x86)\\\\Windows*”
اگر بدافزار هیچ آرگومانی نداشته باشد، بهعنوان سرویسی به نام «Service1» اجرا میشود.
تابع اصلی بدافزار Wiper مقدار Hash FNV1A32 را از هر آرگومانی محاسبه کرده و از آن برای اقدام لازم استفاده میکند:
آرگومان | گزینهها | اقدام |
“-mbr” | – | فعالسازی DestroyMBR Flag |
“-fork-bomb” | شروع دو Instance دیگر از Wiper با استدلال “-fork-bomb” | |
“-sessions” | – | قطع Sessionهای کاربران دیگر با دستورات CMD: logoff {0} and rwinsta {0} |
“-delete-users” | file_path یا فهرست کاربران (* = تمام کاربران) | حذف کاربران مشخص با استفاده از دستور CMD: net user {0} /delete |
“-break-users” | file_path یا فهرست کاربران (* = تمام کاربران) | قطع ارتباط کاربران بهخصوص با تغییر رمز عبور آنها به یک رشتهی تصادفی ۸-byte با ضمیمهی «aA1!» |
“-logs” | – | حذف رخدادها از Windows Event Log با استفاده از دستور CMD: for /F \”tokens=*\” %1 in (‘wevtutil.exe el’) DO wevtutil.exe cl \”%1\” |
“-passwords” | – | هیچ |
“-shadows” | – | نابود کردن Shadow Copyها با استفاده از دستور CMD: echo delete shadows all > 1.s && diskshadow /s 1.s && del 1.s |
“-start-iis” | – | شروع Internet Information Services یا IIS با iisreset /start |
“-stop-iis” | – | متوقف کردن Internet Information Services یا IIS با iisreset /stop |
“-config” | file_path | خواندن آرگومانها از فایل پیکربندی مشخص |
“-light-wipe” | سایز | آلوده کردن سایز مشخصی از قطعههای ۱۰۲۴ بایتی در یک فایل |
“-wipe-exclude” | فهرستی از دایرکتوریها | اضافه کردن دایرکتوریهایی که Wiper آنها را پاک نمیکند |
“-delete” | – | فعالسازی delete_files Flag که به معنای حذف فایلها پس از آلودگی است |
“-processes” | file_path یا فهرست فرایندها (* = تمام فرایندها) | حذف فرایندهای مشخص با استفاده از دستور CMD: taskkill /PID {0} /f |
“-wipe-stage-2” | – | فعالسازی wipe_stage_2 Flag که به معنای پاکسازی فایلها با روش پیشفرض و سپس حذف آنها است |
“-purge” | – | فعالسازی full_purge Flag که به معنای آلوده کردن کل فایل، نه فقط چندین بخش است |
“-wipe-only” | file_path یا فهرستی از فایلها | اضافه کردن یک فهرست از فایلها برای پاکسازی |
“-wipe-all” | – | پاکسازی تمام فایلها با افزونههای تحت پشتیبانی |
DestroyMBR Flag به بدافزار این قابلیت را میدهد که با نوشتن یک باینری Encodeشده توسط base64 بهصورت هاردکدشده به فایل precg.exe و سپس اجرای آن MBR را پاکسازی کند. precg.exe یک MBRKiller برمبنای Gh0stRAT MBR Wiper است.
فرایند Wiping اصلی با جستجوی آخرین فایل پاکسازیشده آغاز میشود. بدافزار مسیر خود را به فایلی با نام lastfile (یا در wipe_stage_2 با نام lastfile2) مینویسد. سپس، هر فایل چک میشود تا مشخص گردد که آیا مستثنی شده است یا افزونهی آن در فهرست از پیش تعریفشدهی زیر قرار دارد یا خیر:
“.accdb”, “.cdx”, “.dmp”, “.h”, “.js”, “.pnf”, “.rom”, “.tif”, “.wmdb”, “.acl”, “.cfg”, “.doc”, “.hlp”, “.json”, “.png”, “.rpt”, “.tiff”, “.wmv”, “.acm”, “.chk”, “.docx”, “.hpi”, “.lnk”, “.pps”, “.rsp”, “.tlb”, “.xdr”, “.amr”, “.com”, “.dot”, “.htm”, “.log”, “.ppt”, “.sam”, “.tmp”, “.xls”, “.apln”, “.cpl”, “.drv”, “.html”, “.lst”, “.pptx”, “.scp”, “.tsp”, “.xlsx”, “.asp”, “.cpx”, “.dwg”, “.hxx”, “.m4a”, “.pro”, “.scr”, “.txt”, “.xml”, “.avi”, “.dat”, “.eml”, “.ico”, “.mid”, “.psd”, “.sdb”, “.vbs”, “.xsd”, “.ax”, “.db”, “.exe”, “.inc”, “.nls”, “.rar”, “.sig”, “.wab”, “.zip”, “.bak”, “.dbf”, “.ext”, “.ini”, “.one”, “.rar”, “.sql”, “.wab~”, “.bin”, “.dbx”, “.fdb”, “.jar”, “.pdf”, “.rdf”, “.sqlite”, “.wav”, “.bmp”, “.dll”, “.gif”, “.jpg”, “.pip”, “.resources”, “.theme”, “.wma”, “.config”, “.mxf”, “.mp3”, “.mp4”, “.cs”, “.vb”, “.tib”, “.aspx”, “.pem”, “.crt”, “.msg”, “.mail”, “.enc”, “.msi”, “.cab”, “.plb”, “.plt”
حالت full_purge که تمام بایتهای فایل را بازنویسی میکند، همیشه برای فایلها از فهرست <code>the purge_extensions</code> فعال است:
“.json”, “.htm”, “.log”, “.html”, “.lst”, “.txt”, “.xml”, “.vbs”, “.inc”, “.ini”, “.sql”
اگر delete_files Flag فعال باشد، بدافزار Wiper همچنین پس از بازنویسی فایلها، آنها را حذف میکند.
Artifactهای جرمشناسی بیشتری هم پیدا شده است که همراه با نمونههای Wiper ارسال شده بودند و اثبات میکنند که Wiper در یک محیط تلویزیونی اجرا شده بود.
- lastfile2 حاوی مسیر به آخرین فایل پاکسازی شده: C:\users\tpa\videos\captures\desktop.ini این فایل فقط درصورتی ایجاد میشود که Wiper در حالت wipe_stage_2 اجرا شود که این امر پس از پاکسازی فرایندها، فایلها را حذف میکند.
- فایل breakusufjkjdil.bat که نشان میدهد حداقل یک مورد از Wiper قرار بوده با هدف قطع نشستهای کاربر موجود اجرا شود و رمزهای عبور را برای تمام کاربران تغییر دهد: “c:\windows\temp\msdskint.exe” -break-users * -sessions
- فایل Event Viewer Application Log رخدادهایی را نشان میدهد که به سرویس Wiper یعنی Service1 مربوط هستند. Logها حاوی یک مهر زمانی هستند که چند ساعت پس از حمله را نشان میدهد.
شکل ۵ – Logهای Windows Event Viewer اجرای Wiper را در محیط تلویزیون نشان میدهد.
منبع:
https://research.checkpoint.com/2022/evilplayout-attack-against-irans-state-broadcaster