Анализ FTP-трафика во время реагирования на инциденты

Анализ FTP-трафика во время реагирования на инциденты

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

Автор: Howard Poston

Введение в протокол FTP

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

Одна из проблем FTP – отсутствие шифрование и возможность анонимной аутентификации. Поскольку этот протокол предназначен для передачи файлов между клиентом и удаленным севером, вышеуказанная особенность может оказаться большой проблемой в плане безопасности.

Для защиты FTP существуют разные протоколы. Например, FTPS, когда трафик заворачивается в TLS (Transport Layer Security), и SFTP, связанного с SSH и также используемого для реализации зашифрованной передачи файлов.

Анализ протокола FTP в Wireshark

FTP – протокол без шифрования, оперирующий на портах 20 и 21. В Wireshark этот трафик можно идентифицировать при помощи фильтра ftp.

https://mk0resourcesinfm536w.kinstacdn.com/wp-content/uploads/1-306.png

Рисунок 1: Пример трафика, передаваемого по протоколу FTP

На рисунке выше показан пример FTP-трафика, отфильтрованного из TCP-потока при помощи Wireshark. Как нетрудно догадаться, протокол FTP работает по схеме «запрос-ответ». Каждый запрос представляет собой команду, в которой могут быть аргументы. Ответы включают в себя код запроса и запрашиваемые данные.

https://mk0resourcesinfm536w.kinstacdn.com/wp-content/uploads/2-269.png

https://mk0resourcesinfm536w.kinstacdn.com/wp-content/uploads/3-218.png

Рисунок 2: Пример запроса и ответа

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

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

Анализ FTP-трафика во время реагирования на инциденты

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

Утечка данных

FTP предназначен для передачи файлов между сервером и (потенциально) множеством различных клиентов. Наиболее распространенное применение этого протокола – создание файловых серверов для совместного централизованного использования официальных копий внутри организации с простым доступом.

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

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

Установка вредоносных программ

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

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

Использование украденных учетных записей (credential stuffing)

Поскольку количество аккаунтов в сетевых сервисах увеличивается, становится сложнее поддерживать уровень безопасности. В результате многие используют слабые и распространенные пароли. По статистике примерно 10% пользователей используют один из 25 наиболее распространенных паролей, и 62% использую одни и те же пароли в персональных и рабочих учетных записях. Даже если злоумышленник будет просто пробовать слабые и распространенные пароли по всем учетным записям, вероятность получения доступа в одном из случаев значительно повышается.

Этот тип атаки, называемый credential stuffing, требует доступа или к хэшам паролей, или к сетевому сервису, требующему аутентификации. Хорошо настроенная FTP служба удовлетворяет второму критерию, когда пользователю нужно пройти авторизацию при помощи рабочей учетной записи для использования этого сервиса.

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

Атака FTP bounce

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

Заключение

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

Ссылки

1. File Transfer Protocol (FTP), Wireshark

2. The most popular passwords of 2018 revealed: Are yours on the list?, WeLiveSecurity

3. Password Reuse Abounds, New Survey Shows, Dark Reading

4. FTP Penetration Testing, Briskinfosec

Где кванты и ИИ становятся искусством?

На перекрестке науки и фантазии — наш канал

Подписаться