روابط عمومی شرکت ایدکو (توزیعکنندهی محصولات کسپرسکی در ایران)؛ در یک موردِ اخیر واکنش به رخداد در کشور برزیل، با تهدیدی نسبتاً ساده اما بسیار مؤثر به نام Outlawمواجه شدیم که بر محیطهای لینوکس متمرکز بود. این تهدید با نام «Dota» نیز شناخته میشود) یک باتنت استخراج رمزارز مبتنی بر زبان Perl است که معمولاً از گذرواژههای ضعیف یا پیشفرض در ارتباطات SSH بهرهبرداری میکند). پژوهشهای پیشین نمونههایی از Outlaw را که از طریق هانیپاتها به دست آمده بودند، توصیف کردهاند.
در این مقاله، جزئیاتی از یک رخداد واقعی که کسپرسکی آن را مهار کرده است، به همراه دادههای تلهمتری عمومی درباره کشورها و مناطق جغرافیایی که بیشترین هدف این عامل تهدید بودهاند، ارائه شده است. در نهایت، روشها، تکنیکها و اقدامات متداول (TTPs) و نیز بهترین راهکارهای امنیتی را معرفی کرده که متخصصان امنیت میتوانند برای محافظت از زیرساختهای خود در برابر این نوع تهدیدها بهکار گیرند.
تحلیل
فرآیند تحلیل را با جمعآوری شواهد مرتبط از یک سامانه لینوکسی آسیبدیده آغاز کردیم. در بررسیها، به کلید مجاز SSH مشکوکی برای کاربری با نام «suporte» برخوردیم. در محیطهای پرتغالیزبان، این حساب کاربری معمولاً برای انجام وظایف مدیریتی در سیستمعامل بهکار میرود. اینگونه حسابها اغلب بهگونهای پیکربندی میشوند که نام کاربری و گذرواژه یکسان باشند؛ که این یک ضعف امنیتی محسوب میشود و شرایط را برای بهرهبرداری مهاجمان تسهیل میکند. کلید SSH کشفشده متعلق به کاربر ماشین لینوکسی با نام «mdrfckr» بود؛ رشتهای که پیشتر در کارزارهای Dota مشاهده شده و موجب افزایش ظن ما شد.
مراحل پس از نفوذ اولیه
پس از نفوذ اولیه از طریق SSH، عامل تهدید اسکریپت مرحله اول با نام tddwrt7s.shرا با استفاده از ابزارهایی مانند wgetیا curlبارگیری میکند. این فایل وظیفه دارد آرشیو dota.tar.gzرا از سرور مهاجم دریافت نماید. در ادامه، دنبالهای از دستورات اجراشده توسط مهاجم جهت دریافت و استخراج این فایل آورده شده است؛ فرایندی که در فعالیتهای این گروه نسبتاً رایج است. نکته جالب توجه آن است که مهاجم برای اطمینان از موفقیت دانلود، از هر دو ابزار مذکور استفاده میکند، چرا که ممکن است یکی از آنها روی سیستم قربانی نصب نباشد. پس از استخراج فایل، یک پوشه مخفی به نام .configrc5در مسیر خانگی کاربر ایجاد میشود که ساختار آن به شرح زیر است:
نکته قابلتوجه دیگر آن است که در مراحل اولیه اجرای بدافزار، بررسی وجود ماینرهای رمزارز دیگر در سیستم از طریق اسکریپت a/init0انجام میشود. در صورتی که ماینرهایی شناسایی شوند، اسکریپت تلاش میکند تا فرآیندهای مربوط به آنها را متوقف کرده و از اجرای مجدد آنها جلوگیری کند. هدف از این اقدام، جلوگیری از مصرف بیش از حد منابع RAM و CPU در ماشین قربانی است.
اسکریپت همچنین فرآیندهای در حال اجرا را نظارت کرده و هر فرآیندی که بیش از ۴۰٪ از CPU را مصرف میکند، از طریق دستور ps axf -o pid %cpu شناسایی مینماید. سپس با بررسی خط فرمان فرآیند (در مسیر /proc/$procid/cmdline )به دنبال کلمات کلیدی مانند kswapd0، tsm، rsync، tor، httpd، blitzیا mass میگردد. در صورتی که هیچیک از این کلمات کلیدی یافت نشوند (و دستور grepعدد صفر بازنگرداند)، فرآیند مورد نظر بهصورت اجباری با دستور kill -9خاتمه داده میشود. در غیر این صورت، پیام "don't kill" نمایش داده میشود که نشان میدهد این فرآیند در فهرست مجاز (whitelist) است و از بین نخواهد رفت. این اقدام باعث میشود که فرآیندهای پرمصرف مرتبط با Outlaw به اشتباه متوقف نشوند.
پس از اتمام بررسیها و اقدامات مرتبط با فرآیندها، فایل b/run اجرا میشود که مسئول حفظ پایداری بدافزار در سیستم آلوده و اجرای مراحل بعدی بدافزار از درون کد خود است. برای حفظ پایداری، مهاجمان از دستوری استفاده کردهاند که پیکربندی فعلی SSH را پاک کرده، پوشه .sshجدیدی ایجاد مینماید، یک کلید عمومی جدید برای دسترسی SSH اضافه کرده و سطوح دسترسی را محدود میسازد.
بدافزار مرحله بعدی در قالب یک رشته رمزگذاریشده با Base64 درون اسکریپت b/runقرار دارد. پس از رمزگشایی، سطح دیگری از مبهمسازینمایان میشود که اینبار یک اسکریپت Perl ابهامسازیشده است. جالب آنکه، مهاجمان یک کامنتتولیدشده توسط ابزار ابهامسازی را در کد باقی گذاشتهاند.
ما توانستیم بهراحتی با استفاده از یک اسکریپت متنباز موجود در همان وبسایت مورد استفاده مهاجمان (https://perlobfuscator.com/decode-stunnix-5.17.1.pl)، کد را از حالت ابهام خارج کنیم. این کار ما را به کد منبع اصلی رساند که شامل چند واژه به زبان پرتغالی نیز بود.
اسکریپت Perl
اسکریپت Perl، یک کلاینت باتنت مبتنی بر IRC است که بهعنوان بکدر بر روی سیستم آلوده عمل میکند. پس از اجرا، خود را بهصورت جعلی بهعنوان یک فرآیند rsync معرفی کرده، نسخهای از خود را در پسزمینه ایجاد میکند و سیگنالهای خاتمهرا نادیده میگیرد. این بات بهصورت پیشفرض از طریق پورت 443 به یک سرور IRC از پیش تعریفشده متصل میشود، با استفاده از نامهای کاربری تصادفی به کانالهای مشخصشده وارد شده و در انتظار دریافت دستورات از سوی مدیران تعیینشده باقی میماند.
این بات دارای مجموعهای از قابلیتهای مخرب است که شامل اجرای دستورات، حملات انکار سرویس توزیعشده (DDoS)، اسکن پورتها، دانلود و آپلود فایل از طریق HTTP میشود. این امکانات طیف وسیعی از تواناییها را در اختیار مهاجمان قرار میدهد تا بتوانند باتنت را بهصورت کامل کنترل و هدایت کنند.
ماینر XMRig
یکی دیگر از فایلهای موجود در پوشه مخفی، با نام a/kswapd0، یک فایل اجرایی (ELF) است که با استفاده از ابزار UPX فشردهسازی شده است. ما توانستیم این فایل باینری را بهراحتی از حالت فشرده خارج کرده و مورد تحلیل قرار دهیم.
تحلیل فایل مخرب XMRig
با بررسی هش فایل در پورتالهای هوش تهدید و تحلیل ایستا نمونه مورد نظر، مشخص شد که این فایل اجرایی، نسخهای مخرب و دستکاریشده از نرمافزار استخراج رمزارز XMRig (نسخه 6.19.0) است. همچنین، یک فایل پیکربندی درون این باینری یافت شد که حاوی اطلاعات استخراج رمزارز متعلق به مهاجم است.
در سناریوی مورد بررسی، تنظیمات پیکربندی بهگونهای انجام شده بود که تنها از پردازنده (CPU) برای استخراج رمزارز Monero استفاده شود؛ این درحالیست که قابلیتهای OpenCL و CUDA برای استخراج مبتنی بر GPU غیرفعال شده بودند. این ماینر بهصورت پسزمینه اجرا شده و برای مصرف بالای CPU پیکربندی شده بود. همچنین به چندین استخر استخراج رمزارزمتصل میشود که یکی از آنها از طریق شبکه Tor قابل دسترسی است؛ موضوعی که وجود فایلهای مربوط به Tor در مسیر .configrc5/aرا توجیه میکند.
قربانیان
بر اساس دادههای تلهمتری جمعآوریشده از منابع عمومی، قربانیان گروه Outlaw عمدتاً در ایالات متحده شناسایی شدهاند، اما مواردی نیز در کشورهای آلمان، ایتالیا، تایلند، سنگاپور، تایوان، کانادا و برزیل مشاهده شده است.
توصیهها
از آنجا که گروه Outlaw از گذرواژههای ضعیف یا پیشفرض برای نفوذ از طریق SSH بهره میبرد، به مدیران سیستم توصیه میشود رویکردی پیشگیرانه برای ایمنسازی سرورها اتخاذ نمایند. این هدف را میتوان از طریق پیکربندیهای اختصاصی سرور و بهروزرسانی منظم سرویسها محقق کرد. حتی اقدامات سادهای نظیر استفاده از احراز هویت مبتنی بر کلید[1] نیز میتواند بسیار مؤثر باشد.
با این حال، فایل پیکربندی SSH (/etc/ssh/sshd_config) امکان استفاده از پارامترهای متعددی را برای افزایش امنیت فراهم میکند. برخی از تنظیمات پیشنهادی عبارتند از:
Port <custom_port_number>: پورت پیشفرض SSH را برای کاهش قرار گرفتن در معرض اسکنهای خودکار تغییر میدهد.
Protocol 2: استفاده از نسخه امنتر پروتکل را اجباری میکند.
PermitRootLogin no: ورود مستقیم به حساب کاربری روت را غیرفعال میکند.
MaxAuthTries <integer>: تعداد تلاشهای احراز هویت در هر جلسه را محدود میکند.
LoginGraceTime <time>: مقدار زمانی که برای تکمیل فرایند ورود مجاز است را تعریف میکند (برحسب ثانیه، مگر اینکه بهطور دیگری مشخص شده باشد).
PasswordAuthentication no: ورود با استفاده از رمز عبور را غیرفعال میکند.
PermitEmptyPasswords no: ورود با استفاده از رمز عبور خالی را جلوگیری میکند.
X11Forwarding no: انتقال X11 (که برای اجرای برنامههای گرافیکی بهصورت راه دور استفاده میشود) را غیرفعال میکند
PermitUserEnvironment no: جلوگیری از ارسال متغیرهای محیطی توسط کاربران.
Banner /etc/ssh/custom_banner: بنر لاگین سیستم را سفارشی میکند.
در نظر داشته باشید که پروتکلهای احراز هویت غیرمستعمل را غیرفعال کنید:
- ChallengeResponseAuthentication no
- KerberosAuthentication no
- GSSAPIAuthentication no
غیرفعالسازی گزینههای تونلینگ برای جلوگیری از سوءاستفاده از ویژگی تونل SSH:
- AllowAgentForwarding no
- AllowTcpForwarding no
- PermitTunnel no
شما میتوانید دسترسی SSH را به IPها یا شبکههای خاص محدود کنید با استفاده از دستور AllowUsers:
- AllowUsers *@10.10.10.217
- AllowUsers *@192.168.0.0/24
احراز هویت با کلید عمومی را فعال کنید:
تنظیم پارامترها برای قطع خودکار نشستهای غیرفعال:
- ClientAliveInterval <زمان>
- ClientAliveCountMax <عدد>
جمعبندی
گروه Outlaw با تمرکز بر بهرهبرداری از گذرواژههای ضعیف یا پیشفرض SSH، بهطور مداوم در حال بهبود و گسترش ابزارهای خود با تمرکز بر سیستمهای لینوکسی است. این گروه از استراتژیهای مختلفی برای فرار از شناسایی استفاده میکند، از جمله مخفیسازی فایلها و پوشهها یا استفاده از برنامههای مبهمشده، و از کلیدهای SSH بهدستآمده برای حفظ دسترسی خود بهمدت طولانی استفاده میکند. کلاینت باتنت مبتنی بر IRC این گروه امکان انجام عملیاتهای مخربی همچون اجرای دستورات، حملات سیلابی و اسکن سیستمها را فراهم میکند، در حالی که بهرهبرداری از ماینرهای سفارشیشده XMRig باعث انحراف منابع پردازشی به استخراج رمزارز میشود. مدیران سیستم با سختگیری پیکربندیهای SSHمثلاً غیرفعال کردن احراز هویت با رمز عبور، پایش فرآیندهای مشکوک و محدود کردن دسترسی SSH به کاربران و شبکههای قابلاعتماد میتوانند بهطور چشمگیری این تهدید را کاهش دهند.
شاخصهای نفوذ
[1] key-based authentication
کسپرسکی آنلاین (ایدکو)
کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز میشناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.