Как разблокировать аккаунты, защитить компьютер и стать хакером
Полезные инструменты

Ваш IP

Узнай свой IP адрес

Проверить сайт

Test tools by WebSitePulse

Генератор MD5

1. Введите строку Строка:


2. Копировать MD5:

Реклама

интернетИсторически методики рассылки спама пережили три базовых этапа:
Рассылка вручную. Этот метод до сих пор применятся, но эффективность его невелика, и с таким спамом очень просто бороться путем внесения почтового и ip-адреса отправителя спама в черный список.
Программы автоматической рассылки спама. Могут быть выполнены в виде утилиты под Windows или скрипта для размещения на web-сайте. В сущности, это автоматизированная разновидность метода 1, и иногда она работает по принципу лохотрона — пользователю обещаются золотые горы, если он примет участие в рассылке спама при помощи указанной программы. Доверчивые пользователи ловятся на это, принимают участие – в результате они и денег не получат, и их ip попадает в черные списки.
Рассылка спама при помощи сети троянских прокси и спам-ботов. Этот метод наиболее популярен и актуален в настоящее время и поэтому заслуживает детального рассмотрения.
Во-первых, для построения сети троянских прокси или ботов необходимо каким-либо образом заразить множество компьютеров этим самым ботом. Достигнуть этого можно при помощи эксплойтов, Trojan-Downloader, почтовых или сетевых червей. Наиболее простая схема – это Trojan-Downloader, который после запуска доверчивым пользователем затаскивает на пораженный компьютер все остальные компоненты.
Далее, после установки и запуска, спам-бот связывается с сервером владельцев. Несложно догадаться, что для работы ему необходим список email-адресов, по которым следует рассылать спам, параметры рассылки и шаблоны самих писем. Чаще всего получение этой информации ведется по многоступенчатой схеме – на первом этапе спам-бот посылает своим хозяевам информацию о том, что он запущен (с указанием IP-адреса пораженной машины, ее характеристиками и неким уникальным идентификатором ), в ответ получает конфигурацию, содержащую, в частности, URL серверов, с которых ему следует загружать списки адресов и шаблоны спама. Далее спам-бот загружает базу адресови шаблоны, после чего приступает к рассылке. Важной особенностью является то, что спам-бот вместо тупой рассылки заданной текстовки по списку адресов может модифицировать текст, дополнять его картинками или представлять в виде графики в соответствии с заданным алгоритмом и шаблоном. После завершения рассылки порции писем многие спам-боты посылают отчет о проделанной работе . Отчет может содержать статистические данные (количество успешных рассылок и ошибок) и список адресов, по которым не удалось разослать спам.
Для пользователя появление на компьютере спам-бота является крайне неприятным событием. Во-первых, он накрутит ему десятки мегабайт трафика. А во-вторых, IP пораженной машины с высокой степенью вероятности попадет в черные списки, и в дальнейшем возникнут проблемы с отправкой нормальной почты. Это особенно важно для фирм, имеющих свой почтовый сервер и статический IP-адрес – всего один юзер со спам-ботом может причинить массу головной боли админам.
Построение сетей из спам-ботов является прибыльным бизнесом – объектом торгов может быть сам спам-бот, готовая сеть из таких ботов или платная рассылка спама, осуществляемая ботами. Бороться с рассылаемым при помощи ботов спамом намного сложнее – фильтрация по IP не эффективна, а модификация писем затрудняет отсев по контексту при помощи байесовских фильтров или сигнатурных анализаторов.
Помимо спам-ботов существует еще одна методика рассылки спама, основанная на применении так называемых троянских прокси (Trojan-Proxy), которые позволяют злоумышленнику работать в сети от имени пораженной машины. Типовой алгоритм работы троянского прокси состоит в открытии на прослушивание некоторого TCP-порта (иногда номер порта статический, но чаще произвольный – для затруднения обнаружения путем сканированием портов), после чего он связывается с владельцами и передает им IP и порт. Далее он работает как обычный прокси-сервер. Многие троянские прокси умеют размножаться по принципу сетевых червей или при помощи уязвимостей.
Важно отметить, что существует множество гибридов – например, спам-бот может обладать функцией Trojan-Downloader для загрузки своих обновлений или установки дополнительных компонентов.
Найти и вскрыть!
Рассмотрим реальный пример – зловреда Trojan.Win32.Spabot.ai. Его установка начинается с загрузки из интернета дроппера размером около 29 Кб. Запустившись, дроппер создает на диске файл C:\WINDOWS\system32\rpcc.dll и регистрирует себя в автозапуск в качестве расширения Winlogon (ключик HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\rpcc). Далее он внедряет троянский код в процесс winlogon.exe и запускает его через CreateRemoteThread – в результате деятельности троянского кода происходит подгрузка библиотеки rpcc.dll (это классическая методика инжекта библиотек в процесс «по Рихтеру»). Работает библиотека по описанному выше алгоритму – получает задание и начинает методичную рассылку спама. В качестве лирического отступления следует заметить, что среди троянских прокси и спам-ботов метод автозапуска в качестве расширения Winlogon весьма популярен. Его плюс в том, что работа идет из контекста winlogon.exe, отдельного процесса у зловреда нет, а библиотеку с «системным» именем типа rpcc.dll не всякий юзер решится удалить. Если еще добавить руткит-маскировку, восстановление ключей реестра и монопольное открытие файла, то получим труднообнаруживаемого и трудноудаляемого зловреда.
Теперь посмотрим на спам-бота с точки зрения защиты. Конечно, для борьбы с ними можно посоветовать антивирусы, Firewall и проактивную защиту… Но на самом деле детектировать наличие спам-бота очень несложно и без них. Дело в том, что даже в случае идеальной руткит-маскировки, спам-бота выдает рассылка спама – достаточно вооружиться сниффером и посмотреть, что твориться в сети. Выбор сниффера в данном случае не важен, но желательно, чтобы он умел реконструировать TCP-сессии и накапливать статистику. Мне для таких опытов нравится использовать CommView, очень неплох Ethereal. Обнаружив в сети зараженную спам-ботом машину, мы увидим примерно такую статистику
Аналогичным способом, кстати, можно ловить почтовых червей – разница с точки зрения трафика лишь в том, что червь рассылает свои копии вместо спама.
Однако у сниффера есть один большой минус – он слишком громоздкий для оперативной проверки компьютера и требует инсталляции. Для исследования локального компьютера выходом из положения является утилита TDIMon , которая поможет не только обнаружить «нездоровую» сетевую активность, но и вычислить порождающее ее приложение.
Кроме того, не сложно изготовить собственный детектор спам-ботов при помощи C на основе анализа сетевого трафика. Рассмотрим его исходник:
#include
#include
#include

