بدافزار P2Pinfect
عوامل تهدید در حال انجام حملاتی به موارد آسیبپذیر SSH و Redis، یک فروشگاه داده منبع باز هستند. این بازیگران کلاهبردار از یک کرم خودتثبیت کننده همتا به همتا به نام P2Pinfect استفاده می کنند که نسخه هایی برای سیستم عامل های ویندوز و لینوکس طراحی شده است.
بدافزار P2Pinfect که در زبان برنامه نویسی Rust توسعه یافته است، حداقل از دو روش برای دستیابی به دسترسی اولیه به سیستم های هدف استفاده می کند. روش اول از یک آسیبپذیری حیاتی که در سال 2022 فاش و اصلاح شد، بهرهبرداری میکند. روش دوم از یک ویژگی در Redis بهره میبرد که امکان تکرار پایگاه داده اصلی را برای بهبود دسترسی بالا و مقابله با سناریوهای Failover فراهم میکند.
بدافزار P2Pinfect از حامل های عفونت مختلف استفاده می کند
در ابتدا، P2PInfect از یک آسیبپذیری حیاتی بهعنوان CVE-2022-0543 استفاده کرد که دارای حداکثر امتیاز شدت 10 از 10 بود. این نقص امنیتی بهطور خاص سیستمهای Debian را تحت تأثیر قرار داد و مربوط به یک آسیبپذیری LUA sandbox فرار ناشی از یک مشکل بستهبندی بود. بهرهبرداری از این آسیبپذیری قابلیتهای اجرای کد از راه دور را اعطا کرد که تهدیدی قابلتوجه برای سیستمهای آسیبدیده محسوب میشود.
هنگامی که یک نمونه آسیب پذیر Redis با استفاده از یک بار اولیه در معرض خطر قرار می گیرد، P2PInfect اقدام به دانلود اسکریپت های جدید و باینری های مخرب متناسب با سیستم عامل خاص می کند. علاوه بر این، سرور آلوده در لیست سیستم های در معرض خطر این بدافزار ثبت شده است. متعاقباً، بدافزار سرور آلوده را در شبکه همتا به همتای خود ادغام میکند و انتشار بارهای مخرب به سرورهای Redis در آینده را تسهیل میکند.
محققان در حال بررسی P2PInfect همچنین نمونهای را کشف کردند که سازگاری بین پلتفرم را نشان میدهد، که نشان میدهد این بدافزار برای هدف قرار دادن محیطهای ویندوز و لینوکس طراحی شده است. این نمونه خاص حاوی فایلهای اجرایی قابل حمل (PE) و باینریهای ELF بود که به آن اجازه میداد روی هر دو سیستم عامل به طور یکپارچه کار کند. جالب توجه است، این نوع از روش متفاوتی برای دسترسی اولیه استفاده میکند، از ویژگی Redis Replication استفاده میکند، که امکان تولید کپیهای دقیق نمونه اصلی/رهبر Redis را فراهم میکند.
بدافزار P2Pinfect منتشر می شود و سیستم های در معرض خطر را به یک بات نت اضافه می کند
محموله اصلی بدافزار یک باینری ELF است که به طور هوشمندانه با ترکیبی از زبان های برنامه نویسی C و Rust نوشته شده است. پس از اجرا، مولفه Rust محموله را برای تصاحب آن فعال می کند.
پس از فعال شدن، باینری به ایجاد تغییرات اساسی در پیکربندی SSH در میزبان مورد نظر ادامه می دهد. پیکربندی سرور OpenSSH را تغییر میدهد تا شبیه حالت پیشفرض باشد و به مهاجم از طریق پروتکل پوسته امن (SSH) به سرور دسترسی پیدا میکند و احراز هویت رمز عبور را فعال میکند. در مرحله بعد، عامل تهدید سرویس SSH را مجددا راه اندازی می کند و یک کلید SSH را به لیست کلیدهای مجاز برای کاربر فعلی اضافه می کند و دسترسی بدون مانع به سیستم در معرض خطر را تضمین می کند.
در مرحله بعدی، مهاجم یک اسکریپت bash را برای دستکاری نام باینریهای wget و curl اجرا میکند. این اسکریپت همچنین وجود برنامه های کاربردی خاص را تأیید می کند و در صورتی که قبلاً در دسترس نیستند، آنها را نصب می کند. به نظر می رسد استفاده از ابزار فایروال، اقدامی است که توسط بدافزار برای محافظت از سرور آسیب پذیر Redis در برابر سایر مهاجمان احتمالی استفاده می شود. بدافزار پایداری را بر روی میزبان در معرض خطر ایجاد می کند و از عملکرد مداوم آن اطمینان می دهد.
متعاقباً، سرور آلوده حداقل به یک باینری مجهز می شود که می تواند از طریق پوشه /proc اسکن کند و به آمار مربوط به هر فرآیند موجود در آن دسترسی پیدا کند. علاوه بر این، باینری میتواند به طور فعال دایرکتوری proc/را برای هر گونه تغییر نظارت کند.
علاوه بر این، باینری دارای قابلیت ارتقا باینری بدافزار اولیه و اجرای آن در صورتی که امضای فعلی با امضای بازیابی شده از بات نت مطابقت نداشته باشد، دارد.
با در نظر گرفتن هر سرور Redis در معرض خطر به عنوان یک گره، P2PInfect شبکه را به یک بات نت همتا به همتا تبدیل می کند. این بات نت بدون نیاز به سرور مرکزی Command-and-Control (C2) کار می کند و به آن توانایی دریافت دستورالعمل ها به صورت مستقل را می دهد.