واحد Microsoft Threat Intelligence بدافزار NeedyMantis را شناسایی کرده است؛ خانوادهای ماژولار از بدافزارهای پس از نفوذ که در شمار محدودی از عملیات هدفمند مشاهده شده و سازمانهای مخابراتی، دانشگاهها، مؤسسههای خیریه پزشکی، سازمانهای بیندولتی و پیمانکاران دولتی را تحت تأثیر قرار داده است. بر اساس فعالیتهای مشاهدهشده، NeedyMantis معمولاً پس از آن مستقر میشود که بازیگر تهدید از پیش به محیط هدف دسترسی یافته باشد. این موضوع نشان میدهد که این بدافزار برای حفظ دسترسی بلندمدت و پشتیبانی از عملیات بعدی بهکار میرود.
فعالیت NeedyMantis دستکم به اکتبر 2025 بازمیگردد. این خانواده هنگام تحلیل و امتداد دادن سرنخها از پژوهشها و شاخصهای نفوذِ مرتبط با نفوذ در زنجیره تأمین DAEMON Tools کشف شد؛ موضوعی که Kaspersky پیشتر گزارش کرده بود و بخشی از بررسی آن کارزار بود. فعالیتهای مشاهدهشده مرتبط با NeedyMantis تا اینجا با فعالیتهایی همراستا بوده است که Microsoft آن را به بازیگران تهدیدی که از چین فعالیت میکنند نسبت میدهد؛ هرچند Microsoft مشخص نکرده است که آیا همه این فعالیتها به یک اپراتور واحد قابل انتساب است یا نه.
هرچند NeedyMantis از تکنیکهایی بهره میگیرد که در بدافزارهای مدرن رایج است، معماری آن ترکیبی از چندین loader، آرشیوهای فایل رمزگذاریشده سفارشی، یک قالب فایل اجرایی سفارشی و مؤلفههای ماژولار است که به اپراتورها امکان میدهد از تحلیل بگریزند و قابلیتها را از طریق ماژولهای افزوده گسترش دهند. این ویژگیها، همراه با استفاده از آن در نفوذهای هدفمند، NeedyMantis را به مطالعهای موردی برای فهم چگونگی ایجاد و حفظ دسترسی بلندمدت توسط بازیگران تهدید در محیط قربانی بدل میکند.
در این مطلب، چارچوب بدافزار NeedyMantis تحلیل میشود. بستهبندی و استقرار آن، قالب آرشیو سفارشی، معماری loader، ارتباطات command-and-control (C2) و طراحی ماژولار آن بررسی میشود. همچنین شاخصهای نفوذ (IOC)، شناساییهای Microsoft Defender و راهنمای کاهش مخاطره ارائه میشود تا به سازمانها برای دفاع در برابر این تهدید و فعالیتهای مرتبط کمک کند.
عاملان مشاهدهشده و هدفگیری
در زمان نگارش این گزارش، شرکت Microsoft دستکم یک بازیگر تهدید را در حال استفاده از بدافزار NeedyMantis مشاهده کرده است: Storm-3069. Storm-3069 شناسهای است که Microsoft Threat Intelligence برای فعالیت مرتبط با نفوذ در زنجیره تأمین DAEMON Tools بهکار میبرد. با آنکه Microsoft ارزیابی میکند منشأ این فعالیت چین است، Storm-3069 را به یک بازیگر تهدید دولتی چین نسبت نداده است. شرکت Microsoft بدافزار NeedyMantis را از طریق تحلیل تکمیلی شاخصهایی شناسایی کرد که با تحقیق Kaspersky درباره نفوذ در زنجیره تأمین DAEMON Tools مرتبط بودند.
مشاهدههای Microsoft نشان میدهد فراتر از فعالیت منسوب به Storm-3069 در کمپین DAEMON Tools، فعالیتهای دیگری نیز با NeedyMantis رخ داده است؛ این امر حاکی از آن است که ممکن است بیش از یک اپراتور از این بدافزار استفاده کند. تا کنون الگوی فعالیتهای مشاهدهشده با NeedyMantis با فعالیتهایی همخوان بوده است که Microsoft آنها را به بازیگران تهدید مستقر در چین نسبت میدهد؛ از جمله هدفگیری همسو با منافع چین و بهرهگیری از استقرار گزینشی.
NeedyMantis در نفوذهایی مشاهده شده است که بر سازمانهای مخابراتی، دانشگاهها، سازمانهای بیندولتی، مؤسسات غیرانتفاعی حوزه پزشکی و پیمانکاران دولتی اثر گذاشتهاند. با توجه به محدود بودن استقرار مشاهدهشده این بدافزار و همسویی آن با فعالیتهایی که Microsoft به بازیگران تهدید مستقر در چین نسبت میدهد، الگوی قربانیان نشان میدهد NeedyMantis بهصورت گزینشی و نه گسترده مستقر میشود. با این حال، Microsoft هنوز تعیین نکرده است که آیا تمام فعالیتهای مشاهدهشده به همان یک بازیگر تهدید قابل انتساب است یا بازیگران متعددی به این بدافزار دسترسی دارند.
بستهبندی و توزیع بدافزار
همانگونه که پیشتر اشاره شد، شواهد مشاهدهشده نشان میدهد این بدافزار معمولاً پس از آن مستقر میشود که یک بازیگر تهدید به محیط هدف دسترسی برقرار کرده است. بنابراین، روشهای حصول دسترسی پیش از استقرار NeedyMantis ممکن است در نفوذهای مختلف متفاوت باشد.
بدافزار NeedyMantis از چند مؤلفه تشکیل شده است که به C++ و بهصورت x64 shellcode نوشته شدهاند. زنجیره اجرای بدافزار با یک لودر مرحلهاول و یک بایگانی فایل آغاز میشود. مشاهده شده است که لودر و بایگانی در کنار نرمافزارهای قانونی بستهبندی شدهاند؛ لودر مرحلهاول که خود را بهعنوان یک DLL ضروری جا میزند، از طریق DLL sideloading بارگذاری میشود.
برخی از نرمافزارهای متنباز که این بدافزار از آنها سوءاستفاده کرده است عبارتاند از: Poedit (ترجمه)، curl (انتقال داده)، Vim (ویرایشگر متن) و TightVNC (دسترسی راه دور). شرکت Microsoft همچنین مشاهده کرده است که NeedyMantis خود را بهجای مؤلفههای DLL متعلق به Microsoft Office، Broadcom، Intel و NVIDIA جا میزند. فهرست زیر نمونهای از نام مسیرهای DLL مورد استفاده بدافزار است:
- %ProgramFiles%\Poedit\WinSparkle.dll
- %ProgramData%\USOShared\libcurl.dll
- %ProgramData%\VIM\vim64.dll
- %ProgramData%\TightVNC\VIM\vim64.dll
- %ProgramData%\office\dbghelp.dll
- %ProgramData%\broadcom\dbghelp.dll
- %ProgramData%\Intel\jli.dll
- %ProgramFiles%\modifiable\nvml.dll
- %ProgramData%\ics\nvml.dll
بایگانی فایل بدافزار همنام DLL بارگذار است، بدون پسوند؛ برای نمونه WinSparkle یا libcurl.
در یک واقعه مشاهدهشده، یک عامل طی فعالیت تعاملی مستقیم از مجموعهابزار Impacket استفاده کرد تا نرمافزار مشروع، DLL مخرب و بایگانی فایل را از یک اشتراک شبکه کپی کند و آن را روی یک دستگاه هدف اجرا کند. این فعالیت پس از آن انجام شد که بازیگر از پیش به محیط دسترسی پیدا کرده بود و نشان میدهد NeedyMantis چگونه میتواند در مرحله پس از بهخطرافتادنِ یک نفوذ وارد محیط شود.
NeedyMantis معمولاً در مرحله پس از بهخطرافتادنِ یک نفوذ مشاهده میشود، پس از آنکه بازیگر به محیط هدف دسترسی برقرار کرده است. هرچند یکی از کاربران شناختهشده این بدافزار با شناسه Storm-3069 با نفوذهای زنجیره تأمین مرتبط بوده است، شرکت Microsoft مشاهده نکرده است که خود NeedyMantis از طریق نفوذ زنجیره تأمین توزیع شده باشد. با این حال، فعالیت در زنجیره تأمین همچنان یکی از روشهایی است که بازیگر میتواند از آن برای کسب دسترسی لازم جهت استقرار بدافزار استفاده کند.
معماری و قابلیتهای NeedyMantis
بارگذار مرحله اول
بارگذار مرحله اول NeedyMantis یک DLL است که بهصورت بارگذاری جانبی اجرا میشود و زمانی راهاندازی میگردد که نرمافزار مشروعی که همراه آن بستهبندی شده اجرا شود. تنها وظیفه آن استخراج بارگذار مرحله دوم از بایگانی فایل و ادامه اجرای بدافزار در آن بخش است.
در نمونه تحلیلشده، نام DLL بارگذار WinSparkle.dll (SHA-256: e842dd7642c8e04b5ec20b6393848a9c904e4832930950c16664fe7800ba382e) بود و نام بایگانی فایل آن WinSparkle (SHA-256: 9cb68f986043a576e19d32184c583b7d8f571c7219d8dc0065dced1c13f077ef) بود. NeedyMantis مؤلفه بهروزرسانی نرمافزار WinSparkle مربوط به نرمافزار ترجمه Poedit را جعل و جایگزین کرده بود.
لودر برای دشوارکردن تحلیل از تکنیکهای متداول ضدتحلیل استفاده میکند؛ مانند مبهمسازی بیشتر رشتههای مهم آن.

