Kaspersky Lab Eesti :: Новости » Awards » И еще раз о безопасности *nix


http://www.antiviirus.ee/index.php?p=news&area=2&newsid=436


Новости
И еще раз о безопасности *nix

Учитывая, что мой предыдущий пост был принят в штыки многими линуксоидами, думаю, будет логично рассмотреть более подробно указанный пример, тем более что на днях к нам поступила новая модификация Trojan-Dropper.Linux.Prl.

Trojan-Dropper.Linux.Prl.b

Имя файла: ob.pl. Тип файла: ELF. Обнаружен пользователем на своём сервере после публикации предыдущего блогпоста. Принцип работы остался прежний — создание процесса «/usr/bin/perl» и передача ему через pipe Perl-скрипта.

Сам скрипт хранится в теле трояна в зашифрованном виде. Алгоритм расшифровки при этом выглядит так:


Алгоритм расшифровки Perl-скрипта.

Основная цель работы расшифрованного Perl-скрипта — рассылка спама.

Часть Perl-скрипта, отвечающего за рассылку писем:

if ($session->{$handle}{status} eq "mx_rd")
{
        $session->{$handle}{buffer} = "HELO $buffers->{helo}x0Dx0A";
        $session->{$handle}{status} = "mx_gr";
}
elsif ($session->{$handle}{status} eq "mx_gr")
{
        my ($mail) = &mail($session->{$handle}{sender}); 
        $session->{$handle}{buffer} = "MAIL FROM: <$$mail>x0Dx0A";
        $session->{$handle}{status} = "mx_mf";
}
elsif ($session->{$handle}{status} eq "mx_mf")
{
        my ($mail) = &mail($session->{$handle}{object}); 
        $session->{$handle}{buffer} = "RCPT TO: <$$mail>x0Dx0A";
        $session->{$handle}{status} = "mx_rt";
}
elsif ($session->{$handle}{status} eq "mx_rt")
{
        $session->{$handle}{buffer} = "DATAx0Dx0A";
        $session->{$handle}{status} = "mx_dt";
}
elsif ($session->{$handle}{status} eq "mx_dt")
{
        $session->{$handle}{buffer} = &data($session->{$handle}{object}, $session->{$handle}{sender});
        $session->{$handle}{buffer} .= "x0Dx0A.x0Dx0A";
        $session->{$handle}{status} = "mx_dr";
}
elsif ($session->{$handle}{status} eq "mx_dr")
{
        $buffers->{good}[0] ++;
        $buffers->{good}[1] .= "$session->{$handle}{object}x0A" if $buffers->{level}; 
        $session->{$handle}{object} = ""; 
        $session->{$handle}{buffer} = "QUITx0Dx0A";
        $session->{$handle}{status} = "mx_qt";


Пример рассылаемых писем.

В боте при этом указаны IP-адреса, где установлены административные панели для его работы: 195.144.21.122, 195.144.21.124 и 194.54.83.114.

Откуда дровишки?

Прочитав несколько топиков на различных форумах по данному вопросу и связавшись с администраторами нескольких зараженных серверов, нам удалось выяснить, что данные спам-боты появились на их серверах вследствие 3-х основных причин:
  1. кража пароля от FTP, с помощью вредоносных программ;
  2. перебор паролей от FTP, SSH по словарю;
  3. проникновение через phpbb.
Во всех трёх случаях загрузка спам-бота сопровождалась изменением HTML-файлов и вставкой в них iframe’ов на зараженные сайты.

Обнаружение, лечение, предупреждение повторного заражения

В общем случае обнаружить работу спам бота можно просто с помощью команды «ps -aux». При этом можно выделить три случая, характерных для заражения данным ботом — в зависимости от способа, которым злоумышленник установил его на систему:
  1. интерпретатор Perl запущен с параметрами -w и путем к файлу, непосредственно содержащим указанный спам-бот (характерен для случая проникновения через phpbb);
  2. Perl с параметром -w и путём к файлу, отсутствующему на сервере. (характерен для случая с кражей пароля от FTP с помощью троянских программ);
  3. Perl, запущенный без параметров с помощью дроппера (характерен при переборе пароля).
Из всего выше указанного можно сделать простые выводы для предотвращении заражения машин этим спам-ботом:
  1. Использовать сложные пароли
  2. Использовать последние версии продуктов установленных на сервере
  3. Следить за безопасностью на всех компьютерах, используемых для доступа к сайтам.
Распечатать  Распечатать