بات­ نت Kaiji

دسته بندی ها : آسیب پذیری ۴ خرداد ۱۳۹۹ آپا دانشگاه تبریز 88 بازدید
Kaiji

چکیده

اخیرا بات­ نت جدیدی شناسایی شده است که دستگاه­های اینترنت اشیا و سرورهای مبتنی بر لینوکس را هدف قرار می ­دهد، تا آن­ها را به شبکه خود اضافه کرده و از آن­ها برای انجام حملات انکار سرویس توزیع شده استفاده کند. کد این بدافزار که با نام Kaiji نامیده شده است، از ابتدا نوشته شده است؛ که به گفته محققان در چشم­ انداز کنونی دنیای اینترنت اشیا، اتفاقی نادر است. در ادامه به بررسی بیشتر این بات ­نت خواهیم پرداخت.

محصولات تحت تاثیر

بدافزار Kaiji، دستگاه­های اینترنت اشیا و سرورهای مبتنی بر لینوکس را هدف قرار می­دهد. این بات ­نت، از حملات جستجوی فراگیر SSH برای آلوده کردن دستگاه­ها استفاده می­کند و به این منظور از یک قطعه کد که با زبان Go نوشته شده است، بهره می ­برد.

بررسی بدافزار

بدافزار Kaiji که در اواخر ماه آوریل ۲۰۲۰ توسط محققان امنیتی کشف شد، از ابزارهای سفارشی منحصر به فرد خود، از زبان برنامه­ نویسی Golang استفاده کرده است. این در حالی است که انواع قبلی بدافزارهای اینترنت اشیا، به طور عمده از ابزارهای مربوط به بات­ نت­های قبلی (از جمله چندین بات ­نت که از خانواده بدافزارهای Mirai هستند) استفاده می ­کردند که معمولا با زبان­های برنامه نویسی C یا C++ نوشته شده بودند.

زبان­ برنامه­ نویسی Golang از زبان برنامه ­نویسی C ساده­ تر است و به توسعه­ دهندگان امکان می­ دهد بتوانند بسیار آسان ­تر از کار با زبان C، کدهای بیشتری را بسازند. به گفته محققان امنیتی، گاهی ساختن یک ابزار از ابتدا، از ویرایش ابزارهای موجود ساده ­تر است. توسعه ­دهنده بدافزار احتمالا با کدی که خودش نوشته است، به نسبت اتکا به کدهای موجود، احساس راحتی بیشتری داشته است.

همچنین بدافزار Kaiji به جای بهره ­برداری از آسیب ­پذیری­ های وصله نشده، به طور انحصاری از حملات جستجوی فراگیر در برابر سرورهای SSH در دسترس عموم که امکان احراز هویت SSH بر حسب رمز عبور را فراهم می­ کنند، برای گسترش یافتن استفاده می ­کند.

این بدافزار تنها حساب ریشه را هدف قرار می­دهد. دسترسی به حساب ریشه برای داشتن عملکرد بهتر مهم است؛ زیرا برخی از حملات انکار سرویس توزیع شده از طریق تهیه بسته­ های سفارشی شبکه انجام می­گیرد. در سیستم­ عامل لینوکس، بسته­ های سفارشی شبکه تنها از طریق حساب کاربری ممتازی مانند حساب ریشه قابل ایجاد هستند.

پس از برقراری اتصال SSH، یک مسیر /usr/bin/lib ایجاد می­ شود و سپس بدافزار Kaiji با نام “ls”، “ps”، “netstat” یا با نام ابزار سیستمی دیگری نصب می ­شود.

بدافزار Kaiji ویژگی ­های نسبتا ساده­ ای دارد و محققان معتقدند این ابزار هنوز در حال آزمایش است؛ زیرا یکی از کارکردهای آن، با نام “demo” به معنی نسخه آزمایشی خوانده می ­شود. از ویژگی­ های این بدافزار می­ توان به ماژول­های مختلف برای حمله انکار سرویس توزیع شده، یک ماژول جستجوی فراگیر SSH برای ادامه گسترش بدافزار و یک پخش­ کننده SSH دیگر اشاره کرد که کلیدهای SSH محلی را برای آلوده کردن میزبان­ های شناخته شده­ ای که در گذشته به سرور وصل شده بودند، به سرقت می ­برند.