این روش با نام obfuscated stack strings شناخته میشود؛ زیرا هر جزء از رشته بهصورت مرحلهای روی پشته تابع ساخته میشود. پس از ساختهشدن، با انجام عملیاتهای ریاضی گوناگون از حالت مبهم خارج میشود. بیشتر رشتههای مبهمشده در این لودر نام ماژولهای DLL و API در Windows هستند. این رشتهها پس از رفع مبهمسازی برای بازیابی پویا آدرس API در Windows در زمان اجرا استفاده میشوند.
علاوه بر رشتههای مبهمسازیشده، بسیاری از مقادیر ثابت کد نیز بهصورت مبهم ذخیره شدهاند.

در نهایت، این لودر دو روش ضددیباگ دارد: یکی مبتنی بر ProcessDebugFlags و دیگری با استفاده از ThreadHideFromDebugger.
همانطور که در بالا اشاره شد، هدف اصلی لودر این است که مرحله بعد را از آرشیو فایل خود استخراج کرده و اجرا کند. در نمونه تحلیلشده، مرحله بعد با نام encryptbase64.ps1 بود.
آرشیوهای فایل سفارشی
آرشیوهای فایل NeedyMantis در قالبی سفارشی، رمزگذاریشده و فشرده هستند. برای دسترسی به فایلها، لایه بیرونی آرشیو با XOR واگشایی و سپس با تابع RtlDecompressBuffer از حالت فشرده خارج میشود. پس از این مرحله، مدخلهای فایل بهصورت مجزا در دسترس است. در هر مدخل، نام فایل با XOR واگشایی میشود و محتوای آن با RtlDecompressBuffer از حالت فشرده خارج میشود.
افستها، کلیدهای XOR و مقادیر این قالب فایل از یک نمونه تا نمونه دیگر تغییر میکنند.

