Литмир - Электронная Библиотека

Атака на NNTP-сервер.

O В этой главе:

O Как отправить анонимное сообщение?

O Как обойти фильтрацию IP адресов?

O Как отправить сообщение в конференцию с ведущим?

O Как можно использовать управляющие сообщения?

O Как получить контроль над удаленной машиной?

При описании NNTP-протокола упоминалось, что большинство серверов определяют IP-адрес отправителя сообщения и включают его в заголовок. Чем это чревато? Выставляя свои сетевые координаты на всеобщее обозрение, отправитель серьезно рискует, подвергнуться атаке со стороны злоумышленника, решившего испытать на нем новый эксплоит. Помимо этого, нетрудно установить какому провайдеру принадлежит тот или иной IP-адрес, и выяснить, по крайней мере, географическое происхождение отправителя сообщения. Отсюда уже рукой подать до установления личности жертвы. Грубо говоря, резкой критикой в адрес предмета чужого обожания, вы рискуете, однажды выйдя из подъезда, схлопотать по морде [241].

Поэтому, с точки зрения личной безопасности, IP-адрес лучше скрыть. Этого можно достичь, используя Proxy-сервер, или скрипт, исполняющийся на удаленном узле. В написании такого скрипта нет ничего сложного, - достаточно вспомнить команды NNTP-протокола и последовательно передать их серверу, через TCP-соединение. На языке Perl листинг не займет и десятка строк. Простейший пример находится на прилагаемом к книге диске, в файле “/SRC/nntp_post.pl”. Он предназначен для запуска через браузер и должен быть помещен на любой сервер, поддерживающий CGI.

Результат работы скрипта показан ниже:

Техника сетевых атак - img_60

Рисунок 16 Результат работы скрипта, создающего новое сообщение

Заголовок сообщения, отправленного с помощью скрипта, должен выглядеть приблизительно следующим образом:

· Path: news.medlux.ru!not-for-mail

· From: «[email protected]»

· Newsgroups: medlux.test

· Subject: helo

· Date: 11 Apr 2000 10:33:45 GMT

· Organization: Medlux InterNetNews site, Moscow, Russia

· Lines: 1

· Message-ID: «[email protected]»

· NNTP-Posting-Host: spider.softclub.net

· Xref: news.medlux.ru medlux.test:548

·

· Helo!

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

Такой прием часто используют не только для сокрытия собственного адреса, но и в других целях. Например, некоторые NNTP-сервера доступны лишь из доменов *.NET, но не *.COM и тем более *.RU

Врезка «замечание»

Обидно, конечно, но ни для кого не секрет, что посетители “from Russia Federation” часто считаются людьми второго сорта. Порой им закрывают доступ, отказываются предоставлять бесплатный хостинг, и вообще стараются по возможности избегать.

Поэтому, некоторые ресурсы становятся доступными лишь с использованием иноземных Proxy-серверов или скриптов, расположенных в соответствующих местах.

Так, отечественный сервер news://news1.demos.su/ доступен исключительно из-под домена *.net [242], а при попытке подсоединиться к нему любым другим пользователям он сообщает, разрывая соединение:

· 502 You have no permission to talk. Goodbye

Другой возможной причиной отказа в обслуживании становится невозможность определения доменного имени клиента по его IP адресу (Reverse Lockup). Это зависит исключительно от настоек DNS-сервера провайдера клиента, некоторые из которых не поддерживают такой возможности.

В этом случае, сообщения большинства NNTP-серверов будут выглядеть приблизительно следующим образом:

· 502 You have no permission to talk, (reverse dns disabled, see nodns in dnews.conf) {209.143.154.93}, Goodbye

Словом, существует множество причин для использования Proxy-серверов или любых других способов введения NNTP-сервера в заблуждение. Однако списки общедоступных Proxy есть не только у пользователей, но и администраторов, которые порой включат их в «черный список». Напротив, использование скриптов не получило массового распространения, поэтому, только параноические администраторы запрещают доступ со всех серверов, предоставляющих бесплатный хостинг.

Следующий пример демонстрирует подключение к узлу nntp://news1.demos.su, путем использования слегка модифицированного файла nntp_post.pl (модификация заключается в замене адрес сервера, и добавления команды “LIST” для выдачи списка доступных групп).

Спустя секунду-другую после запуска скрипта в окне браузера должен появится текст, приблизительно следующего содержания:

·

201 demos2 InterNetNews NNRP server INN 1.7.2 14-Dec-1997 (DEMOS revision) ready (no posting).

·»LIST

· 215 Newsgroups in form "group high low flags". demos.local.ads 0000000003 0000000004 m.

В момент написания этой главы, оказалась доступна всего лишь одна конференция, но это ничуть не уменьшает значимости того факта, что удалось «достучаться» до сервера, доступ к которому при нормальном ходе вещей оставался невозможен.

В качестве альтернативы можно попробовать поместить исполняемый код не на сервер, а локальную машину, владелец которой заведомо (или потенциально) имеет доступ к необходимому ресурсу.

Врезка «информация»

Среди тысяч вирусов существует, по крайней мере, два, пользующихся для своих нужд ресурсами NNTP. Это печально известные «Worm.Happy» (Internet - червь) и «Win32.Parvo» (файловый).

Однако установить соединение с NNTP-сервером это только половина проблемы. Гораздо важнее получить возможность создания собственных сообщений. Большинство конференций (особенно из группы Fido7) запрещают прямой постинг, и такие группы отмечаются флагом “m” (от английского moderator - ведущий конференции).

Попытка проигнорировать это ограничение ни к чему не приводит. Даже если север подтвердит успешность отправки, сообщение никудане будет отправлено. Но если добавить в заголовок сообщения поле “Approved” с указанием адреса модератора (или адреса отправителя), такое сообщение, скорее всего, будет воспринято, как правильное, и без проблем добавится в конференцию.

Протокол, приведенный ниже (на диске, прилагаем к книге, он находится в файле “/LOG.nntp_post.log”), демонстрирует использование поля “Approved” для отправки писем в конференцию, доступ к которой обычным способом невозможен.

· ; Устанавливается соединение с сервером news.medlux.ru по 119 порту

· 200 news.medlux.ru InterNetNews NNRP server INN 1.5.1 17-Dec-1996 ready (posting ok).

· ; Получение списка доступных конференций на сервере

· ; и выбор любой из них, помечанной флагом m

· list

· 215 Newsgroups in form "group high low flags".

89
{"b":"837821","o":1}