شرکت گاردیکور، متخصص در حفاظت از مراکز داده و سیستم های ابری،
برای ساخت یک بات نت، از یک پروتکل P2P اختصاصی استفاده می شود که در آن گره ها با یکدیگر تعامل دارند، سازماندهی حملات را هماهنگ می کنند، از عملیات شبکه پشتیبانی می کنند و وضعیت یکدیگر را نظارت می کنند. قربانیان جدید با انجام یک حمله bruteforce بر روی سرورهایی که درخواست ها را از طریق SSH می پذیرند، پیدا می شوند. هنگامی که یک سرور جدید شناسایی می شود، فرهنگ لغتی از ترکیبات معمولی از ورود و رمز عبور جستجو می شود. کنترل را می توان از طریق هر گره ای انجام داد، که شناسایی و مسدود کردن اپراتورهای بات نت را دشوار می کند.
به گفته محققان، این بات نت در حال حاضر حدود 500 گره از جمله سرورهای چندین دانشگاه و یک شرکت بزرگ راه آهن دارد. خاطرنشان می شود که اهداف اصلی این حمله شبکه های موسسات آموزشی، مراکز درمانی، سازمان های دولتی، بانک ها و شرکت های مخابراتی هستند. پس از به خطر افتادن سرور، فرآیند استخراج ارز دیجیتال Monero بر روی آن سازماندهی می شود. فعالیت بدافزار مورد بحث از ژانویه 2020 ردیابی شده است.
ویژگی خاص FritzFrog این است که تمام داده ها و کدهای اجرایی را فقط در حافظه نگه می دارد. تغییرات روی دیسک فقط شامل افزودن یک کلید SSH جدید به فایل authorized_keys است که متعاقباً برای دسترسی به سرور استفاده می شود. فایلهای سیستم تغییر نمیکنند، که این کرم را برای سیستمهایی که یکپارچگی را با استفاده از جمعهای چک بررسی میکنند نامرئی میکند. این حافظه همچنین فرهنگ لغت هایی را برای رمزهای عبور بی رحمانه و داده هایی برای استخراج ذخیره می کند که با استفاده از پروتکل P2P بین گره ها هماهنگ می شوند.
اجزای مخرب به عنوان فرآیندهای ifconfig، libexec، php-fpm و nginx پنهان می شوند. گره های بات نت وضعیت همسایگان خود را نظارت می کنند و در صورت راه اندازی مجدد سرور یا حتی نصب مجدد سیستم عامل (اگر فایل autorized_keys اصلاح شده به سیستم جدید منتقل شده باشد)، مؤلفه های مخرب را مجدداً در هاست فعال می کنند. برای برقراری ارتباط، از SSH استاندارد استفاده می شود - بدافزار علاوه بر این یک "netcat" محلی را راه اندازی می کند که به رابط لوکال هاست متصل می شود و به ترافیک در پورت 1234 گوش می دهد که میزبان های خارجی از طریق یک تونل SSH با استفاده از کلیدی از authorized_keys برای اتصال به آن دسترسی دارند.
کد جزء FritzFrog در Go نوشته شده است و در حالت چند رشته ای اجرا می شود. این بدافزار شامل چندین ماژول است که در رشتههای مختلف اجرا میشوند:
- Cracker - رمزهای عبور را در سرورهای مورد حمله جستجو می کند.
- CryptoComm + Parser - یک اتصال P2P رمزگذاری شده را سازماندهی می کند.
- CastVotes مکانیزمی برای انتخاب مشترک میزبان های هدف برای حمله است.
- TargetFeed - لیستی از گره ها را برای حمله از گره های همسایه دریافت می کند.
- DeployMgmt پیاده سازی کرمی است که کدهای مخرب را در یک سرور در معرض خطر توزیع می کند.
- متعلق به - مسئول اتصال به سرورهایی است که قبلاً کدهای مخرب را اجرا می کنند.
- Assemble - یک فایل را در حافظه از بلوک های جداگانه منتقل می کند.
- Antivir - یک ماژول برای سرکوب بدافزارهای رقیب، فرآیندهایی را با رشته "xmr" که منابع CPU را مصرف می کنند شناسایی و خاتمه می دهد.
- Libexec ماژولی برای استخراج ارز دیجیتال Monero است.
پروتکل P2P مورد استفاده در FritzFrog از حدود 30 فرمان مسئول انتقال داده ها بین گره ها، اجرای اسکریپت ها، انتقال اجزای بدافزار، وضعیت نظرسنجی، تبادل گزارش ها، راه اندازی پراکسی ها و غیره پشتیبانی می کند. اطلاعات از طریق یک کانال رمزگذاری شده جداگانه با سریال سازی در قالب JSON منتقل می شود. رمزگذاری از رمز نامتقارن AES و رمزگذاری Base64 استفاده می کند. پروتکل DH برای تعویض کلید (
تمام گره های بات نت یک پایگاه داده توزیع شده با اطلاعات مربوط به سیستم های مورد حمله و در معرض خطر قرار می دهند. اهداف حمله در سراسر بات نت هماهنگ می شوند - هر گره به یک هدف جداگانه حمله می کند، به عنوان مثال. دو گره بات نت مختلف به یک میزبان حمله نمی کنند. گره ها همچنین آمار محلی مانند اندازه حافظه آزاد، زمان آپدیت، بار CPU و فعالیت ورود به سیستم SSH را جمع آوری و به همسایگان ارسال می کنند. این اطلاعات برای تصمیم گیری در مورد شروع فرآیند استخراج یا استفاده از گره فقط برای حمله به سیستم های دیگر استفاده می شود (به عنوان مثال، استخراج در سیستم های بارگذاری شده یا سیستم هایی با اتصالات مدیر مکرر شروع نمی شود).
برای شناسایی فریتز قورباغه، محققان روش ساده ای را پیشنهاد کرده اند
علائمی مانند وجود اتصال شنود در پورت 1234، وجود
منبع: opennet.ru