این آرشیو شامل 11 فایل زیر است:
- فایل 7-zip.chm مولفه معتبر 7-Zip است.
- فایل 7-zip.dll مولفه معتبر 7-Zip است.
- فایل 7-zip32.dll مولفه معتبر 7-Zip است.
- فایل 7z.exe مولفه معتبر 7-Zip است.
- فایل Disk2vhd.dll مولفه معتبر Sysinternals با نام Disk2vhd است.
- فایل main.dll مولفه معتبر Sysinternals با نام Ctrl2Cap است.
- فایل kernel32.dll یک kernel32.dll معتبر است.
- فایل encryptbase64.ps1 لودر مرحله دوم است.
- فایل dnsapi.dll یک dnsapi.dll واقعی نیست، اما پیکربندی بدافزار را در خود دارد.
- فایل ws2_32.dll یک ws2_32.dll واقعی نیست، اما شامل یک DLL ارتباطی مبتنی بر WebSockets است.
- فایل msvcrt140.dll یک msvcrt140.dll واقعی نیست، اما shellcode لازم برای بارگذاری ماژولهای DLL و تعیین آدرس exports را در خود دارد.
هرچند این آرشیو شامل چند مؤلفه نرمافزاری معتبر است، کارکرد بدافزار در فایلهای باقیمانده پیادهسازی شده است که در ادامه به آنها پرداخته میشود.
آرشیوهای فایل NeedyMantis دیگری که تحلیل شدهاند نام فایلها و مؤلفههای متفاوتی داشتهاند. برای نمونه، نسخهای قدیمیتر از بدافزار از یک آرشیو فایل libcurl (SHA-256: c82520eb03c084226be4eafbff46f56dca0aa8804a2a7f23a085a96afe71ef77) استفاده میکرد و تنها چهار فایل در بر داشت:
- فایل 300.c — پیکربندی بدافزار.
- فایل 300.s — DLL ارتباطی مبتنی بر WebSockets.
- فایل is — ماژول ماندگاری با استفاده از Windows Services.
- فایل m.l — مؤلفه اصلی.
لودر مرحله دوم
در نمونه تحلیلشده، فایل encryptbase64.ps1 لودر مرحله دوم بود. با وجود پسوند .ps1 مربوط به PowerShell، محتوای فایل شلکد x64 است. هدف آن رمزگشایی و ازفشردهسازی یک باینری نهفته است که مؤلفه اصلی NeedyMantis به شمار میرود.
این لودر همچنین قابلیتهایی برای مقابله با تحلیل دارد که با مرحله اول تفاوت دارد. برای رمزگشایی رشتهها، دو بلوک داده رمزگذاریشده و کلیدهای XOR را در آفستهای محاسبهشده پیدا میکند و سپس آنها را رمزگشایی میکند. بلوک نخست، که اهمیت بیشتری دارد، شامل چند نام DLL و API در Windows است که نامها در زمان اجرا بهصورت پویا بازیابی میشوند. بلوک دوم، که در ادامه نشان داده شده است، فهرستی از نامهای DLL در Windows و مقادیر هش Windows API را در بر دارد:

این مؤلفه برای بازیابی توابع Windows API بر پایه مقادیر هش از الگوریتمی مبتنی بر چرخش به راست (ROR) با مقدار چرخش قابلپیکربندی استفاده میکند. در نمونه تحلیلشده مقدار 11 بهکار رفته است. در شکل 5 قطعهکدی در Python نشان داده شده که این الگوریتم را بازتولید میکند:

هدف لودر مرحله دوم استخراج داده نهفته، رمزگشایی با XOR و سپس ازفشردهسازی با RtlDecompressBuffer است. محل داده رمزگذاریشده و کلید XOR در آفستهای محاسبهشده قرار دارد که از یک نمونه تا نمونه دیگر تغییر میکند.
پس از رمزگشایی، داده حاصل یک DLL است که با یک فرمت سفارشی فایل اجرایی قالببندی شده است. این فایل نسخه مینیمال یک فایل PE است.

مولفه اصلی
مولفه اصلی NeedyMantis ارتباطات C2 را هماهنگ میکند و ماژولهای اضافی دانلودشده را مدیریت میکند.
یک mutex با نام
پیکربندی
پیکربندی بدافزار در فایلی با نام dnsapi.dll از آرشیو سفارشی فایلها ذخیره شده بود. این نام فایل یک کتابخانه شبکهای Windows را جعل میکند. در نمونه بررسیشده، فایل شامل یک ساختار دودویی به اندازه 3448 بایت است. این ساختار فیلدهای زیر را در بر دارد:
- در آدرس 0x00: ناشناخته (پیکربندی شامل “300” بود، اما مولفهها به “400” نیز ارجاع میدهند).
- در آدرس 0x1c: نام مولفه ارتباطی (ws2_32.dll).
- در آدرس 0x128: پورت C2 (443).
- در آدرس 0x12c: میزبان C2 (corp.tripswithengine[.]com).
- در آدرس 0x334: مسیر C2 (/library/zip/).
- در آدرس 0x53C: مقدار WinHttpOpen AccessType (0).
- در آدرس 0x954: نام کاربری Proxy (تنظیم نشده).
- در آدرس 0xB5C: گذرواژه Proxy (تنظیم نشده).
- در آدرس 0xD64: مرتبط با زمان خواب (300).
- در آدرس 0xD68: مرتبط با زمان خواب (300).
کتابخانه DLL ارتباطات
طبق آنچه در پیکربندی آمده است، NeedyMantis از مولفهای ارتباطی با نام ws2_32.dll استفاده میکند. این مولفه نیز در آرشیو سفارشی فایلها ذخیره شده است. همانند فایل پیکربندی، نام فایل یک کتابخانه شبکهای Windows را جعل میکند.
این DLL ارتباطات تنها یک خروجی با نام SystemInfo دارد. همانگونه که در شکل 7 آمده است، SystemInfo تعداد 10 تابع در اختیار مولفه اصلی میگذارد تا یک اتصال WebSockets با C2 برقرار و نگهداری شود:

