جدول محتوا
بدافزارهای (IsaacWiper و HermeticWizard): حملهی سایبری مخرب روسیه به زیرساختهای اوکراین
پس از شروع درگیریهای اخیر بین روسیه و اوکراین، محققان ESET چندین خانواده بدافزار کشف کردند که در حال حمله به سازمانهای اوکراینی بودند:- روز ۲۳ فوریه ۲۰۲۲، حمله مخربی با استفاده از HermeticWiper چندین سازمان اوکراینی را هدف قرار داد.
- این حمله چندین ساعت پیش از شروع اشغال اوکراین توسط نیروهای روسیه آغاز شد.
- در سازمانهای مختلف از روشهای مختلفی برای گرفتن دسترسی اولیه به شبکهی قربانی استفاده شده بود. ما تایید میکنیم که در یک مورد Wiper توسط GPO منتشر شده و همچنین وجود کرمی را کشف کردیم که از آن برای گسترش Wiper در شبکهی قربانی دیگری استفاده شده بود.
- مشخصات بدافزارها حاکی از آن هستند که حمله از چند ماه قبل برنامهریزی شده بوده است.
- روز ۲۴ فوریه ۲۰۲۲، حملهی مخرب دیگری علیه یک شبکه دولتی اوکراین با استفاده از یک Wiper آغاز شد که ما ان را IsaacWiper نامیدهایم.
- محققان ESET هنوز نتوانستهاند دریابند چه گروه هکری شناختهای شدهای مسئول این حملات بوده است.
حملات مخرب در اوکراین
همانطور که محققان ESET پیشتر در این توییت و پست وبلاگ WLS اعلام کردند، ما یک حملهی مخرب علیه رایانهها در اوکراین را کشف کردیم که حوالی ساعت ۱۴:۵۲ روز ۲۳ فوریه سال ۲۰۲۲ به وقت ساعت جهانی (UTC) آغاز شد. این حمله کمی پس از حملات DDoS علیه وبسایتهای مهم اوکراین و چند ساعت قبل از حملهی نظامی روسیه صورت گرفت. این حملات مخرب از حداقل سه مولفهی اصلی زیر تشکیل میشدند:- HermeticWiper: که از طریق خراب کردن دادهها سیستم را غیرقابل استفاده میکند.
- HermeticWizard: که از طریق WMI و SMB، بد افزار HermeticWiper را در شبکهی محلی پخش میکند.
- HermeticRansom: باج افزاری که به زبان Go نوشته شده است.
مسئولیت حمله
ما تا کنون نتوانستهایم ارتباط قابل استنادی بین حملات و گروه مخرب شناخته شدهای پیدا کنیم. کد HermeticWiper، HermeticWizard و HermeticRansom هیچ شباهت قابل ملاحظهای با دیگر نمونههای موجود در مجموعه بدافزارهای ESET ندارند. گروه مسئول طراحی IsaacWiper را نیز شناسایی نکردهایم.زمانبندی
HermeticWiper و HermeticWizard توسط گواهینامهی امضای کد (شکل ۱) متعلق به Hermetica Digital Ltd امضا شدهاند که روز ۱۳ آوریل ۲۰۲۱ صادر شده است. ما از شرکت صادرکننده (DigiCert) درخواست کردیم که این گواهینامه را ابطال کنند، و آنها روز ۲۴ فوریه ۲۴ این کار را انجام دادند.شکل ۱. گواهینامه امضای کد صادر شده برای Hermetica Digital Ltd
طبق گزارش رویترز، بنظر میرسد این گواهینامه از Hermetica Digital سرقت نشده است. احتمال میرود که حمله کنندگان برای دریافت این گواهینامه از DigiCert تظاهر کردهاند به شرکت Cypriot تعلق دارند. محققان ESET با اطمینان زیاد اعلام میکنند که امنیت سازمانهای مورد حمله قرار گرفته پیش از استقرار Wiperهای مربوطه، به خطر افتاده بوده است. این نتیجهگیری بر اساس چند نکته صورت گرفته که عبارتند از:- برچسبهای زمان مرتبط با تاریخ کامپایل (فایل PE) HermeticWiper، که قدیمیترین آن روز ۲۸ دسامبر سال ۲۰۲۱ است.
- تاریخ صدور گواهینامه امضای کد در ۱۳ آوریل ۲۰۲۱
- یکی از موارد استقرار HermeticWiper از طریق GPO حاکی از آن است که حمله کنندگان از قبل به اکتیودایرکتوری (Active Directory) قربانی دسترسی داشتند.
شکل ۲. گاهشمار وقایع حملهی سایبری
دسترسی اولیهی HermeticWiper
در حال حاضر اطلاعاتی درباره بردار دسترسی اولیه در دست نیست، ولی ما مولفههای Lateral Movement در سازمانهای قربانی را تحت بررسی قرار دادهایم. در یک مورد، همانطور که در مسیر ذیل در سیستم میتوان مشاهده کرد، Wiper از طریق پالیسی دامین پیشفرض (default domain policy - GPO) مستقر شده است.C:Windowssystem32GroupPolicyDataStore sysvol<redacted>Policies{31B2F340-016D-11D2-945F-00C04FB984F9}Machinecc.exe
این مساله نشان میدهد که حمله کنندگان بر سرور اکتیو دایرکتوری کنترل داشتهاند. در موارد دیگر احتمال میرود که از Impacket برای استقرار HermeticWiper استفاده شده باشد. پست وبلاگ شرکت Symantec ادعا میکند که Wiper با استفاده از خط فرمان زیر وارد سازمانها شده است:cmd.exe /Q /c move CSIDL_SYSTEM_DRIVEtempsys.tmp1 CSIDL_WINDOWSpolicydefinitionspostgresql.exe 1> 127.0.0.1ADMIN$__1636727589.6007507 2>&1
بخش آخر مشابه رفتار wmiexec.py در ابزار Impacket است که در این صفحهی Github میتوانید آن را مشاهده کنید. در نهایت اینکه، برای توزیع بدافزار HermeticWiper در شبکههای قربانی از طریق SMB و WMI از کرم شخصیسازی شدهای استفاده شده است که آن را HermeticWizard نامیدهایم.IsaacWiper
در حال حاضر بردار دسترسی اولیه، شناخته شده نیست. احتمال دارد که حمله کنندگان از ابزارهایی مانند impacket استفاده کرده باشند. ما متوجه شدیم که در چند سیستم، RemCom که ابزار دسترسی ریموت است همزمان با IsaacWiper مستقر شده است.تحلیلهای فنی تکنیکی
HermeticWiper HermeticWiper یک فایل قابل اجرای ویندوزی است که چهار درایور در آن جاسازی شده است. این درایورها متعلق به نرمافزار EaseUS Partition Master هستند که توسط CHENGDU YIWO Tech Development Co امضا شده است و عملیاتهای سطح پایین روی دیسک انجام میدهند. فایلهای ذیل در آنها مشاهده شده است:- 0E84AFF18D42FC691CB1104018F44403C325AD21: x64 driver
- 379FF9236F0F72963920232F4A0782911A6BD7F7: x86 driver
- 87BD9404A68035F8D70804A5159A37D1EB0A3568: x64 XP driver
- B33DD3EE12F9E6C150C964EA21147BF6B7F7AFA9: x86 XP driver
C:WindowsSystem32drivers<4 random letters>.sys
قرار داده شده و پس از آن شروع به ایجاد سرویس میکند. سپس HermeticWiper سرویس Volume Shadow Copy را غیر فعال کرده و در نهایت خودش را با نوشتن بیتهای تصادفی جدید روی فایل خود، از روی دیسک پاک میکند که به احتمال زیاد این فرایند برای پیشگیری از تحلیل بدافزار توسط تحلیلگران، انجام شده است. جالب است بدانید که اکثر عملیاتهای فایل در سطح پایین و با استفاده از فراخوانی تابع DeviceIoControl انجام میشود. در ادامه فضاهای زیر با استفاده بیتهای تصادفی تولید شده توسط تابع CryptGenRandom رونویسی میشوند.- The master boot record (MBR)
- The master file table (MFT)
- $Bitmap and $LogFile on all drives
- The files containing the registry keys (NTUSER*)
- C:WindowsSystem32winevtLogs
- نمونهای از HermeticWiper
(912342F1C840A42F6B74132F8A7C4FFE7D40FB77)
- dll، مسئول گسترش به دیگر کامپیوترهای محلی از طریق WMI
(6B5958BFABFE7C731193ADB96880B225C8505B73)
- dll، مسئول گسترش به دیگر کامپیوترهای محلی از طریق SMB
(AC5B6F16FC5115F0E2327A589246BA00B41439C2)
منابع با استفاده از یک لوپ معکوس XOR رمزنگاری شدهاند. هر بلاک متشکل از چهار بایت توسط XOR به بلاک قبلی متصل شده است. بلاک اول هم با کد اختصاصی 0x4A29B1A3 به صورت XOR رمزنگاری شده است. HermeticWizard با استفاده از خط فرمانregsvr32.exe /s /i
فعالیت خود را شروع می کند. HermeticWizard نخست سعی میکند دیگر دستگاههای موجود در شبکه محلی را پیدا کند. این بدافزار با استفاده از تابعهای زیر در ویندوز، IP آدرس محلی شناخته شده را جمع آوری میکند:- DNSGetCacheDataTable
- GetIpNetTable
- WNetOpenEnumW(RESOURCE_GLOBALNET, RESOURCETYPE_ANY)
- NetServerEnum
- GetTcpTable
- GetAdaptersAddresses
regsvr32.exe /s /i:-s <path>
کل بازهی آدرس /24 را اسکن میکند. بنابراین اگر 192.168.1.5 برای مثال در حافظهی DNS پیدا شود، به طور تدریجی از 192.168.1.1 تا 192.168.1.254 را اسکن میکند. در هر IP آدرس سعی میکند اتصال TCP با پورتهای ذیل برقرار کند:- 20: ftp
- 21: ftp
- 22: ssh
- 80: http
- 135: rpc
- 137: netbios
- 139: smb
- 443: https
- 445: smb
rundll32 <6 random letters>.ocx #1 -s – i .
آغاز میکند. همین کار را نیز با منتشر کنندهی SMB انجام میدهد که در<6 random letters>.ocx
با حروف تصادفی متفاوتی منتشر میشود. در نهایت HermeticWiper را در محل<6 random letters>.ocx
قرار داده و اجرا میکند.انتشار دهندهی WMI
انتشار دهندهی WMI که توسعه دهندگانش، نام آن را exec_32.dll گذاشتهاند، دو آرگومان زیر را میپذیرد:- -i: آدرس IP هدف
- -s: فایل برای کپی و اجرای روی دستگاه مورد هدف
C:windowssystem32cmd.exe /c start C:windowssystem32regsvr32.exe /s /i C:windows<filename>.dll
پروسه جدیدی در دستگاه ریموت ایجاد میکند. توجه داشته باشید که از آرگومان -s برای HermeticWizard استفاده نمیشود، یعنی از این دستگاه هک شده برای اسکن کردن شبکه ریموت استفاده نمیشود. اگر روش WMI موفق نباشد، سعی میکند با استفاده از دستور فوق و OpenRemoteServiceManager سرویسی را ایجاد کند. اگر بتواند به هر روشی DLL ریموت را اجرا کند، غیر فعال میشود تا زمانی که بخواهد فایل ریموت را پاک کند.انتشار دهندهی SMB
انتشار دهندهی SMB که توسط توسعه دهندگانش، romance.dll نامیده شده است مانند انتشار دهندهی WMI دو آرگومان میپذیرد. نام آن احتمالا اشاره به اکسپلویت EternalRomance دارد، گرچه از اکسپلویت استفاده نمی کند. در مرحلهی اول سعی میکند به Pipeهای زیر در SMB share ریموت (روی پورت ۴۴۵) وصل شود:- samr
- browser
- netlogon
- lsarpc
- ntsvcs
- svcctl
— usernames —
guest
test
admin
user
root
administrator
manager
operator
— passwords —
123
Qaz123
Qwerty123
این لیست احراز هویت به طور عجیبی کوتاه بوده و گمان نمیرود که حتی در شبکههایی با امنیت بسیار ضعیف عمل کنند.
اگر ارتباط با موفقیت برقرار شود، انتشار دهنده سعی میکند فایلی را که در آرگومان -s مشخص شده است در ADMIN$ share قرار دهد. این انتشار دهنده هم مانند انتشار دهندهی WMI نام فایل ریموت را با فرا خواندن CoCreateInstance تولید میکند. سپس از طریق SMB خط فرمانcmd /c start regsvr32 /s /i .. & start cmd /c ”ping localhost -n 7 & wevtutil cl System”
را اجرا میکند.HermeticRansom
محققان ESET همچنین متوجه شدند که همزمان با حملات HermeticWiper، از HermeticRansom – باجافزاری که با زبان Go نوشته شده- هم در اوکراین استفاده شده است. استفاده از HermeticRansom نخستین بار در اوایل روز ۲۴ فوریه ۲۰۲۲ در توییتی توسط AVAST اعلام شد. Telemetry نشان میدهد که گسترهی استقرار HermeticRansom کمتر از HermeticWiper بوده است. این باج افزار همزمان با HermeticWiper و به احتمال زیاد به منظور پنهان کردن عملیات Wiper اجرا شده است. فعالیتها در یک ماشین به ترتیب زمانی ذیل بود:- 2022-02-23 17:49:55 UTC: HermeticWiper in C:WindowsTempcc.exe deployed
- 2022-02-23 18:06:57 UTC: HermeticRansom in C:WindowsTempcc2.exe deployed by the netsvcs service
- 2022-02-23 18:26:07 UTC: Second HermeticWiper in C:Userscom.exe deployed
C:WINDOWSsystem32GroupPolicyDataStore sysvolPolicies{31B2F340-016D-11D2-945F-00C04FB984F9}Machinecpin.exe
چند کاراکتر توسط حمله کنندگان در باینری فایل تعبیه شده است که اشاره به جو بایدن رییس جمهور آمریکا و کاخ سفید دارند.- _/C_/projects/403forBiden/wHiteHousE.baggageGatherings
- _/C_/projects/403forBiden/wHiteHousE.lookUp
- _/C_/projects/403forBiden/wHiteHousE.primaryElectionProcess
- _/C_/projects/403forBiden/wHiteHousE.GoodOffice1
تصویر ۳. پیام باجگیری HermeticRansom
«تنها چیزی که از انتخابات جدید یاد گرفتیم این است که هیچ درسی از انتخابات گذشته نگرفتهایم. از رای شما متشکریم. تمامی فایلها، داکیومنتها، تصاویر، ویدیوها و پایگاههای داده شما با موفقیت رمزگذاری شده اند! کامپیوتر شما اکنون یک آی.دی خاص دارد: 5fa60250-964c-8e7e-7054d28f8f2a سعی نکنید خودتان فایل را رمزگشایی کنید: امکان ندارد موفق شوید. این کسبوکار ما است و فقط سود برای ما اهمیت دارد. فقط با تماس با ما و دریافت دستورالعملهای بیشتر میتوانید فایلهای خود را پس بگیرید. برای این که ثابت کنیم رمزگشای فایلها را در اختیار داریم، فایلی کوچکتر از ۶۵۰ بایت برای ما بفرستید و ما رمزگشایی شده آن را برای شما میفرستیم. این تضمین ما است. نکته: فایلی با محتوی حساس نفرستید. در ایمیل آی.دی خاص کامپیوتر خود را ذکر کنید. بنابراین، اگر میخواهید فایلهای خود را پس بگیرید با ما تماس بگیرید:- ایمیل به آدرس vote2024forjb@photonmail.com
- اگر بعد از سه روز پاسخ ندادیم jone2024@photonmail.com
IsaacWiper
IsaacWiper در دو فرمت مختلف DLL یا EXE و بدون امضای Authenticode یافت میشود؛ این بدافزار روز ۲۴ فوریه ۲۰۲۲ روی Telemetry ما ظاهر شد. همانطور که قبل از این نیز گفتیم، قدیمیترین برچسب زمانی مرتبط با تاریخ کامپایل PE که پیدا کردیم متعلق به روز ۱۹ اکتبر ۲۰۲۱ است، یعنی اگر برچسب زمانی کامپایل آن دستکاری نشده باشد، به احتمال زیاد چند ماه پیش، از IsaacWiper در عملیاتهای قبلی استفاده شده است. نامی که در Export Directory (فایل PE) در نمونههای DLL استفاده شده، «Cleaner.dll» است و یک Export به نام «_Start@4» دارد. ما IsaacWiper را در آدرس %programdata% و C:WindowsSystem32 تحت نامهای زیر مشاهده کردیم:clean.exe
cl.exe
cl64.dll
cld.dll
cll.dll
کد آن شباهتی به HermeticWiper ندارد و میزان پیچیدگی آن نیز کمتر است. با توجه به زمانبندی، احتمال دارد که هر دو با هم مرتبط باشند ولی هنوز ارتباط قوی بین آنها پیدا نکردهایم. IsaacWiper عملیات خود را با شناسایی درایوهای فیزیکی شروع کرده و با فراخواندن DeviceIoControl با استفاده از IOCTL IOCTL_STORAGE_GET_DEVICE_NUMBER ، شماره دستگاه آنها را به دست میآورد. سپس با استفاده از مولد اعداد نیمه تصادفی Mersenne Twisterنخستین 0x10000 بایت اول هر دیسک را پاک میکند. این مولد با استفاده از GetTickCount مقداردهی اولیه میشود. سپس درایوهای منطقی را شماره گذاری کرده و با استفاده از بایتهای تصادفی تولید شده توسط Mersenne Twister PRNG تمام فایلهای هر دیسک را به طور بازگشتی پاک میکند. لازم به ذکر است IsaacWiper به صورت بازگشتی فایلها را در یک Thread پاک میکند، یعنی پاک کردن هر دیسک مدت زمان زیادی طول میکشد. روز ۲۵ فوریه ۲۰۲۲ حمله کنندگان نسخهی جدیدی از IsaacWiper را با لاگهای Debug در شبکهی قربانی قرار دادند. این مساله حاکی از آن است که حمله کنندگان نتوانستهاند برخی از سیستمهای هدف را پاک کنند و پیامهای لاگ را اضافه کردند تا متوجه شوند چه اتفاقی افتاده است. لاگها در آدرس C:ProgramDatalog.txt ذخیره شدند و برخی از پیامها به شرح ذیل بوده است:- getting drives…
- start erasing physical drives…
- –– start erasing logical drive
- start erasing system physical drive…
- system physical drive –– FAILED
- start erasing system logical drive