Backdoor.PHP.WebShell.Indosec

شرح کلی

نوع: وب‌شل (WebShell)
درجه تخریب: زیاد
میزان شیوع: متوسط

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

Backdoor.PHP.WebShell.Indosec (padvish)
PHP/Webshell.NHE (ESET-NOD32)
HEUR:Backdoor.PHP.WebShell.gen (Kaspersky)

وب شل (WebShell) چیست؟

WebShell، اسکریپت مخربی است که با زبان‌های اسکریپت‌نویسی همانند ASP ،Python،PHP یا JSP نوشته شده است. هنگامی که وب‌شل‌ها بر روی وب‌سرور قربانی تزریق می‌شوند، کنترل کامل سایت را در اختیار نفوذگر قرار می‌دهند. این حملات معمولاً با بهره‌جویی از نقص‌های امنیتی در وب سرورهای آسیب‌پذیر صورت می‌گیرد.
مهاجمان به راحتی سرورهای قابل دسترس بر روی اینترنت را کشف کرده و مورد هدف قرار می‌دهند. با بارگذاری وب‌شل در وب‌سرور، خطرهای جدی و گاه جبران‌ناپذیری متوجه سازمان خواهد بود. بنابراین الزامی است که سازمان‌ها بیش از پیش این نوع هشدارها را جدی بگیرند و تدابیر امنیتی پیشه کنند.

بدافزار  Backdoor.PHP.WebShell.Indosec چیست؟

در این گزارش به شرح نمونه‌ای از وب‌شل‌های خانواده Indosec پرداخته شده است. نفوذگران با استفاده از این وبشل و قابلیت‌های آن، قادر به انجام مجموعه‌ای از اقدامات مخرب بر روی سرور قربانی می‌باشند.

قابلیت‌های این بدافزار عبارتند از:

  • آپلود فایل در یک مسیر خاص
  • رمز کردن فایل‌ها و درخواست باج
  • تغییر ظاهری یا Deface کردن وب‌سایت قربانی
  • ایجاد فایل و پوشه و اعمال تغییرات بر روی آن‌ها و…

توضیحات فنی

شرح عملکرد

مهاجم برای ورود به پنل مدیریتی وب‌شل، صفحه لاگین با نام کاربری admin برای خود تعریف کرده است که در تصویر زیر صفحه لاگین قابل مشاهده است.

 صفحه login

تصویر۱- صفحه login

پس از اینکه login صورت گرفت صفحه زیر نمایش داده می‌شود. همان‌ گونه که در تصویر مشخص است، ابزار IndoSec Shell قابلیت‌های گوناگونی را در اختیار مهاجم قرار می‌دهد.

نمایی از سربرگ home

تصویر ۲- نمایی از سربرگ home

  • در بخش terminal همانطور که در تصاویر زیر نمایش داده شده است، این وبسل با توجه به سیستم عامل سرور قربانی امکان اجرای دستورات ویندوزی و لینوکسی را دارد
    در دو تصویر زیر یک دستور تحت ترمینال ویندوز در حالی که وب‌شل در محیط ویندوز اجرا شده و یک دستور تحت ترمینال لینوکس در حالی که وب‌شل در محیط لینوکس اجرا شده است را می‌توان مشاهده کرد:

▫️نتیجه اجرای ipconfig در محیط ویندوز:

اجرای دستور ویندوزی در ترمینال

تصویر ۳- اجرای دستور ویندوزی در ترمینال

▫️نتیجه اجرای دستور uname -a در محیط لینوکس:

اجرای دستور لینوکسی در ترمینال

تصویر ۴- اجرای دستور لینوکسی در ترمینال

  • بخش informasi اطلاعات مربوط به سیستم جاری را نمایش می‌دهد.

اطلاعات مربوط به سیستم

تصویر ۵- اطلاعات مربوط به سیستم

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

نمایش دایرکتوری جاری

تصویر ۶- نمایش دایرکتوری جاری

 قابلیت های مختلف بدافزار به شرح موارد مندرج در جدول زیر است :

نام قابلیت شرح قابلیت
upload با استفاده از این بخش می‌توان فایلی در مسیر دلخواه بارگذاری کرد.
Bautfile فایل جدیدی می‌توان ایجاد کرد و به آن محتوای دلخواه را افزود.
Bautfolder پوشه جدیدی در مسیر دلخواه می‌توان ایجاد کرد.
Mass deface مهاجم از این گزینه برای تغییر دسته‌ای فایل‌های‌‌ index که به defece شدن وب‌سایت‌های موجود بر روی سرور قربانی منجر می‌شود، استفاده می‌کند. در این بخش می‌توان به طور هم‌زمان محتوای چند فایل را تغییر داد به این صورت که مسیر مورد نظر و نام فایل هدف توسط مهاجم مشخص می‌شود. در نتیجه محتوای تمام فایل‌های با نام مشخص شده (به صورت پیش فرض index.php ) که در مسیر مربوطه قرار دارند، تغییر می‌یابد.
Mass delete هم‌زمان چند فایل را delete می‌کند.
jumping در بخش Jumping وجود کنترل پنل‌های مدیریت هاست در سیستم بررسی شده و فایل‌های موجود در مسیرهای مرتبط با آن‌ها نمایش داده می‌شوند.
config مسیر فایل‌های کانفیگ‌ سیستم‌های مدیریت محتوای مختلف (CMS) که بر روی سیستم وجود دارد را در فایلی با نام $user_con-$nama_config.txt قرار می‌دهد. این فایل اطلاعات مهمی از CMS در اختیار مهاجم قرار می‌دهد از جمله نام دیتابیس و رمز عبور آن.
سیستم‌های مدیریت محتوایی (پلتفرم‌هایی) که بررسی می‌شوند:

Hostbills, Zencart, BoxBilling, WHMCS, Joomla, WordPress, IPB, OsCommerce, MyBB, Vbulletin, Ellislab, OpenCart, Magento, PrestaShop, Drupal, phpBB, Lokomedia, cPanel

adminer با انتخاب این گزینه اگر بر روی سیستم، فایل adminer وجود داشته باشد صفحه مدیریت پایگاه داده باز می‌شود و می‌توان پایگاه داده را مشاهده کرد. همچنین می‌توان با داشتن نام کاربری و گذر واژه پایگاه داده تغییرات مختلفی را نیز بر روی آن انجام داد.
symlink در این قسمت از کد در ابتدا محتوای فایل named.conf یا نام named.txt به صورت جدول که شامل ستون‌های Domains, Users, symlink است، نمایش داده می‌شود و سه لینک مختلف ایجاد می‌شود که هر کدام از آن‌ها برای کاربرد خاصی است که در ادامه و در توضیحات تکمیلی این بخش به آن‌ها اشاره خواهد شد.
Auto reset cpanel اگر برای مدیریت وب‌سایتی که هدف حمله است از cpanel استفاده شده باشد، با این گزینه پسورد آن reset می‌شود.
ransomware این ماژول فایل‌های دایرکتوری مورد نظر را رمز می‌کند و در صورتی که موفق به انجام این کار شود به انتهای نام هر فایل پسوند indsc. را اضافه می‌کند و در پایان یک فایل index.php که payment مربوط به باج‌افزار است را در کنار فایل‌ها قرار می‌هد. با توجه به اینکه عمل رمزنگاری در آدرس: http://encrypt.indsc.me/api.php?type=encrypt انجام می‌شود و این آدرس فعال نیست، در حال حاضر رمزنگاری فایل‌ها انجام نمی‌شود.
smtpgrabber نمایش اطلاعات smtp از قبیلSMTP Host ,SMTP Port, SMTP User, SMTP Pass, SMTP Auth, SMTP Secure با این بخش امکان‌پذیر است.
Bypass cloud flare اگر وب‌سایت مجهز به cdn کلودفلر باشد، می‌توان بخش‌های مختلف آن را bypass کرد و IP واقعی هر کدام از سرورهای webmail, ftp , cpanel و غیره را به دست آورد.
keluar از برنامه خارج می‌شود و مجددا وارد صفحه لاگین می‌شود.

توضیحات تکمیلی

🔺 Mass deface

بعد از انتخاب این گزینه محتوایی که قرار است جایگزین محتوای اصلی فایل‌ مورد نظر شود، در فایل‌های دایرکتوری مربوطه نوشته می‌شود. در نهایت محتوای تمام فایل‌های با نام مشخص شده در بخش NamaFile که در دایرکتوری مورد نظر وجود دارند تغییر می‌کند.

محتوای صفحه Mass deface

تصویر ۷- محتوای صفحه Mass deface

 

لیست فایل‌های تغییر داده شده به وسیله Mass deface

تصویر ۸- لیست فایل‌های تغییر داده شده به وسیله Mass deface

 

صفحه deface شده

تصویر ۹- صفحه deface شده

🔺 Jumping

در بخش Jumping وجود کنترل پنل‌های مدیریت هاست در سیستم بررسی شده و فایل‌های موجود در مسیرهای مرتبط با آن‌ها نمایش داده می‌شوند. نحوه عملکرد این بخش به شکل زیر است:
• اگر کنترل پنل H-sphere بر روی سیستم وجود داشته باشد به تعداد یوزرهای سیستم و URLهایی که وجود دارد برای مسیر زیر لینک jump ایجاد می‌شود:

hsphere/local/home/$user/$url

• اگر H-sphere روی سیستم نباشد به دایرکتوری vhosts می‌رود و برای URLهای متفاوتی که وجود دارد لینک jump برای این مسیر زیر ایجاد می‌کند:

/var/www/vhosts/$url/httpdocs

• در نهایت به ازای هر یک از یوزرها برای مسیر /home/$user_pro_jump/public_html لینک jump ایجاد می‌کند. در تصویر زیر نمونه اجرا شده مشاهده می‌شود که نوع دسترسی آن فقط خواندن است و با رنگ سبز نمایش داده شده است.

 

خروجی jumping

تصویر ۱۰- خروجی jumping

🔺 Adminer

