Как узнать версию ftp сервера
Перейти к содержимому

Как узнать версию ftp сервера

  • автор:

FTP-Map: определяем программное обеспечение и его версию для FTP-серверов и ищем для них эксплойты

Ftpmap сканирует удалённые FTP-сервера для идентификации, какое программное обеспечение и какой версии они используют. Она использует специфичные для программ «отпечатки пальцев» для обнаружения имени программного обеспечение даже тогда, когда банеры были изменены или удалены или когда некоторые функции были отключены. FTP-Map также попытается найти эксплойты для программы/версии, используемой для FTP сервера. FTP-Map также содержит инструменты для удалённого «снятия отпечатков».

Установка FTP-Map на Kali Linux

apt-get install automake autoconf

Я все сторонние программы ставлю в каталог ~/opt

cd ~/opt/ git clone git://github.com/Hypsurus/ftpmap cd ftpmap/ autoreconf ./configure make sudo make install

Использование FTP-Map

ftpmap -s [host] [OPTIONS].

01

Опции: --scan, -S - Начать FTP сканирование. --server, -s - FTP сервер. --port, -P - FTP порт (по умолчанию: 21). --user, -u - FTP пользователь (по умолчанию: anonymous). --password, -p - FTP пароль (по умолчанию: NULL). --execute, -x - Запустить команду на FTP сервере. --nofingerprint, -n - Не создавать отпечаток пальцев. --login, -A - Только залогиниться, напечатать вывод и выйти. --force, -F - Принудительно создать отпечаток. --output, -o - Файл вывода. --list, -L - Получить список файлов и каталогов на FTP сервере. --delete - Удалить файлы/каталоги на сервере. --last-modified, -m - Вернуть время последней модификации заданного файла Опции Fuzzer: --fuzzer, -f - Использовать Fuzzer. --fuzzerlength,-b - Длина буфера для отправки. (по умолчанию: 256) --fuzzer-nologin, -l - Не логиниться. Общие параметры: --version, -v - Показать информацию о версии и выйти. --help, -h - Показать справку и выйти.

Кстати, если судить по адреску электронной почты ( hypsurus@mail.ru ) оставленному для отправки на него новых отпечатков и соответствующих ему названий программного обеспечения, проект создан нашим соотечественником.

4 комментария

Добрый день. Не выполняется команда apt-get install automake autoconf. Какие репозиторий надо добавить в Kali Linux, чтобы выполнить команду?

WebWare Team :

Все команды для Kali на сайте WebWare.biz только для стандартных репозиториев! Это одно из главных правил пользования Kali — не добавлять сторонние источники приложений. Если у вас ошибки «пакеты не найдены» или что-то подобное, то попробуйте

apt-get update

А после этого опять команды из статьи. Если всё равно «пакеты не найдены», то проверьте, есть ли Интернет. Если есть, значит отсутствуют стандартные репозитории. В этой статье рассказано как поправить: https://codeby.net/blogs/proverka-i-vosstanovlenie-repozitoriev-v-kali-linux-iz-komandnoj-stroki/

Алешенька :

Что за ошибка? root@pl:~# ftpmap -S :: Starting FTP-Map 0.14 — Scanning (127.0.0.1:21)…
Error: Cannont read data
root@pl:~# ftpmap -S -s ftp://dota71.dlinkddns.com :: Starting FTP-Map 0.14 — Scanning (:21)…
Error: Cannont read data
root@pl:~# ftpmap -S —server -P 21 ftp://dota71.dlinkddns.com :: Starting FTP-Map 0.14 — Scanning (:21)…
Error: Cannont read data
root@pl:~# ftpmap -S —server ftp://dota71.dlinkddns.com :: Starting FTP-Map 0.14 — Scanning (:21)…
Error: Cannont read data
root@pl:~# ftpmap —server ftp://dota71.dlinkddns.com
Error: Cannont read data

WebWare Team :
Не нужно указывать протокол, так прекрасно работает:

