یک بدافزار کراس پلتفرم[1] جدید به نام بکدور Noodle RAT، سالها توسط هکرهای چینی زبان به منظور انجام انواع جرایم سایبری همچون جاسوسی مورد استفاده قرار گرفته است.
در حالی که این بکدور قبلاً به عنوان گونهای از Gh0st RAT و Rekoobe طبقهبندی شده بود، اکنون هارا هیرواکی، محقق امنیتی شرکت Trend Micro اعلام کرده است که این بکدور، یک بدافزار کاملا جدید میباشد.
بکدور Noodle RAT، که با نامهای ANGRYREBEL و Nood RAT نیز شناخته میشود، در هر دو نوع ویندوز (Win.NOODLERAT) و لینوکس (Linux.NOODLERAT) عرضه میگردد و گمان میرود حداقل از جولای 2016 مورد استفاده قرار گرفته باشد.
تله متری ترندمیکرو نیز برخی گروهها و حملات جاسوسی را با استفاده از Noodle RAT شناسایی کرده است که نشان میدهد این بکدور کشورهای تایلند، هند، ژاپن، مالزی و تایوان را از سال 2020 مورد نفوذ قرار داده است.
این تاریخچه مختصر، حاکی از آن است که Noodle RAT بین گروههای متعددی به اشتراک گذاشته شده و برای اهداف جاسوسی و جرایم سایبری استفاده میشود.
ما قصد داریم در ادامه این مقاله، هر دو نوع ویندوزی و لینوکسی بکدور Noodle RAT را مورد بررسی قرار دهیم.
۱. Win.NOODLERAT
Win.NOODLERAT یک بکدور ماژولار است. براساس شواهد موجود به نظر میرسد که Win.NOODLERAT توسط Iron Tiger، Calypso APT و چندین گروه دیگر در حملات جاسوسی استفاده میشود. قابلیتهای این بکدور عبارتند از:
- دانلود و آپلود فایلها
- اجرای ماژولهای اضافی در حافظه
- استفاده به عنوان پروکسی TCP
از آنجایی که Win.NOODLERAT بصورت shellcode میباشد، به لودر خود نیاز دارد. تحقیقات ترندمیکرو تایید کرده است که MULTIDROP و MICROLOAD، لودرهای Win.NOODLERAT میباشند.
۱.۱ نصب و راه اندازی
اولین مرحله از shellcode، رمزگشایی دادههای XOR شده زیر است که پس از تکمیل این فرآیند، پیلود اصلی و فایل پیکربندی در حافظه رمزگشایی خواهند شد.
۱.۳ ارتباطات C&C
Win.NOODLERAT از پروتکلهای TCP، SSL و HTTP پشتیبانی میکند. کل ارتباطات توسط RC4 و یک الگوریتم سفارشی با استفاده از دستورات XOR و AND رمزگذاری میشود. پکت رمزگذاری شده از دو بخش هدر و پیلود تشکیل شده است.
بکدور هنگام ارسال داده، بخش هدر پکت را با استفاده از مراحل زیر رمزگذاری میکند:
- بکدور، فیلدهای بخش هدر cmd_id، payload_len و const_val را مقداردهی میکند.
- سه مقدار تصادفی از DWORD تولید میکند.
- بخشی از کلید RC4 را با اضافه کردن طول دادههای پیلود و DWORD تصادفی، تولید میکند.
- مقدار تولید شده در مرحله ۳ توسط XOR را با کلید هاردکد شده، کدگذاری میکند.
- مقادیر تولید شده در مراحل ۳ و ۴ را به رشته HEX تبدیل کرده و آنها را به هم متصل میکند.
- ۲۴ بایت اول هدر (= بدون احتساب header_key) توسط RC4 با کلید تولید شده در مرحله ۵ رمزگذاری میشود.
بکدور، بخش پیلود را به صورت زیر رمزگذاری میکند:
- بکدور، مقادیر DWORD را از قسمت header، cmd_id و cont_val کپی میکند.
- هر DWORD را در مرحله ۱ با دستورات XOR و AND رمزگذاری میکند.
- مقادیر تولید شده در مرحله ۲ را به رشته HEX تبدیل کرده و آنها را به هم متصل میکند.
- دادههای پیلود را توسط RC4 همراه با کلید تولید شده در مرحله ۳ رمزگذاری میکند.
۱.۳ دستورات بکدور
انواع متفاوتی از Win.NOODLERAT وجود دارد که شناسههای مختلف دستور را پیاده سازی میکنند. برای مشاهده لیست کامل دستورات به جدول شماره ۱ مقاله مربوطه در ترندمیکرو مراجعه کنید.
۲. Linux.NOODLERAT
Linux.NOODLERAT، یک نسخه ELF با طراحی متفاوت از بکدور Noodle RAT میباشد. این بکدور تا کنون توسط چندین گروه با انگیزههای مختلف همچون Rocke (گروه جرایم سایبری Iron) برای منافع مالی استفاده شده است. از آنجایی که این بکدور طراحی متفاوتی دارد، قابلیتهای آن نیز کمی خاص است، از جمله:
- Shellمعکوس
- دانلود و آپلود فایلها
- اجرای زمان بندی شده
- پشتیبانی از SOCKS tunneling
۲.۱ راه اندازی
بکدور Linux.NOODLERAT پس از استقرار، خود را در /tmp/CCCCCCCC کپی میکند و با بازنویسی ” argv”، نام فرآیند را جعل خواهد کرد. بکدور سپس، فایل پیکربندی را توسط RC4 با کلید رمزگذاری شده ” r0st@#$ ” رمزگشایی میکند. Linux.NOODLERAT بر اساس محتوای فایل پیکربندی به سرور C&C تعریف شده متصل میشود.
۲.۲ ارتباطات C&C
Linux.NOODLERAT تنها از پروتکلهای TCP و HTTP به عنوان پروتکل ارتباطی C&C پشتیبانی میکند. جالب اینجاست که این بکدور از دو الگوریتم مختلف برای رمزگذاری ارتباطات استفاده میکند: الگوریتم اول برای پردازش فرمان است که از RC4 و XOR+AND استفاده میکند و الگوریتم دوم برای نشست Shell معکوس میباشد که از HMAC_SHA1 و AES128-CBC استفاده میکند.
این الگوریتم رمزگذاری در نشست پردازش فرمان از RC4 و ترکیبی از دستورات XOR + AND استفاده مینماید.
۲.۳ دستورات بکدور
دو نوع متفاوت از Linux.NOODLERAT وجود دارد که شناسههای مختلف دستور را پیاده سازی میکنند. برای مشاهده لیست کامل دستورات به جدول شماره ۲ مقاله مربوطه در ترندمیکرو مراجعه کنید.
علیرغم تفاوت در دستورات بکدور Linux.NOODLERAT و Win.NOODLERAT، گفته میشود که هر دو نسخه، کدهای یکسانی برای ارتباطات فرماندهی و کنترل به اشتراک میگذارند و از فرمتهای پیکربندی مشابهی استفاده میکنند.
تجزیه و تحلیل بیشتر شواهد و آبجکتهای Noodle RAT نشان میدهد، در حالی که این بدافزار از پلاگینهای مختلف به کار گرفته شده در Gh0st RAT استفاده میکند و برخی از بخشهای کد نسخه لینوکس آن با Rekoobe همپوشانی دارد، این بکدور به خودی خود کاملاً جدید است.
Noodle RAT احتمالاً در بین گروههای چینی زبان به اشتراک گذاشته شده است. برخی نمونههای آپلود شده از این بکدور در Virus Total در سال 2024، بیانگر آن است که این بدافزار به احتمال زیاد همچنان بصورت فعال در حال استفاده میباشد.
[1] Cross-platform