بعد از اجرای بدافزار، خود را در مسیر /tmp/seeintlog کپی کرده و عملیات مخربی را انجام می ­دهد. از جمله این عملیات، رمزگشایی آدرس­ مراکز کنترل و فرمان (C2) و ثبت سرور آلوده به عنوان یکی از سرورهای فرماندهی جدید است.

در نهایت، بات­ نت دستورات مرتبط با حملات انکار سرویس توزیع شده را از سرور C2 دریافت می­کند. این بات­ نت از حملات متنوعی از جمله حملات جریان سیل­ آسای TCP، UDP، SYN، ACK و همچنین قابلیت ­های جعل آدرس آی ­پی استفاده می­ کند.

این نوع حملات برای بات­ نت­ها متداول است. به عنوان مثال حملات انکار سرویس با جریان سیل­ آسای UDP، درگاه ­های تصادفی میزبان مورد نظر را با با بسته­ های آی ­پی حاوی پروتکل UDP درهم می ­شکند و حملات انکار سرویس توزیع شده TCP SYN نیز از قسمتی از فرایند دست دادن سه مرحله­ ای پروتکل TCP، برای مصرف منابع سرور هدف بهره ­برداری می­کند و ارتباط­ ها را بی­ پاسخ می­گذارد.

محققان معتقدند این بات­ نت دارای منشاء قطعی چینی است؛ زیرا برخی از عملکرد های آن با نمایش انگلیسی کلمات چینی نام­گذاری شده است.

به گفته محققان، کشف بدافزاری که از ابتدا نوشته شده باشد، بسیار نادر است؛ زیرا ابزارهای این بدافزارها به صورت متن ­باز و یا در تالارهای بازار سیاه در دسترس مهاجمان هستند. با این حال، کشف یک عملیات جدید انکار سرویس توزیع شده از طریق بدافزاری که از ابتدا نوشته شده است، تاییدی است بر این که توسعه ­دهندگان بدافزارها به مرور برای انجام عملیات خود، به استفاده از زبان ­های برنامه نویسی مدرن نظیر Golang روی می­ آورند.

اقدامات جهت کاهش شدت آسیب پذیری

امکان انجام حملات SSH روی دستگاه ­های اینترنت اشیا، اغلب به دلیل بی­ احتیاطی سازندگان دستگاه­ ها و یا پیکربندی اشتباه توسط کاربران اتفاق می ­افتد. معمولا سرویس SSH باید به طور پیش­فرض غیرفعال باشد و کاربران در صورت نیاز آن را فعال کنند، اما برخی سازندگان به طور پیش ­فرض این سرویس را فعال و روی پورت باز ۲۲ قرار می ­دهند. همچنین کاربران برای جلوگیری از چنین حملاتی می ­بایست از نام کاربری و رمزعبورهای پیش­ فرض استفاده نکنند و آن­ها را تغییر دهند.

همچنین بدافزار Kaiji برای بهره ­برداری از سرورهای لینوکسی نیز، حساب­ های ریشه آن­ها را هدف قرار می­ دهد و برای آلوده کردن آن­ها، از ترکیب ­های معمول برای نام کاربری و رمزعبور آن­ها از جمله root/openelec (روی توزیع OpenElec از سیستم ­عامل لینوکس) استفاده می ­کند. از این رو برای جلوگیری از آلوده شدن با این بدافزار، لازم است رمزعبورهای پیچیده ­تری انتخاب شده و از به کار بردن رمزعبورهای پیش­ فرض جلوگیری شود.

جمع بندی و نتیجه‌گیری

بدافزار Kaiji که به تازگی توسط محققان شناسایی شده است، تنها یکی از بدافزارها از سری بات­ نت­ های اخیر از جمله Dark_Nexus، MootBot و DDG است. بر خلاف دیگر بات­ نت ­های اخیرا کشف شده، بات­ نت Kaiji به جای استفاده از کدهای معروف، ابزارهای سفارشی منحصر به فرد خود را با زبان Golang ایجاد کرده است. به گفته محققان، استفاده از این روش توسط توسعه ­دهندگان بدافزار، روند رو به رشدی دارد.

راه آسان‌تری برای ارتباط با کاربران‌مان پیدا کرده‌ایم :) عضویت در کانال

نظرات کاربران

    دیدگاهتان را بنویسید

    نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

    لینک کوتاه :