Техника сетевых атак
Шрифт:
·
· Hello, World!
·.
·; Без комментариев J
· next
· 421 No next to retrieve.
· ; Завершение сеанса
· quit
· 205.
Это сработало! Сообщение мгновенно появилось
На диске, прилагаемом к книге, содержится демонстрационный пример “/SRC/nntp/htm”, который позволяет отправлять сообщения в модерируемые конференции. Его возможности наглядно демонстрирует следующий эксперимент. Если выбрать группу «с ведущим» [244], (например, medlux.doc.rus на сервере nntp://news.medlux.ru) и попробовать отправить свое сообщение с помощью «Outlook Express», то оно с завидным упорством откажется добавляться в конференцию. Но, если использовать скрипт “NNTP Test Post”, то сообщение незамедлительно появится в группе!
Рисунок 017 Демонстрация отправки сообщения в конференцию с ведущим
А заголовок отправленного сообщения должен выглядеть приблизительно так (поле “Approved” выделено жирным шрифтом, именно с его помощью удалось обойти ограничение сервера):
· Path: news.medlux.ru!not-for-mail
· From: KPNC@aport.ru
· Newsgroups: medlux.doc.rus
· Subject: Test posing
· Date: 11 Apr 2000 11:06:28 GMT
· Organization: Medlux InterNetNews site, Moscow, Russia
· Lines: 1
· Approved: KPNC@aport.ru
· Message-ID: «8cv0vk$fep$1@news.medlux.ru»
· NNTP-Posting-Host: spider.softclub.net
· Xref: news.medlux.ru medlux.doc.rus:3032
·
· Hello,Sailor!
Неплохо бы теперь удалить тестовые сообщения из группы [245]. Как это можно сделать? Какие вообще существуют способы управления сервером? В далекое доисторическое время, когда сеть была доступна ограниченному кругу лиц, и еще никто всерьез не задумывался о безопасности, была предложена концепция управляющих сообщений. В общих чертах суть ее заключалось в том, что если в послании содержалось некое ключевое слово, сервер интерпретировал следующий за ним текст как команды.
Эта методика завоевала большую популярность у разработчиков в виду привлекающей простоты реализации и дожила в неизменном виде до наших дней. Большинство NNTP-серверов допускают удаленное администрирование, не требуя для этого никаких прав.
Управляющие сообщения отличаются от всех остальных наличием поля “Control” в заголовке или ключевым словом “cmsg” в поле “Subject”, оставшаяся часть которого интерпретируется как команды. Поэтому, нет нужды в специализированном программном обеспечении для администрирования сервера, вполне сойдет
Врезка «информация»
Когда-то все происходило несколько иначе. Управляющими считались поля “Subject”, в сообщениях, адресованных группе “all.all.ctl”. Для обеспечения совместимости многие серверы до сих пор поддерживают такое поведение, хотя описанная концепция устарела не на один ледниковый период.
Забавно, что в попытках защитить свой сервер и установить фильтры для управляющих сообщений многие администраторы забывают об этой маленькой документированной (плохо, но документированной) особенности.
Запретить управляющие сообщения администратор не может, потому что они используются для организации взаимодействия между NNTP-серверами. Впрочем, можно настроить систему безопасности так, чтобы потенциально «опасные» команды требовали аутентификации пользователя и были доступны лишь с соответствующими привилегиями доступа. Но в большинстве случаев установленную защиту можно с легкостью обойти, используя простейшие приемы подделки полей заголовка.
Для удаления сообщения можно воспользоваться командой “cancel”, указав уникальный идентификатор (“Message-Id”) удаляемого послания. Отправлять такую команду может только администратор сервера или автор сообщения, то есть поля “From” в удаляемом и управляющем посланиях должны совпадать [246].
Для того чтобы узнать идентификатор сообщения, достаточно воспользоваться командой HEAD. Если удаляемое сообщение текущее, то это может выглядеть, например, так:
· HEAD
· 220 3031 «8cn934$f3r$2@news.medlux.ru» article
· Path: news.medlux.ru!not-for-mail
· From: kpnc@id.ru
· Newsgroups: medlux.doc.rus
· Subject: Test
· Date: 8 Apr 2000 12:35:48 GMT
· Organization: Medlux InterNetNews site, Moscow, Russia
· Lines: 1
· Approved: kpnc@aport.ru
· Message-ID: «8cn934$f3r$2@news.medlux.ru»
· NNTP-Posting-Host: ppp-18.krintel.ru
· Xref: news.medlux.ru medlux.doc.rus:3031
·.
Чтобы иметь возможность убедиться в успешности выполнения операции, необходимо воспользоваться командой GROUP, запомнив число сообщений в группе до попытки удаления корреспонденции.
· group medlux.doc.rus
· 211 3 3030 3032 medlux.doc.rus
· Newsgroups:medlux.doc.rus
· From:«kpnc@aport.ru»
· Approved:«kpnc@aport.ru»
· Subject:cmsg cancel «
Аналогичным образом можно воспользоваться служебным полем “Control”, тогда заголовок будет выглядеть так:
· Newsgroups:medlux.doc.rus
· From:«kpnc@aport.ru»