Чтение онлайн

на главную

Жанры

Linux глазами хакера

Флёнов Михаил Евгеньевич

Шрифт:

10.1.1. Команды FTP-протокола

Давайте рассмотрим листинг 10.1. В нем приведен пример, в котором клиентская программа обменивается командами с FTP-сервером. Если в начале строки стоит знак ">", то текст из нее был отправлен серверу, иначе — это ответ FTP-сервера на нашу команду.

Листинг 10.1. Пример работы протокола FTP

< 220 Flenov Mikhail FTP Server

> USER Anonymous

< 331 Anonymous access allowed, send identity (e-mail name) as password.

> PASS your@mail.com

< 230 Anonymous user logged in.

> PWD

< 257 "/" is current directory.

> TYPE A

< 200 Type set to A.

> PASV

< 227 Entering Passive Mode (127,0,0,1,13,20).

> LIST

< 125 Data connection already open; Transfer starting.

< 226 Transfer complete.

Самой

первой строкой идет приглашение сервера FTP. Его мы получаем сразу же, в ответ на соединение с 21 портом. В этой строке чаще всего находится текстовое описание сервера, с которым произошло соединение, и его версия. В данном случае здесь вместо конкретного названия мое имя, но в реальном сервере при настройках по умолчанию будет видна примерно следующая строка:

220 flenovm.ru FTP server (Version wu-2.6.2-5) ready.

Для чего я изменил строку приветствия? Все очень просто, в ней по умолчанию показывается имя домена, имя и версия FTP-сервера и сообщение о приветствии. Ничего страшного не видите? А я вижу — хакеру достаточно подключиться на 21 порт, чтобы знать, с каким FTP-сервером он имеет дело.

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

После чтения строки сообщения можно посылать команды FTP-серверу. Но ничего особого выполнить не удастся, пока вы не представитесь серверу. Для этого нужно выполнить FTP-команды: user с параметром имя пользователя, а затем

PASS
, указав пароль.

Серверы FTP позволяют работать с тремя типами авторизации: действительная, гостевая и анонимная. В первом случае вы должны передать серверу реальное имя и пароль пользователя, которому разрешен доступ к серверу. Тогда после выполнения команды

USER
вы увидите сообщение о необходимости ввести правильный пароль для указанного пользователя:

331 Password required for flenov

В случае с анонимным доступом в качестве имени нужно указать

Anonymous
(команда
USER Anonymous
). В ответ на это сервер вернет нам сообщение:

331 Anonymous access allowed, send identity (e-mail name) as password.

Здесь говорится, что анонимный доступ разрешен, и вы должны передать в качестве пароля E-mail-адрес. Честно говоря, можно ввести и чужой E-mail, например, соседа или кого-нибудь другого. Это сервер проконтролировать не сможет. Некоторые серверы вообще не проверяют корректность адреса даже по простым шаблонам, и можно передавать что угодно.

На практике анонимный доступ обладает

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

Реальный пользователь может путешествовать по всей файловой системе, и возможности ограничены только правами доступа используемой учетной записи.

Гостевой доступ по своим правам является чем-то промежуточным между анонимным и действительным. По сравнению с анонимным пользователем гость обладает большими правами, и ему может выдаваться разрешение на загрузку файлов, но, в отличие от действительного, он работает только в своей директории. Например, если гостю назначен каталог /home/robert, то он сможет безнаказанно здесь работать с файлами и подкаталогами, но выше этой директории подняться невозможно. Вы можете определить любое имя в качестве гостевого.

Обратите внимание, что пароль в команде pass передается абсолютно в открытом виде. Это серьезная проблема. В каждой главе, где мы рассматриваем какой-либо сервис, доводится сталкиваться с открытой передачей данных. Ну что поделаешь, если на заре рождения Интернета никто не думал о хакерах. Теперь приходится изобретать разные методы, чтобы спрятать пароль.