root@WebWare:~/opt/ftpmap# ftpmap -S -s dota71.dlinkddns.com :: Starting FTP-Map 0.14 - Scanning (5.138.187.58:21). :: FTP Banner: 220 (vsFTPd 2.3.4) :: Trying to login with: anonymous:NULL :: 530 Login incorrect. :: SYST command failed. :: Trying to detect FTP server by banner. :: Trying to detect FTP server by fingerprint. :: Generating fingerprint [100%] :: This may be running : +-------------------------------+ 1) Pure-FTPd 1.0.12 (french-funny) - 6.9% +-------------------------------+ 2) Pure-FTPd 0.98.5 - 7% +-------------------------------+ 3) Pure-FTPd 0.97pre5 - 7% +-------------------------------+ :: Searching exploits. :: FTP-Map didn't find any exploits for dota71.dlinkddns.com :: Testing user 'root' for weak passwords.. :: Unable to determine FTP port sequence numbers :: Scan for: 5.138.187.58 completed :: :: Please send the fingerprint to hypsurus@mail.ru to improve FTP-Map.

Как узнать версию ftp сервера

При сканировании удаленной машины Nmap может выдать, что порты 25/tcp , 80/tcp , и 53/udp открыты. Используя свою базу данных nmap-services , состоящюю из около 2200 известных служб, Nmap сообщит, что эти порты вероятно соответстуют почтовому серверу (SMTP), веб серверу (HTTP), и серверу доменных имен (DNS) соответственно. Эта информация обычно верна, т.к. подавляющее большинство служб, использующих 25 TCP порт, фактически, почтовые сервера. Тем не менее, вам не следует полностью полагаться на эту информацию! Люди могут и запускают службы с использованием нестандартных портов.

Даже если Nmap права, и на какой-либо гипотетической машине упомянутой выше запушены SMTP, HTTP и DNS сервера, это не так уж и много информации. Когда производится сканирование с целью обнаружения уязвимостей (или же просто определение структуры сети) компьютеров ваших компаний или клиентов, вам хочется знать, какие точно почтовые и DNS сервера и какие версии используются. Знание точной версии очень помогает в определении, к каким эксплоитам сервер наиболее уязвим. Эту информацию вы можете получить с помощью задания опции определения версии.

После того как какие-либо TCP и/или UDP были обнаружены, Nmap начинает «опрашивать» эти порты, чтобы определить, какие же приложения (службы) их действительно используют. База данных nmap-service-probes содержит запросы для обращения к различным службам и соответствующие выражения для распознавания и анализа ответов. Nmap пытается определить протоколо службы (напр. FTP, SSH, Telnet, HTTP), имя приложения (e.g. ISC BIND, Apache httpd, Solaris telnetd), номер версии, имя хоста, тип устройства (напр. принтер, роутер), семейство ОС (напр. Windows, Linux) и иногда различные детали типа возможно ли соединится с X сервером, версию протокола SSH, или имя пользователя KaZaA. Конечно же, большинство служб не предоставляют такую информацию. Если Nmap была скомпилирована с поддержкой OpenSSL, Она соединится с сервером SSL, чтобы попытаться определить запущенные службы, работающие за зашифрованным слоем. Когда обнаружены службы RPC, удет автоматически задействована опция Nmap ( -sR ) для определения программы RPC и ее версии. После сканирования портов UDP некоторые из них характеризуются как открыт|фильтруется , если сканирование не может определить открыт порт или фильтруется. С заданной опцией определения версии Nmap попытается получить ответ от таких портов (точно так же как она поступает с открытыми портами), и, в случае успеха, поменяет состояние этого порта на открыт открытые|фильтруемые TCP порты обрабатываются так же. Имейте в виду, что опция Nmap -A помимо других команд активирует также и обнаружение версии. Бумажная документация по работе, использованию и настройке опции обнаружения версии доступна на https://nmap.org/book/vscan.html .

Когда Nmap получает ответы от службы, но не может сопоставить их с какой-либо записью в своей базе данных, она выводит на экран специальную информацию и URL, по которому вы можете опубликовать эту информацию, если вы точно уверены, что за служба запущена на исследуемом вами порте. Пожалуйста, потратьте пару минут на публикацию этой информации, т.к. ваша находка поможет остальным. Благодаря таким публикациям, Nmap содержит в своей базе данных около 3000 записей для более чем 350 протоколов, таких как SMTP, FTP, HTTP и т.д.

Функция определения версии включается и управляется с помощью следующих опций:

-sV (Определение версии)

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

—allports (Не исключать порты из проверки определения версии)

