Читаем Техника сетевых атак полностью

Сканирование пригодно для исследования локальных сети различных компаний, но найти с его помощью хороший NNTP-сервер в Internet очень трудно, поскольку таких серверов относительно немного, и все они достаточно равномерно распределены по пространству IP-адресов.

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

Диапазон перебираемых адресов можно существенно сузить, если обратить внимание на тот замечательный факт, что все IP-адреса, принадлежащие одному провайдеру, обычно очень близки друг другу.

В следующем примере в качестве объекта сканирования [236] выступает крупного поставщика сетевых услуг (в том числе и телеконференций) Демос, публичный web-сайт которого так называется www.demos.su, (IP-адрес равен 194.87.0.48 [237])

Используя любой сканер, (например, «SuperScan», расположенный на страничке http://members.home.com/rkeir/software.html) можно исследовать узкий диапазон адресов 194.87.0.1 - 194.87.0.254 всего лишь за десяток - другой минут.

В результате этой операции обнаруживается, что Демос имеет множество промежуточных SMTP и NNTP серверов, открытых для прямого доступа! Например, таких как:

Фрагмент протокола сканирования находится на диске под имением /LOG/demos/txt. Он типичен для крупного провайдера, имеющего в своем распоряжении десятки серверов.

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

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

Полный путь, проделанный сообщением, содержится в поле “Path”, а сервер отправителя в поле “NNTP-Posting Host”. В примере, приведенном ниже, показаны заголовки двух сообщений: (поля “Path” и “NNTP-Posting Host” выделены жирным шрифтом):

· Path: news.medlux.ru!Melt.RU!carrier.kiev.ua!news.kharkiv.net!useua!not-for-mail

· From: Nadezda Alexsandrovna «okline@email.itl.net.ua»

· Newsgroups: medlux.trade.optika

· Subject: I am looking for a permanent wholesale buyer of women's hair 30-60 cm long of all colours. Phone in Kharkov (0572)329639, 364556, fax 329763.

· Date: Thu, 6 Apr 2000 05:01:15 +0300

· Lines: 16

· Distribution: world

· Message-ID: «8cgr73$bsl$25@uanet.vostok.net»

· Reply-To: okline@email.itl.net.ua

· NNTP-Posting-Host: ums.online.kharkov.com

· NNTP-Posting-Date: 6 Apr 2000 02:02:11 GMT

· Xref: news.medlux.ru medlux.trade.optika:904

· From: a@b.c

· Subject: ammivit

· Reply-To: korzina@windoms.sitek.net

· Message-ID: «xjfEiY4l$GA.192@mailserver.corvis.ru»

· Newsgroups:ural.commerce

· Date: Mon, 27 Mar 2000 04:48:14 +0400

· Lines: 25

· Path: news.medlux.ru!mailserver.corvis.ru

· NNTP-Posting-Host: t1-55.sitek.net 212.34.32.118

· Xref: news.medlux.ru relcom.medicine.blood-service:2982

Поразительно, но эти два сообщения открывают семь восемь NNTP-серверов (и это еще не самый лучший результат)! Все они, перечислены ниже:

· nntp://news.medlux.ru (бесплатный)

· nntp://Melt.RU (хост не найден)

· nntp://carrier.kiev.ua (бесплатный)

· nntp://news.kharkiv.net (приватный)

· nntp://ums.online.kharkov.com (хост не найден)

· nntp://mailserver.corvis.ru (бесплатный)

· nntp://t1-55.sitek.net (хост не найден)

И хотя часть узлов по непонятой причине не отвечает [239], результатами «улова» трудно оставаться недовольным. Анализом заголовков всего двух сообщений найдено три бесплатных сервера, разрешающих постинг.

А если проанализировать все сообщения, находящиеся на каждом из этих серверов, и все сообщения на каждом из вновь найденных серверов, подобным рекурсивным спуском можно найти едва ли не все NNTP-сервера, существующие в сети!

Узкое место такой операции - пропускная способность канала, соединяющего ищущего с Internet. Получать гигабайты сообщений через модемную линию нереально. Поэтому, эту задачу лучше переложить на плечи автономного скрипта, работающего на узле с быстрым каналом, или различными способами оптимизировать алгоритм (так, например, ни к чему получать от одного и того же адресата более одного сообщения, а количество уникальных отправителей в сети велико, но конечно) [240].

Перейти на страницу:

Похожие книги

Programming with POSIX® Threads
Programming with POSIX® Threads

With this practical book, you will attain a solid understanding of threads and will discover how to put this powerful mode of programming to work in real-world applications. The primary advantage of threaded programming is that it enables your applications to accomplish more than one task at the same time by using the number-crunching power of multiprocessor parallelism and by automatically exploiting I/O concurrency in your code, even on a single processor machine. The result: applications that are faster, more responsive to users, and often easier to maintain. Threaded programming is particularly well suited to network programming where it helps alleviate the bottleneck of slow network I/O. This book offers an in-depth description of the IEEE operating system interface standard, POSIX (Portable Operating System Interface) threads, commonly called Pthreads. Written for experienced C programmers, but assuming no previous knowledge of threads, the book explains basic concepts such as asynchronous programming, the lifecycle of a thread, and synchronization. You then move to more advanced topics such as attributes objects, thread-specific data, and realtime scheduling. An entire chapter is devoted to "real code," with a look at barriers, read/write locks, the work queue manager, and how to utilize existing libraries. In addition, the book tackles one of the thorniest problems faced by thread programmers-debugging-with valuable suggestions on how to avoid code errors and performance problems from the outset. Numerous annotated examples are used to illustrate real-world concepts. A Pthreads mini-reference and a look at future standardization are also included.

David Butenhof

Программирование, программы, базы данных
Java 7
Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др. Дано подробное изложение последней версии сервлетов, технологии JSP и библиотек тегов JSTL. Около двухсот законченных программ иллюстрируют рассмотренные приемы программирования. Приведена подробная справочная информация о классах и методах Core Java API.

Ильдар Шаукатович Хабибуллин

Программирование, программы, базы данных