امنیتتست نفوذ

چگونه آنتی شل سرورهای لینوکسی بایپس می شوند؟

چگونه آنتی شل سرورهای لینوکسی بایپس می شوند؟

یکی از دغدغه هکرها برای نفوذ به یک وبسایت عبور از سد انتی شل ها هست، به عنوان مثال هکر زمان زیادی رو سعی میکنه تا از یک سرور دسترسی بگیره و وقتی تصمیم به اجرای شل خودش داره با خطای Not Found مواجه میشه!! که ناشی از پاک شدن شل خود توسط آنتی شل سرور هست. در صورتی که ادمین اون سرور یکمی بیشتر روی امنیتش کار کرده باشه، anti shell رو طوری تنظیم میکنه تا به محض شناسایی شل در اون اکانت، حساب کاربری به حالت تعلیق در بیاد یا به اصطلاح suspend بشه !

ما در این مقاله سه روش رایج بایپس anti shell رو مطرح می کنیم.

روش اول برای عبور از محدودیت انتی شل ها

این روش رو خودم تست کردم و نتیجه گرفتم. در این روش فایل PHP که دارای کدهای مخرب یا همون shell script هست استفاده میشه.

برای مثال (!) فرض کنید ما یه فایل php داریم که داخل آن کد مخرب هست.

<?php
echo 'kaliboys.com';
?>

بازم میگم این یه مثاله وگرنه انتی شل به همچین فایلی گیر نمیده…

خب ما میایم کد های داخل تگ php رو دو بار با الگوریتم base64 انکود می کنیم که برای اینکار میتونید از سایت base64decode استفاده کنید. در نتیجه با دوبار انکود کردن عبارت echo ‘kaliboys.com’; به شکل زیر درمیاد:

WldOb2J5QW5hMkZzYVdKdmVYTXVZMjl0SnpzPQ==

خب، حالا اگه دوباره با الگوریتم base64، دو بار بخوایم کدهای خودمون رو دیکد کنیم، مجددا به این عبارت میرسیم.

echo 'kaliboys.com';

درنهایت درون کد زیر به جای عبارت موجود در متغیر $code میایم عبارت انکود شده خودمون رو درون تک کوتیشن ( ‘ ‘ ) قرار میدیم.

<?php
$code = 'WldOb2J5QW5hMkZzYVdKdmVYTXVZMjl0SnpzPQ==';
$irh=base64_decode('JGlyaD1iYXNlNjRfZGVjb2RlKCdZbU Z6WlRZMFgyUmxZMjlrWlE9PScpOy=');
eval($irh);
 eval($irh($irh("$code")));
 ?>

تمام! تنها کاری که باید بکنید اینه که فایلی رو که انکود کردیم رو اجرا کنیم!

به همین راحتی anti shell بایپس شد!

معایب این روش

در صورتی که تابع base64_decode در تنظیمات php سرور غیرفعال باشه این روش جوابگو نیست! اما این مسئله در سرور های اشتراکی کم پیش میاد که ادمین اون سرور بخواد این تابع رو غیرفعال کنه. چون یک سری توابع دیگه با بسته شدن این تابع از کار می افتن!

برای مثال سرویس مدیریت ایمیل Round Cube در صورت بسته بودن این تابع قسمت Loginاش دچار مشکل میشه. پس این روش در سرورهای اشتراکی در اکثر مواقع جوابگو هست و در سرورهای اختصاصی بازم بستگی به ادمین اون سرور داره که با توجه به نیاز خودش میتونه این تابع رو فعال یا غیرفعال کنه و دلیلش هم واضح هست! چون نهایتش یک یا دو تا سایت روی سرور اختصاصی میزبانی میشن.

روش دوم برای عبور از محدودیت انتی شل ها

1) شل خودمون رو به وسیله الگوریتم base64 انکود می کنیم.

2) شل رو به فرمت png تغییر میدیم.

3) یک فایل inc.php میسازیم و کد زیر رو داخلش قرار میدیم. (نامگذاری فایل ها اختیاریه! و حتما نباید inc.php باشه و میتونه هر چیز دیگه ای باشه)

<?php include_once("shell.png"); ?>

تذکر : به جای shell.png اسم فایل شل موردنظر خودتون رو بنویسید.

4) ابتدا فایل شل و بعد از اون فایل inc.php رو آپلود میکنیم.

5) حالا با فراخوانی فایل inc.php ،شل اجرا میشه.

روش سوم برای عبور از محدودیت انتی شل ها

این روش ساده ترین روش بایپس هست. بعضی مواقع می بینید که سرور اجازه اجرای فایل php رو نمیده، خب شما باید به rule رو براش تعریف کنید که توی اون دایرکتوری که هستید شل شما فایلتون که با فرمت عکس باشه رو با کامپایر php اجرا کنه.

1) یک فایل htaccess. می سازیم و این کد رو داخلش قرار میدیم.

AddType application/x-httpd-php png

2) شل رو به فرمت png تبدیل میکنیم.

3) در قدم آخر فایل htaccess رو آپلود کنید و بعدش شل خودتون که با فرمت png ذخیره کردید رو آپلود کنید.

4) شل خودتون رو فراخوانی کنید، میبینید که شل اجرا میشه و آنتی شل بایپس شد!

تذکر : اگه فرمت شل شما jpg باشه، باید توی فایل .htaccess به جای png ،فرمت jpg رو قرار بدید. در نتیجه فرمت داخل فایل htaccess باید با فرمت شل شما یکی باشه!(به این نکته توجه داشته باشید)

نکته : میتونید از این طریق شل خودتون رو با فرمت های دیگه ای مثل jpg,bmp,gif,xml هم اجرا کنید!

امیدوارم که از این آموزش لذت برده باشید.

موفق باشید.

‫6 دیدگاه ها

    1. کالی لینوکس ۲۰۱۹٫۴ با ویژگی های زیر منتشر شده است:

      -> اضافه شدن یک محیط دسکتاپ جدید به طور پیش فرض، Xfce

      -> طرح جدید GTK3 (برای Gnome و Xfce)

      -> معرفی حالت “Kali Undercover”

      -> “مستندات کالی” خانه جدیدی دارد و هم اکنون از گیت استفاده می شود

      -> بسته بندی های عمومی – وارد کردن ابزارهای خود به کالی

      -> قابلیت Kali NetHunter KeX – دسکتاپ کامل کالی در اندروید

      -> قابلیت BTRFS در هنگام راه اندازی

      -> اضافه شدن PowerShell

      -> ارتقا یافتن کرنل به نسخه ۵٫۳٫۹

      -> رفع اشکالات عادی و به روز رسانی

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

  1. خیلی مطلب مفید و کاربردی بودش، لطفا روشهای بایپس سیملینک و امنیت دهی سرور های لینوکس و پرمیشن بندی هم یک مطلب دربارش بزارین
    با تشکر

    1. درود…
      در پست های بعدی حتما مطلب قرار میدیم
      با تشکر از صبوری شما

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

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


دکمه بازگشت به بالا