این کتابخانه برای WebSockets از APIهای WinINet استفاده میکند. همچنین مقدار user-agent بهصورت hard-coded برابر firefox/21.0 است.
نسخه دومی از DLL ارتباطات نیز در یک آرشیو فایل مشاهده شده است. این نسخه همان API ارتباطی را پیادهسازی میکند، اما بهجای WinINet از Libwebsockets (LWS) استفاده میکند.
فرمان و کنترل
بیکن اولیه C2 یک درخواست HTTPS GET است، مشابه شکل 8 زیر:

هدر Set-Cookie حاوی اطلاعات سامانه است. مقدار هدر را میتوان از Base64 دیکد و سپس با RtlDecompressBuffer از حالت فشرده خارج کرد. پس از خارجسازی از فشردگی، یک شیء JSON به دست میآید. کلیدهای آن عبارتاند از:
- نام رایانه – c
- نام کاربری – u
- دادهای که با Base64 کدگذاری شده است؛ پس از decode شامل ورودیهایی میشود که هر کدام در یک خط و بهصورت «<key>: <value>» هستند – o
- نام فرآیند – p
- فرآیند والد – pa
- فایلها در شاخه ProgramFiles – f
- فهرست فرآیندها – p
سپس اتصال به WebSockets تبدیل میشود و ادامهٔ ارتباط با یک پروتکل C2 دودویی انجام میشود. این پروتکل به یک سرآیند و مؤلفههای دادهٔ اختیاری تقسیم میشود. سرآیند 44-بایتی شامل فیلدهای زیر است:
- کلید XOR 16 بایتی: 0x00
- طول دادهٔ غیرفشرده: 0x10
- طول دادهٔ فشرده: 0x14
- شمارهٔ فرمان: 0x18
- طول داده: 0x28
- دادهٔ اختیاری: 0x2c
یک کلید XOR تصادفی به طول 16 بایت تولید میشود و سرآیند از افست 0x18 به بعد با XOR کدگذاری میشود. اگر دادهای وجود داشته باشد، با RtlCompressBuffer فشرده و در صورت نیاز با RC4 نیز رمزگذاری میشود.
پیامهای اولیهٔ این پروتکل دودویی یک تبادل کلید با سرور C2 هستند. روند به این صورت اجرا میشود:
- از سرور C2 تعداد 32 بایت دریافت میشود، اما نادیده گرفته میشود.
- یک بافر تصادفی 1024 بایتی ایجاد میشود.
- 32 بایت نخست این بافر تصادفی بهعنوان کلید RC4 برای ارتباطات بعدی استفاده میشود.
- یک بافر 256 بایتی ساخته میشود که با google.com شروع میشود و ادامهٔ آن بایتهای تصادفی است.
- این بافر 256 بایتی با RC4 رمزگذاری میشود.
- یک طول تصادفی بین 292 و 1282 انتخاب میشود.
- دادهٔ پیام پروتکل C2 به این صورت ساختاربندی میشود:
- طول تصادفی: 0x00
- بافر RC4-شدهٔ google.com: 0x04
- بافر تصادفی 1024 بایتی که برای ساخت کلید RC4 استفاده شده است (حداقل 32 بایت از آن): 0x104
فرمانها
مولفهٔ اصلی تنها چند فرمان دارد. فرمانهای ارسالی به C2 شامل موارد زیر است:
- ارسال نام رایانه و نام کاربری – 1110
- ارسال یک شناسهٔ hard-coded (مانند 20001) – 1112
- پیام keep alive برای نگهداشتن اتصال – 1150
فرمانهایی که از C2 دریافت میشود شامل موارد زیر است:
- بارگذاری ماژول – 1020
- خارجکردن ماژول – 1030
- ارسال داده به ماژول – 1050 / 1150
- غیرفعال کردن پرچمهای فعال – 1070
فرمانهای بارگذاری، خارجکردن و ارسال داده در مولفهٔ اصلی نشان میدهد که NeedyMantis میتواند قابلیتهای خود را از طریق ماژولهای افزوده گسترش دهد، اما توانمندیهای این ماژولها هنوز تأیید نشده است.
راهنمای کاهش مخاطره و حفاظت
شرکت Microsoft انجام اقدامات زیر را برای کاهش اثر این تهدید توصیه میکند.
- در ترافیک خروجی شبکه بهدنبال اتصالهای خروجی به دامنه corp.tripswithengine[.]com بگردید.
- قابلیت cloud-delivered protection و تنظیم block at first sight را فعال کنید تا گونههای جدید و ناشناخته بدافزار بهسرعت شناسایی و مسدود شوند.
- قابلیت Endpoint Detection and Response (EDR) در حالت block mode را اجرا کنید تا Microsoft Defender for Endpoint بتواند آرتیفکتهای مخرب را مسدود کند، حتی زمانی که آنتیویروس غیر Microsoft تهدید را تشخیص نمیدهد یا Microsoft Defender Antivirus در حالت passive اجرا میشود. قابلیت EDR در حالت block mode در پشتصحنه برای رفع آرتیفکتهای مخربی که پس از نفوذ شناسایی میشوند عمل میکند.
- قابلیت network protection را در Microsoft Defender for Endpoint فعال کنید.
- قابلیت automatic attack disruption را در Microsoft Defender XDR پیکربندی کنید. قابلیت automatic attack disruption برای مهار حملههای در حال اجرا، محدود کردن اثرگذاری بر داراییهای سازمان و فراهمکردن زمان بیشتر برای تیمهای امنیتی بهمنظور رفع کامل حمله طراحی شده است.
- مشتریان Microsoft Defender XDR میتوانند قوانین attack surface reduction زیر را برای پیشگیری از تکنیکهای رایج مورد استفاده مهاجمان فعال کنند.
- قانون Block executable files from running unless they meet a prevalence, age, or trusted list criterion
- قانون Block execution of potentially obfuscated scripts
میتوانید اثر یک قانون attack surface reduction بر شبکه خود را با باز کردن security recommendation مربوط به همان قانون در threat and vulnerability management ارزیابی کنید. در پنجره جزئیات توصیه، بخش user impact را بررسی کنید تا مشخص شود چه درصدی از دستگاهها میتوانند بدون اثر نامطلوب بر بهرهوری کاربران، سیاست جدید برای فعالسازی قانون در حالت blocking را بپذیرند.
شناساییهای Microsoft Defender
مشتریان Microsoft Defender میتوانند به فهرست شناساییهای قابلاطلاق زیر مراجعه کنند. Microsoft Defender فرایندهای شناسایی، پیشگیری، بررسی و پاسخ را در سطح endpointها، هویتها، ایمیل و برنامهها هماهنگ میکند تا در برابر حملاتی از جنس تهدید مطرحشده در این نوشته، حفاظت یکپارچه فراهم کند.
تاکتیک فعالیت مشاهدهشده پوشش Microsoft Defender اجرا بارگذاری shellcode، sideloading مربوط به DLL، رمزگشایی و فشردهگشایی. پوشش توسط Microsoft Defender for Endpoint:
– Suspicious DLL loaded
– An executable file loaded an unexpected DLL file
– Suspicious decode commandهمچنین Microsoft Defender Antivirus:
– TrojanDropper:Win64/NeedyMantisاجرا فعالیت دستبهکیبورد با بهرهگیری از ابزار Impacket برای مراحل بعدی. پوشش توسط Microsoft Defender for Endpoint:
– Ongoing hands-on-keyboard attack via Impacket toolkit
– Impacket toolkit
– Impacket module executionهمچنین Microsoft Defender Antivirus:
– HackTool:Win32/Impacketاجرا الگوهای TTP مربوط به عامل تهدید Storm-3069. پوشش توسط Microsoft Defender for Endpoint:
– Suspicious activity linked to an emerging threat actor has been detectedفرماندهی و کنترل اتصال شبکه به زیرساخت NeedyMantis. Microsoft Defender Antivirus:
– Behavior:Win64/NeedyMantisراهکار Microsoft Security Copilot
راهکار Microsoft Security Copilot در Microsoft Defender یکپارچه است و برای تیمهای امنیتی قابلیتهای مبتنی بر AI فراهم میکند تا رخدادها را خلاصه کنند، فایلها و اسکریپتها را تحلیل کنند، هویتها را خلاصه کنند، از پاسخهای راهنما استفاده کنند، و نیز خلاصه دستگاه، پرسوجوهای شکار و گزارشهای رخداد تولید کنند.
مشتریان همچنین میتوانند ایجنتهای AI از جمله این ایجنتهای Microsoft Security Copilot را برای انجام کارهای امنیتی بهشکل کارآمد استقرار دهند:
- ایجنت Threat Intelligence Briefing
- ایجنت Phishing Triage
- ایجنت Threat Hunting
- ایجنت Dynamic Threat Detection
این راهکار همچنین بهصورت یک تجربه مستقل در دسترس است که در آن مشتریان میتوانند کارهای مشخص امنیتی مانند تحقیق روی رخداد، تحلیل کاربر و ارزیابی اثر آسیبپذیری را انجام دهند. علاوه بر این، Security Copilot سناریوهای توسعهدهندگان را ارائه میدهد که به مشتریان امکان میدهد ایجنتها و پلاگینها را بسازند، آزمون کنند، منتشر کنند و یکپارچه کنند تا نیازهای منحصربهفرد امنیتی را برآورده سازند.
گزارشهای اطلاعات تهدید
مشتریان Microsoft Defender XDR میتوانند برای دریافت بهروزترین اطلاعات درباره عامل تهدید، فعالیت مخرب و تکنیکهایی که در این نوشته بحث شده است، گزارشهای threat analytics زیر را در پرتال Defender استفاده کنند (نیازمند لایسنس برای حداقل یکی از محصولات Defender XDR). این گزارشها اطلاعات threat intelligence، اطلاعات حفاظتی و اقدامات پیشنهادی برای پیشگیری، کاهش اثر یا پاسخگویی به تهدیدهای مرتبطِ یافتشده در محیطهای مشتریان ارائه میکنند.
- نمایه ابزار: NeedyMantis
- نمایه عامل: Storm-3069
- نمایه ابزار: Impacket
مشتریان Microsoft Security Copilot همچنین میتوانند از Microsoft Security Copilot integration در Microsoft Defender Threat Intelligence استفاده کنند، چه در پرتال مستقل Security Copilot و چه در تجربه یکپارچه در پرتال Microsoft Defender، تا اطلاعات بیشتری درباره این بدافزار و فعالیتهای مرتبط بهدست آورند.
پرسوجوهای شکار
راهکار Microsoft Defender XDR
مشتریان Microsoft Defender XDR میتوانند پرسوجوهای advanced hunting زیر را اجرا کنند تا فعالیتهای مرتبط را در شبکههای خود بیابند.
جا زدن NeedyMantis بهجای نرمافزار
فهرستی از پوشههای قانونی و بدونتغییرِ برنامهها، بههمراه نام فایلهای DLL مخربِ جایگزینی که توسط NeedyMantis بهصورت بارگذاری جانبی بارگذاری شدهاند.
DeviceFileEvents | where Timestamp > ago(7d) | where ( (FolderPath matches regex @"^[A-Za-z]:\\Program Files\\Poedit" and FileName == "WinSparkle.dll") or (FolderPath matches regex @"^[A-Za-z]:\\Program Files \(x86\)\\Poedit" and FileName == "WinSparkle.dll") or (FolderPath matches regex @"^[A-Za-z]:\\ProgramData\\USOShared" and FileName == "libcurl.dll") or (FolderPath matches regex @"^[A-Za-z]:\\ProgramData\\VIM" and FileName == "vim64.dll") or (FolderPath matches regex @"^[A-Za-z]:\\ProgramData\\TightVNC\\VIM" and FileName == "vim64.dll") or (FolderPath matches regex @"^[A-Za-z]:\\ProgramData\\office" and FileName == "dbghelp.dll") or (FolderPath matches regex @"^[A-Za-z]:\\ProgramData\\broadcom" and FileName == "dbghelp.dll") or (FolderPath matches regex @"^[A-Za-z]:\\ProgramData\\Intel" and FileName == "jli.dll") or (FolderPath matches regex @"^[A-Za-z]:\\Program Files\\modifiable" and FileName == "nvml.dll") or (FolderPath matches regex @"^[A-Za-z]:\\Program Files \(x86\)\\modifiable" and FileName == "nvml.dll") or (FolderPath matches regex @"^[A-Za-z]:\\ProgramData\\ics" and FileName == "nvml.dll") ) | project Timestamp, DeviceId, DeviceName, ActionType, FolderPath, FileName, SHA1, SHA256, MD5, InitiatingProcessAccountDomain, InitiatingProcessAccountName, InitiatingProcessAccountSid, InitiatingProcessAccountUpn, InitiatingProcessMD5, InitiatingProcessSHA1, InitiatingProcessSHA256, InitiatingProcessFolderPath, InitiatingProcessFileName, InitiatingProcessCommandLine, InitiatingProcessCreationTime, ReportId, TenantIdبخش NeedyMantis C2
این کوئری اتصال به سایت C2 متعلق به NeedyMantis را برای این فعالیت شناسایی میکند.
search in (DeviceNetworkEvents, EmailUrlInfo, UrlClickEvents, DeviceEvents, DeviceFileEvents, DeviceProcessEvents) "corp.tripswithengine.com" | where Timestamp > ago(7d) | extend SourceTable = $table | project Timestamp, DeviceName, InitiatingProcessAccountName, InitiatingProcessAccountUpn, AccountName, AccountUpn, RemoteIP, LocalIP, IPAddress, RemoteUrl, Url, UrlDomain, FileOriginUrl, FileOriginReferrerUrl, FileOriginIP, ProcessCommandLine, InitiatingProcessCommandLine, InitiatingProcessFileName, FileName, FolderPath, NetworkMessageId, SourceTableهاردکد شدن user-agent در DLL ارتباطی NeedyMantis
اتصالهایی را که از user-agent هاردکدشده NeedyMantis استفاده میکنند شناسایی کنید.
search in (DeviceNetworkEvents, DeviceEvents, UrlClickEvents, EmailUrlInfo) "Firefox/21.0" | where Timestamp > ago(7d) | extend SourceTable = $table | project Timestamp, DeviceName = iff(isnull(DeviceName), "", DeviceName), AccountUpn = coalesce(InitiatingProcessAccountUpn, AccountUpn, ""), AccountName = coalesce(InitiatingProcessAccountName, AccountName, ""), RemoteIP = coalesce(RemoteIP, IPAddress, ""), Url = coalesce(RemoteUrl, Url, ""), UserAgent = AdditionalFields, SourceTableراهکار Microsoft Sentinel
مشتریان Microsoft Sentinel میتوانند از تحلیلهای TI Mapping (مجموعهای از تحلیلها که همگی با پیشوند «TI map» آغاز میشوند) استفاده کنند تا نشانگرهای دامنههای مخرب ذکرشده در این پست را بهصورت خودکار با دادههای موجود در فضای کاری خود تطبیق دهند. اگر تحلیلهای TI Map در حال حاضر مستقر نشدهاند، مشتریان میتوانند راهکار Threat Intelligence را از Microsoft Sentinel Content Hub نصب کنند تا قانون تحلیل در فضای کاری Sentinel آنها مستقر شود.
زیرساخت C2 NeedyMantis
این کوئری اتصال به سایت command and control مربوط به NeedyMantis را برای این فعالیت شناسایی میکند.
search in (CommonSecurityLog, SecurityEvent, AzureDiagnostics) "corp.tripswithengine.com" | where TimeGenerated > ago(7d) | project TimeGenerated, DeviceName, Computer, SourceIP, SourcePort, SourceUserName, DestinationIP, DestinationPort, DestinationHostName, DestinationDnsDomain, RequestURL, ProcessName, DestinationUserName, SourceHostName, Message, $tableهاردکد بودن user-agent در DLL ارتباطی NeedyMantis
اتصالهایی را که از user-agent هاردکد NeedyMantis استفاده میکنند شناسایی کنید.
CommonSecurityLog | where TimeGenerated > ago(7d) | where RequestClientApplication contains "Firefox/21.0" or Message contains "Firefox/21.0" | project TimeGenerated, DeviceName, SourceUserName, SourceIP, DestinationIP, RequestURL, RequestClientApplication
شاخصهای نفوذ
شاخص نوع توضیح اولین مشاهده آخرین مشاهده e842dd7642c8e04b5ec20b6393848a9c904e4832930950c16664fe7800ba382e SHA-256 لودر مرحله اول WinSparkle.dll 2026-05-21 2026-05-21 9cb68f986043a576e19d32184c583b7d8f571c7219d8dc0065dced1c13f077ef SHA-256 آرشیو فایل سفارشی WinSparkle 2026-05-23 2026-05-23 c82520eb03c084226be4eafbff46f56dca0aa8804a2a7f23a085a96afe71ef77 SHA-256 آرشیو فایل سفارشی libcurl 2025-10-03 2025-10-03 corp.tripswithengine[.]com نام میزبان نام میزبان C2