Adminer یک ابزار مدیریت پایگاه‌ داده است. بدافزار وجود این ابزار بر روی سیستم را بررسی می‌کند و در صورت وجود، صفحه ورود به پایگاه‌ داده را نمایش می‌دهد. در این بخش مهاجم می‌تواند در صورت به دست‌ آوردن اطلاعات لاگین با استفاده از بخش‌های دیگر به راحتی به پایگاه‌ داده دسترسی یابد:

نمایش صفحه adminer

تصویر ۱۱- نمایش صفحه adminer

🔺 Symlink

Symlinkها فایل‌هایی هستند که به عنوان اشاره‌گر به فایل‌های دیگر عمل می‌کنند. Symlinkها یا همان پیوندهای نرم حاویِ محتویات پرونده منبع نیستند، فقط به آنها اشاره می‌کنند. یعنی اگر پرونده اصلی حذف شود، Symlink دیگر قابل استفاده نیست.

ماژول Symlink این بدافزار شامل موارد فوق است:

تصویر ۱۲- ماژول  Symlink بدافزار

با توجه به تصویر فوق، ماژول Symlink این بدافزار شامل موارد زیر است:

1️⃣ Bypass Read: بعد از انتخاب این گزینه محتوای فایل named.conf با دسترسی خواندن در خروجی نمایش داده می‌شود و با فشرده شدن کلید save این محتوا در فایلی با نام named.txt در مسیر اجرای فایل اصلی ذخیره می‌شود.

 Bypass Read

تصویر ۱۳- Bypass Read در ماژول Symlink

2️⃣ Symlink404: در این قسمت می‌توان یک فایل symlink از فایل هدف در دایرکتوری indosec_sym404 با نام دلخواه ایجاد کرد. جهت تست مسیر یکی از فایل‌های wordpress به عنوان فایل Target و نام 12.txt به عنوان نام فایل symlink وارد شد و پس از کلیک بر روی لینک پیغام >>Sukses<< نمایش داده می‌شود.

 

بخش Symlink404

تصویر ۱۴- بخش Symlink404

 

امکان نمایش محتوای فایل Target

تصویر ۱۵- امکان نمایش محتوای فایل Target

 

3️⃣ Symlink Bypass: این گزینه محتوای فایل etc/passwd را که دربردارنده اطلاعات مربوط به اکانت‌های سیستم است، نمایش می‌دهد. با انتخاب گزینه Symlink محتوای آن با نام passwd.txt در مسیر جاری ذخیره می‌شود.

Symlink Bypass

تصویر ۱۶- Symlink Bypass

🔺 Ransomware: این گزینه به قابلیت اجرای باج‌افزار اشاره دارد. برای این قسمت همان‌طور که در کادر قرمز رنگ شماره ۱ در تصویر زیر قابل مشاهده است، فایل هدف ابتدا از مسیری که انتخاب شده خوانده می‌شود و محتوای آن با الگوریتم base64 کد می‌شود و به سمت سرور مهاجم فرستاده می‌شود. محتوای پکت بازگردانده شده از سمت سرور نیز شامل فایلی رمز شده است. این دیتا دیکد شده و در متغیر $_ENC قرار می‌گیرد.

پس از اینکه این مرحله انجام شد پسوند INDSC. به انتهای نام فایل افزوده می‌شود و پیغام SUCCESS در خروجی نمایش داده می‌شود. در هنگام تحلیل این بدافزار به دلیل خارج از دسترس بودن سرور مربوطه فرآیند رمز شدن فایل‌های هدف و تغییر پسوند آن‌ها انجام نشد.

در کادر شماره ۲، عملیات مربوط به نمایش صفحه PAYMENT انجام می‌شود و یک فایل INDEX.HTML به عنوان PAYMENT ساخته می‌شود که محتوای آن در ادامه نمایش داده شده است.

محتوایHTML مربوط صفحه payment

 

محتوایHTML مربوط صفحه payment

تصویر ۱۷- محتوای HTML مربوط صفحه payment

 

صفحه payment

تصویر ۱۸- صفحه payment

روش مقابله و پاک‌سازی سیستم

آنتی‌ویروس پادویش این بدافزار را شناسایی می‌کند. به منظور جلوگیری از آلوده شدن به چنین بدافزارهایی توصیه می‌شود:

✅ وب‌سرور خود را به صورت کامل و ایمن پیکربندی کنید.

✅ پورت‌ها و سرویس‌هایی را که مورد استفاده نیستند، مسدود سازید.

✅ سعی کنید از گذر واژه‌های پیچیده استفاده کنید و در بازه‌های زمانی معین، نسبت به تغییر گذرواژه‌ها اقدام نمایید.

✅  به‌روزرسانی‌های امنیتی را به طور مداوم اعمال کنید.

✅ همچنین پیشنهاد می‌شود با توجه به افزایش چشمگیر حملات سایبری و به منظور اطمینان از امنیت شبکه و سیستم‌های در معرض خطر و جهت مقابله با حملات سایبری و تهدیدات پیشرفته پایدار، ضمن رعایت توصیه‌های امنیتی از محصول پادویش نسخه کشف و پاسخ به حملات سایبری یا Padvish MDR استفاده نمایید.