По умолчанию, функция определения версии пропускает TCP порт 9100, потому что некоторые принтеры просто распечатывают все, что приходить на этот порт, что ведет к дюжинам страниц HTTP GET запросов, бинарных запросов SSL сессий т.д. Это может быть изменено путем модифицирования или удаления директивы Exclude в nmap-service-probes , или вы можете задать опцию —allports , сканированить все порты не обращая внимания на всякие Exclude директивы.

—version-intensity (Устанавливает интенсивность работы функции)

Когда производится сканирование с заданной опцией определения версии ( -sV ), Nmap посылает серию запросов, каждому из которых присваивается значение в диапазоне от 1 до 9. Запросы с низкими значениями эффективны для большинства типичных служб, в то время как запросы с более высокими значениями редко применяются на практике. Уровень интенсивности определяет, какие запросы должны использоваться во время сканирования. Чем выше значение запроса, тем больше вероятность корректного определения службы. Тем не менее, сканирование с высокой интенсивностью займет много времени. Уровень интенсивности должна быть задана числом от 0 до 9. По умолчанию уровень интенсивности равен 7. Когда запрос привязан к целевому порту посредством директивы nmap-service-probes ports , этот запрос будет производиться вне зависимости от уровня интенсивности. Это гарантирует, что DNS запросы всегда будут производится с использование порта 53, SSL запросы — 443 и т.д.

—version-light (Включить облегченный режим)

Это не что иное как псевдоним для —version-intensity 2 . Этот режим существенно уменьшает время сканирования, но вероятность определения служб сокращается.

—version-all (Использовать каждый единичный запрос)

Псевдоним для —version-intensity 9 , гарантирующий что каждый единичный запрос будет направлен на каждый порт.

—version-trace (Отслеживание процесса сканирования)

Указывает Nmap выводить подробную отладочную информацию о процессе сканирования. Это часть той информации, которую вы можете получить с помощью опции —packet-trace .

-sR (RPC сканирование)

Этот метод работает в связке с различными методами сканирования портов Nmap. При включении этой опции на все обнаруженные открытые TCP/UDP порты посылатеся множество NULL команд программы SunRPC в попытке определить, являются ли эти порты RPC портами, и если так, то какими программами (а также их версии) они используются. Таким образом, вы можете получить ту же информацию как и в случае использования команды rpcinfo -p , даже если целевой сервер портмаппинга (portmapper) находится за брандмауэром (или защищен TCP фильтром). На сегодняшний момент ловушки со сканированием RPC не работают Эта опция автоматически активируется как часть сканирования с функцией определения версии ( -sV ). Т.к. это включено в функцию определения версии и более детально проработано, то опция -sR нужна очень редко.

Что такое FTP-сервер

Рассказываем о преимуществах и принципах работы файлового сервера и FTP-протокола.

Изображение записи

FTP-сервер (файловый сервер) — это компьютер, использующийся для передачи данных по протоколу FTP. С помощью него сервер обрабатывает запросы клиентов, определяет их права, разрешая скачивать или загружать файлы. Клиент же может управлять передачей данных, отправляя специальные команды.

Применение FTP-сервера

Эффективный обмен данными. В отличие от протокола HTTP, FTP передает только файлы, без служебной информации. Как следствие: данные передаются быстрее. Поэтому FTP-сервер — это распространенное решение для удаленного обмена данными между компьютерами. Проще говоря, его можно использовать как хранилище и файлообменник.

Резервное копирование данных. Помимо передачи файлов, FTP-серверы также применяют как средство резервного копирования данных. В зависимости от задачи FTP-серверы могут послужить недорогим и эффективным решением. Чтобы понять, при чем здесь резервное копирование, важно разобраться в принципе работы протокола.

Что такое протокол FTP и как он работает

Наиболее подробно работа FTP-протокола описана в отдельной статье. Ниже выделим основные принципы.

FTP-протокол (File Transport Protocol, протокол передачи файлов) — средство прямой отправки файлов по сети между отправителем (сервером) и получателем (клиентом). В модели OSI считается протоколом прикладного уровня.

FTP использует два различных канала данных: командный канал и канал данных.

Первый передает сообщения о действиях и ответах от сервера клиенту и наоборот. Второй канал передает сами файлы, без служебной информации и команд.