Если ваш сервер обслуживает только анонимные соединения, то пароли могут передаваться как угодно. При такой аутентификации любой пользователь итак может подключиться к серверу, указав произвольный E-mail-адрес в качестве пароля. Но подобные серверы используются только с общедоступными ресурсами/файлами. При наличии важной информации доступ происходит по паролю, и необходимо сделать так, чтобы он шифровался. Для этого можно использовать stunnel или уже готовый протокол SFTP, который мы рассматривали в разд. 5.3.8.

Отличное решение я видел на одном из публичных Web-серверов около 10 лет назад. Для того чтобы закачать данные на сервер, необходимо было зарегистрироваться, заполнив Web-форму с личными данными. Затем вам выдается пароль на доступ, который действует только в течение одной сессии. После этого пароль уничтожается, и повторное подключение становится невозможным. Файлы закачиваются в специальную директорию, в которую разрешена лишь запись. Самим файлам устанавливаются права только для чтения и записи, а выполнение остается недоступным. Таким образом, пароли можно передавать в открытом виде. Даже если хакер увидит его, подключиться не сможет.

Реализовать одноразовые пароли достаточно просто, если ваш сервер использует подключаемые модули аутентификации РАМ (см. разд. 3.3.3).

После того как вы авторизовались на сервере, можно выполнять любые другие команды FTP-сервера. Но тут есть одна проблема — список директив зависит от сервера. Конечно же, есть определенные требования, которых придерживаются все производители, это основные команды, которые описаны в RFC (Requests for Comments, рабочие предложения). Так как возможности, предоставляемые стандартом, уже устарели, то разработчики Web-серверов начали добавлять свои функции, которые могут отличаться в разных версиях программ. Так что, если клиентская программа в каких-то ситуациях ведет себя не совсем корректно, то это еще не значит, что она плохая, просто она может быть несовместима с данным сервером.

Поделиться:
Популярные книги

Хозяйка дома на холме

Скор Элен
1. Хозяйка своей судьбы
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Хозяйка дома на холме

Удобная жена

Волкова Виктория Борисовна
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Удобная жена

Первый пользователь. Книга 3

Сластин Артем
3. Первый пользователь
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Первый пользователь. Книга 3

Усадьба леди Анны

Ром Полина
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Усадьба леди Анны

Возвышение Меркурия. Книга 5

Кронос Александр
5. Меркурий
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 5

Любовь Носорога

Зайцева Мария
Любовные романы:
современные любовные романы
9.11
рейтинг книги
Любовь Носорога

Идеальный мир для Лекаря 18

Сапфир Олег
18. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 18

СД. Том 17

Клеванский Кирилл Сергеевич
17. Сердце дракона
Фантастика:
боевая фантастика
6.70
рейтинг книги
СД. Том 17

Сердце Дракона. Двадцатый том. Часть 2

Клеванский Кирилл Сергеевич
Сердце дракона
Фантастика:
фэнтези
5.00
рейтинг книги
Сердце Дракона. Двадцатый том. Часть 2

Жена по ошибке

Ардова Алиса
Любовные романы:
любовно-фантастические романы
7.71
рейтинг книги
Жена по ошибке

На границе империй. Том 7. Часть 3

INDIGO
9. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.40
рейтинг книги
На границе империй. Том 7. Часть 3

(Не)нужная жена дракона

Углицкая Алина
5. Хроники Драконьей империи
Любовные романы:
любовно-фантастические романы
6.89
рейтинг книги
(Не)нужная жена дракона

Попаданка в деле, или Ваш любимый доктор

Марей Соня
1. Попаданка в деле, или Ваш любимый доктор
Фантастика:
фэнтези
5.50
рейтинг книги
Попаданка в деле, или Ваш любимый доктор

Наследник Четырех

Вяч Павел
5. Игра топа
Фантастика:
героическая фантастика
рпг
6.75
рейтинг книги
Наследник Четырех