// Буфер для приема данных
#define MAX_PACKET_SIZE 65535
static BYTE Buffer[MAX_PACKET_SIZE];

int _tmain(int argc, _TCHAR* argv[])
{
WSADATA wsadata; // Инициализация WinSock
SOCKET RawSocket; // Слушающий сокет
int res = 0;

// Инициализация WS2_32
WSAStartup(MAKEWORD(2,2), &wsadata);
// Создание RAW-сокета
RawSocket = socket( AF_INET, SOCK_RAW, IPPROTO_IP );

// Определение имени хоста для нашего ПК
char HostName[256] =»localhost»;
gethostname(HostName, sizeof(HostName));
printf(«HostName = %s \n», HostName);

// Определение информации по имени хоста
PHOSTENT pLocalHostEnt;
pLocalHostEnt = gethostbyname(HostName);

// ППодготовка структуры SockAddr с адресом нашего хоста
SOCKADDR_IN SockAddr;
ZeroMemory(&SockAddr, sizeof(SockAddr));
SockAddr.sin_family = AF_INET;
SockAddr.sin_addr.s_addr = ((in_addr *)pLocalHostEnt->h_addr_list[0])->s_addr;
/*
// Если на ПК несколько сетевых карт, то вместо определения IP его нужно задать вручную
SockAddr.sin_addr.s_addr = inet_addr(«x.x.x.x»);
*/
printf(«Host IP = %s \n», inet_ntoa(SockAddr.sin_addr));

// Привязка
res = bind(RawSocket, (SOCKADDR *)&SockAddr, sizeof(SOCKADDR));

// Переключение сетевой карты в «promiscuous mode» для захвата всех пакетов
unsigned long flag = 1;
res = ioctlsocket(RawSocket, SIO_RCVALL, &flag);

// Приём IP-пакетов в «мертвом» цикле
while( true )
{
// Ожидание очередного пакета
int count;
ZeroMemory(&Buffer, sizeof(Buffer));
count = recv( RawSocket, (char *)Buffer, sizeof(Buffer), 0 );
// Анализ только пакетов TCP v4
if (count > 33 && Buffer[0] == 0×45 && Buffer[9] == 0×06) {
// Порт = 110 ? Это POP3
if ((Buffer[20] == 0 && Buffer[21] == 110) ||
(Buffer[22] == 0 && Buffer[23] == 110))
// Отлов пакетов, у которых выставлены флаги SYN + ACK
if (Buffer[33] & 0×12 == 0×12)
printf(«POP3: %d.%d.%d.%d -> %d.%d.%d.%d \n»,
Buffer[12], Buffer[13], Buffer[14], Buffer[15],
Buffer[16], Buffer[17], Buffer[18], Buffer[19]);
// Порт = 25 ? Это SMTP
if ((Buffer[20] == 0 && Buffer[21] == 25) ||
(Buffer[22] == 0 && Buffer[23] == 25))
// Отлов пакетов, у которых выставлены флаги SYN + ACK
if (Buffer[33] & 0×12 == 0×12)
printf(«SMTP: %d.%d.%d.%d -> %d.%d.%d.%d \n»,
Buffer[12], Buffer[13], Buffer[14], Buffer[15],
Buffer[16], Buffer[17], Buffer[18], Buffer[19]);
}
}
closesocket(RawSocket);
WSACleanup();
}
Принцип действия данного детектора крайне прост – в его основе лежит сниффер на базе RAW-сокетов. Приведенный выше код инициализирует библиотеку WS2_32, затем определяет имя хоста и его IP (в реальной утилите стоит предусмотреть возможность указания IP через командную строку – пригодится для запуска на компьютере с несколькими сетевыми картами). Далее сетевая карта переключается в promiscuous mode для приема всех пакетов. Данную фичу тоже можно сделать опциональной – тогда появится возможность анализировать трафик только того компьютера, на котором запущена утилита. Прием и анализ пакетов организован в цикле: ожидаем приема очередного пакета и анализируем его заголовки. Для каждого принятого пакета мы определяем тип по его заголовку – нас интересуют только пакеты TCP/IP v4. Если это так, то далее проверяем номер порта – для отлова спам-бота нам интересен порт 25, соответствующий SMTP-протоколу. При обнаружении таких пакетов на экран выводятся IP-адреса источника и получателя пакета. Для уменьшения протокола в данном исходнике предусмотрен еще один уровень фильтрации – утилита реагирует только на пакеты с установленными флагами SYN + ACK. Если запустить такую утилиту на зараженном спам-ботом компьютере (или такой компьютер будет в одном сегменте сети с тем, на котором запущена утилита), то зафиксируется бурный обмен по порту 25.
Подобная утилита, конечно, не панацея, но в ряде случаев она может весьма пригодиться сисадмину, тем более что программа очень простая, и ее несложно модифицировать для других видов оперативного анализа трафика. Если дополнить этот пример статистическим анализатором, то несложно построить собственную IDS-систему – тут поле деятельности не ограниченно :). Естественно, что при применении такой утилиты или сниффера следует помнить, что невозможно анализировать трафик компьютеров в сети, построенной на базе свитчей – в этом случае анализ трафика следует вести на маршрутизаторе, отвечающем за обмен локальной сети с внешним миром. В UNIX-системах для такого мониторинга удобно применять tcpdump – он является штатным средством, и полученный в результате его работы текстовый протокол несложно проанализировать. Простейший пример запуска этого сниффера – «tcpdump -I tcp port 25 > smtp.log».

Скорость печати
Набирайте отображаемый текст и вы узнаете вашу скорость набора текста


Рейтинг@Mail.ru


Copyright © 2025 Как разблокировать аккаунт. Все права защищены.