Передача файлов по FTP

FTP поддерживает два режима работы: активный и пассивный. От выбора зависит алгоритм установки сессии.

Активный режим
  1. Клиент устанавливает связь с сервером и отправляет запрос с нестандартного порта P (P > 1024) на 21 порт сервера.
  2. Сервер генерирует и отправляет ответ на порт P клиента.
  3. Сервер устанавливает связь для передачи данных клиенту через 20 порт. При этом данные отправляются на P+1 порт клиента.

Если на пути передачи находится межсетевой экран, использовать активный режим невозможно. Либо потребуется постоянно перенастраивать правила на межсетевом экране.

Пассивный режим
  1. Клиент соединяется с сервером и через 21 порт сообщает, что необходимо работать в пассивном режиме. Запрос отправляется с нестандартного порта P (P > 1024).
  2. Сервер определяет нестандартный порт X для канала передачи данных (X > 1024) и посылает на порт P ответ с номером порта X.
  3. Клиент устанавливает связь для передачи данных через порт P+1 на порт X.

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

Безопасность

При подключении к серверу проверяются клиентские учетные данные, позволяя узнать подлинность пользователя. Но простой авторизации и аутентификации недостаточно для обеспечения достаточной безопасности, если вы работаете с конфиденциальной информацией.

Как было сказано ранее, по умолчанию FTP не обеспечивает безопасное соединение, так как не шифрует трафик. То есть злоумышленники могут перехватывать пакеты для чтения имен, паролей и остальных файлов.

Чтобы этого избежать, можно использовать альтернативные протоколы — SFTP, FTPS или FTPES. Шифрование FTP с помощью этих протоколов обеспечивает защиту данных, ограничивая возможности злоумышленников — например, прослушку или кражу данных.

FTPS- и SFTP-протоколы

FTPS (File Transfer Protocol + SSL) — этот тот же протокол FTP, но с функционалом по созданию зашифрованных сессий с помощью протокола SSL/TLS.

SFTP (Secure File Transport Protocol) — отдельный протокол, основанный не на FTP, а протоколе SSH. Он полностью шифрует трафик, вместе с данными об аутентификации.

Преимущества и недостатки FTP-сервера

Недостатки сервера FTP

  • FTP не обеспечивает безопасность. Все файлы отправляются открытым текстом и подключившийся к каналу злоумышленник может полностью их прочесть.
  • Серверы передачи файлов не проверяют источник отправки на подлинность. Это делает сервер уязвимым перед хакерскими атаками вроде DDoS.
  • Сложно отслеживать действия пользователей, загруженные и скаченные файлы с сервера.

Плюсы сервера FTP

  • FTP умеет быстро передавать большие объемы данных. Из-за отсутствия шифрования и записи системных данных процесс передачи быстрее.
  • С помощью FTP одновременно можно передавать несколько разных файлов или каталогов.
  • Передача может быть возобновлена. Если передача файла прерывается, можно не беспокоиться о потере прогресса. FTP поддерживает функцию бесшовного восстановления — для этого используется команда rest.

Создайте FTP-сервер на мощностях Selectel

Более 100 фиксированных конфигураций с готовностью — 2 минуты.

Как создать и настроить FTP-сервер

Встроенные инструменты Windows

Создать FTP-сервер можно с помощью встроенных инструментов Windows:

1. Откройте панель управления и перейдите в раздел Программы и компоненты:

Настройка в панели управления Windows

2. Во вкладке слева выберите пункт Включение или отключение компонентов Windows.

3. Раскройте IIS, FTP-сервер и поставьте галочки напротив Расширяемость FTP и Служба FTP. Также проверьте папку Средства управления веб-сайтом, поставьте галочки напротив пунктов Консоль управления IIS и Служба управления IIS:

Настройка компонентов Windows. После применения изменений сервер начнет работать.

4. Далее FTP-сервер необходимо настроить. В панели управления нужно выбрать раздел Администрирование.

5. В следующем перечне откройте Диспетчер служб IIS:

Диспетчер служб

6. Разверните список слева, кликнув ПКМ на раздел Сайты, выберите Добавить FTP-сайт:

Диспетчер служб IIS, добавление FTP-сайта.

7. В следующем окне введите название сервера и выберите путь к папке:

Настройка имени FTP-сайта.

8. Выберите IP-адрес для сервера:

Привязка IP-адреса для сервера и выбор сертификата.

9. Выберите правила доступа — с проверкой логина и пароля или анонимный:

Выбор проверки подлинности.

10. Далее настройте брандмауэр Windows — для этого его нужно выбрать в панели управления:

Панель управления Windows.

11. Перейдите к дополнительным параметрам, раскройте пункт Правила для входящих подключений, найдите Входящий трафик FTP и включите его:

Настройка правил входящих подключений.

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

1. В панели управления откройте раздел Администрирование и выберите пункт Управление компьютером:

Управление компьютером в разделе администрирования.

2. Откройте пункт Локальные пользователи, раскройте папку Группы и кликните на Создать группу.

3. Добавьте в группу конкретных пользователей или создайте новых, кликнув по полю Локальные пользователи.

FileZilla Server

Создать FTP-сервер можно с помощью сторонних утилит. Наиболее простой, распространенный и удобный — FileZilla Server. Это решение также поддерживает SSL, что гарантирует безопасность передачи данных.

1. Для начала работы загрузите FileZilla Server. При установке выберите порт администратора или воспользуйтесь предложенным:

Выбор порта администратора и создание пароля.

2. После завершения установки запустите приложение и подключитесь к серверу в качестве администратора. Для этого используйте имя и пароль, которые вы установили во время установки.

3. Откройте Server-Configure. В Server Listeners можно указать адреса, которые будет прослушивать сервер.

4. В разделе Rights management выберите Users и создайте нового пользователя:

Добавление пользователя.

5. В Virtual path впишите виртуальный путь до каталога. Чтобы сразу попасть в корень папки, введите обратный слеш. В Native path укажите полный путь к папке с файлами:

Виртуальный путь до каталога

6. Перейдите в раздел Network Configuration wizard — в нем можно указать диапазон портов, на которых будет работать сервер, а также установить внешний IP-адрес для подключения пользователей:

Network Configuration Wizard

Указываем IP-адрес сервера.

Настройка проброса портов на роутере

Для работы FTP-серверу требуется два типа портов: управляющий (21 по умолчанию) и порты для передачи данных.

Для управляющего порта в конфигурации роутера введите статический адрес сервера, во внешних и внутренних портах укажите порт 21:

Настройка портов на роутере netis. Для других устройств алгоритм похож.

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

Как подключиться к серверу FTP

Через проводник Windows

Введите в адресную строку проводника путь до сервера: ftp:// . В появившемся окне введите логин и пароль пользователя. Готово — в окне проводника должны появиться файлы и директории FTP.

Через браузер

Инструкция похожа на предыдущую. В адресной строке браузера впишите путь до сервера: ftp:// . В появившемся окне введите логин и пароль пользователя. После вы получите доступ к содержимому FTP-сервера.

Подключение к FTP-серверу через браузер.

Через FileZilla Client

Загрузите FileZilla Client на устройство и через менеджер сайтов добавьте FTP-сервер. В качества хоста укажите IP-адрес FTP-сервера и порт. Ниже введите логин пользователя и пароль. Нажмите кнопку Соединиться — в левом окне программы отобразится содержимое FTP-сервера.

Добавление сервера в Filezilla Client.

Заключение

FTP-сервер относительно прост для настройки и использования. Он позволяет быстро скачивать и загружать большие объемы данных, однако не может обеспечить необходимый уровень безопасности. Поэтому необходимо использовать его усовершенствованные версии, такие как SFTP или FTPS. Хотите узнать о них подробнее? Следите за обновлениями в Академии Selectel.

FTP команды в Linux

FTP команды в Linux

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

FTP (File Transfer Protocol) — Это сетевой протокол, который служит для копирования файлов с одного компьютера на другой по средствам либо локальной сети, либо сети интернет. FTP использует 21 порт.
Здесь так же стоит отметить, что протокол FTP уязвим, ваши данные при передаче не шифруются, и могут легко быть перехвачены злоумышленниками. Для более безопасной передачи данных, используйте протокол SFTP ( Secure File Transfer Protocol). Протокол SFTP использует точно такие же команды, как и FTP.

Используйте один из следующих вариантов обращения к серверу:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *