Защита облачных технологий

Безопасность системы и практическое тестирование на проникновение

пользователей их имена

Contents

  • Листинг 3. Выполнение атаки путем полного перебора с помощью Metasploit
  • Листинг 4. Использование команд whois и host для определения цели
  • Листинг 5. Зондирование сервера на наличие открытых портов

Contents

    • Листинг 3. Выполнение атаки путем полного перебора с помощью Metasploit
    • Листинг 4. Использование команд whois и host для определения цели
    • Листинг 5. Зондирование сервера на наличие открытых портов

    Contents

    • Листинг 3. Выполнение атаки путем полного перебора с помощью Metasploit
    • Листинг 4. Использование команд whois и host для определения цели
    • Листинг 5. Зондирование сервера на наличие открытых портов

    • Листинг 3. Выполнение атаки путем полного перебора с помощью Metasploit
    • Листинг 4. Использование команд whois и host для определения цели
    • Листинг 5. Зондирование сервера на наличие открытых портов

    Безопасность системы и практическое тестирование на проникновение


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

    Я начну с рассмотрения некоторых тенденций современного хакерства, основываясь на обобщенном рассмотрении подходов злоумышленников к поиску и использованию уязвимостей. Затем я рассмотрю некоторые инструменты, используемые на каждой стадии атаки, а также соответствующие методы и инструменты защиты.
    Попытка получить доступ к системе, чтобы нанести вред, это, очевидно, дурной поступок, за который можно лишиться свободы. Но иногда речь идет не о нанесении вреда, а о попытке добиться того, чего не могут другие. Т.н. этический взлом это атака на систему в интересах ее владельца для выявления уязвимостей, которые могут стать причиной злоупотреблений.
    В некотором смысле взлом сегодня стал автоматизированным процессом. безопасность веб сервера Становятся все более популярными комплексы инструментов для взлома, включающие в себя сетевую разведку, процесс зондирования и каталог уязвимостей, проиндексированных по приложениям и версиям. Такие инструменты предоставляют начинающим хакерам доступ к сложным эксплойтам, позволяющим выполнять изощренные атаки.
    Одной из самых популярных инфраструктур для исследования уязвимостей в сисх является Metasploit. Эта инфраструктура содержит средства сетевой разведки и зондирования цели (для определения операционной системы и открытых портов цели), а также библиотеку доступных эксплойтов, которые можно использовать для получения доступа к системе. Metasploit хорошо расширяется с помощью определяемых пользователем модулей для новых форм поведения.

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

    Получив IP-адрес (или список адресов), можно начать процесс зондирования для выявления незащищенных точек контакта.
    Зондирование цели это выявление точек контакта, которые можно использовать для проникновения. Как правило, этими точками являются сетевые порты, через которые приложения предоставляют услуги.

    Следующим шагом после определения портов является их классификация в зависимости от того, что работает за ними. Рассмотрим Web-сервер, работающий на целевой машине. Web-контент обычно передается через порт 80 с использованием протокола TCP.

    Зондирование этого порта позволяет получить важную информацию о приложении и операционной системе сервера, используя легкодоступные данные о версии.
    Имея цель и список точек контакта, можно приступать к использованию их для проникновения. Можно применить Metasploit, выбрав из его каталога нужный эксплойт.

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

    Хотя эти виды атак широко известны, они используются и сегодня.
    После проникновения систему можно использовать не только для кражи информации: теперь она может стать стартовой площадкой для другой незаконной деятельности. Хакер может проникнуть дальше в сеть, получить доступ к дополнительной информации или превратить машину в зомби. Машины-зомби можно использовать (группами) для распределенных DoS-атак (DDoS) на другие цели или для выполнения обычных задач, таких как рассылка спама по электронной почте или распределенное мошенничество с переходами по ссылкам (click fraud).
    Сокрытие личности атакующего это, пожалуй, самый важный аспект данного процесса. Чтобы затруднить отслеживание источника атаки, используются анонимизирующие инструменты, подобные The Onion Router (TOR), или виртуальные частные сети. Еще одним способом скрыть свои действия на целевой машине является очистка журналов.

    На заключительном этапе нужно, насколько это возможно, скрыть свои следы либо путем маскировки своего участи в атаке (VPN, случайная точка беспроводного доступа), либо путем сокрытия следов своего пребывания в системе после выполнения необходимых действий.
    Рассмотрим некоторые этапы описанного обобщенного процесса, используя инструменты с открытым исходным кодом.
    Рассмотрим простой пример атаки путем полного перебора (метод грубой силы). Служба FTP это стандартная оконечная точка, которую можно опросить на хосте. Как правило, она защищена с помощью учетных данных, но из-за спешки или благодушия пользователей их имена и пароли иногда можно определить путем полного перебора.
    Начнем с разведки. Цель сервер ftp.example.com, IP-адрес которого легко определяется с помощью nslookup . Команда nslookup позволяет опросить DNS-серверы для определения IP-адреса данного домена (см. листинг 1) и быстро проверить, работает ли там FTP-сервер.
    Инфраструктура Metasploit предоставляет несколько полезных эксплойтов, одним из которых является атака на хост или диапазон хостов путем полного перебора. Можно указать имя пользователя и пароль или файл, содержащий имена пользователей и пароли. Рассмотрим этот модуль в инфраструктуре Metasploit.
    Запустите консоль Metasploit и используйте модуль ftp_login scanner :
    Сканеру нужно указать атакуемый хост и два файла с именами пользователей и паролями (по одному в строке). безопасность серверов баз данных Эта настройка показана в листинге 2.
    Когда модуль готов, введите команду run для выполнения атаки на хост путем полного перебора (см. листинг 3). Эта атака просто пытается выполнить вход на указанный FTP-сервер с помощью указанных имен пользователей и паролей. (Для краткости результат показан не полностью.)

    Листинг 3. Выполнение атаки путем полного перебора с помощью Metasploit


    В листинге 3 показано, что Metasploit выполнил попытки входа на целевой хост со всеми именами пользователей и паролями, указанными в списке. В середине листинга показана успешная попытка для пользователя nobody2 , имеющего права доступа Read/Write. Теперь хакер может использовать комбинацию имя-пароль для входа в систему.

    Если доступ будет разрешен, хакер может выполнить дальнейшее сканирование на наличие уязвимостей, чтобы расширить полномочия.
    Этот пример иллюстрирует одну из самых простых хакерских атак, использующих Metasploit. Можно применить более сложные эксплойты, такие как переполнение буфера для широкого спектра приложений и операционных систем. Результатом выполнения в Metasploit команды search exploits будет обширный список эксплойтов и целей (начиная с FTP- и HTTP-серверов и заканчивая управлением в супервизорном режиме и сисми сбора данных).

    Теперь рассмотрим способы защиты от описанного процесса взлома.
    В предыдущем примере мы рассмотрели два инструмента, которые хорошо известны специалистам по взлому и тестированию на проникновение. Теперь рассмотрим способы повышения безопасности приложений, имеющих выход в Web. Инструменты, предназначенные для нанесения вреда, можно использовать для обнаружения уязвимостей до того, как они будут использованы.
    Web это богатая смесь данных и метаданных. Существует множество сервисов для определения целей на основании имеющейся информации. В предыдущем примере URL был просто преобразован в IP-адрес с помощью команды nslookup . безопасность www серверов Обратный DNS-запрос преобразует IP-адрес в доменное имя, которое может быть полезно, если необходимо проследить адрес обратно к логическому объекту.

    Обратный DNS-запрос выполняется с помощью команды host . Наконец, чтобы запросить DNS-имена серверов в данном домене, используется инструмент под названием DNS Information Groper (DIG).
    Дополнительную информацию о домене можно получить с помощью команды whois . Эта команда полезна для получения более подробной информации о домене или его IP-адресе. В листинге 4 приведен пример сценария. Допустим, вы ищете сервер некоей компании, которая находится в Атланте, штат Джорджия.

    Чтобы определить IP-адреса, связанные с доменом этой компании, нужно выполнить команду dig . Получив список адресов, нужно выполнять обратный DNS-запрос для определения имен хостов, связанных с этими адресами, пока цель не будет найдена.

    Листинг 4. Использование команд whois и host для определения цели


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

    В листинге 5 показан результат зондирования целевого сайта, содержащий доступные порты, которые открыты на этом сайте.

    Листинг 5. Зондирование сервера на наличие открытых портов


    Хотя nmap является универсальным инструментом для зондирования цели, можно также использовать и другие инструменты. безопасность сайта Утилита McAfee SuperScan идеально подходит для Windows®-целей, поскольку предоставляет специфичную информацию (например, данные NetBIOS). Также может быть полезен генератор пакетов hping3 , хотя некоторые его новаторские функции уже встроены в nmap .
    После определения цели и портов хакер должен выбрать эксплойты для использования. Metasploit предлагает большое количество эксплойтов для различных устройств, приложений и версий. Помимо разработки вредоносных программ нулевого дня (zero day) и выявления потенциальных уязвимостей переполнения буфера хакеры пытаются получить контроль над приложением, используя известные дефекты.
    В дополнение к Metasploit хакеры используют несколько других инструментов, в том числе открытый проект Open Web Application Security Project (OWASP) WebScarab для фаззинга (fuzz testing), а также sqlmap и sqlninja для внедрения SQL-команд и подмены базы данных. Еще одним инструментом сообщества хакеров является Low Orbit Ion Cannon (LOIC), который используется для DoS-атак (или DDoS-атак распределенными пользователями). LOIC также можно использовать для стрессового тестирования целевого узла или сети, поэтому он имеет и положительное применение.
    После взлома устройства хакеры пытаются по возможности скрыть следы своего пребывания. В большинстве случаев это означает очистку журналов, чтобы скрыть выполненные действия. Иногда эту задачу можно упростить посредством автоматизации.

    Инфраструктура Metasploit упрощает очистку журнала с помощью простых сценариев для одиночных хостов.
    Инструменты разведки предназначены для выбора цели. В большинстве случаев ваши Web-активы хорошо известны, и системы DNS предоставляют о них самую разнообразную информацию.

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

    Все ли порты нужны, или их число можно уменьшить, оставив только те, которые необходимы для конкретного сервера?
    Напомним, что в примере цели в листинге 5 было открыто ограниченное число портов. Это отличный пример ограничения числа открытых портов в зависимости от назначения сайта (в данном случае это были интерфейсные Web- и FTP-сервисы).
    Для открытых портов необходимо ограничить предоставляемую информацию. Напомним, что хакеры определяют возможность использования имеющегося эксплойта по приложению (определяется по порту) и номеру версии (если доступен). Маскировка сама по себе не является стратегией безопасности, однако затрудняет работу хакера.
    Напомним, что в ранее рассмотренном примере полного перебора на FTP-сервере подлинные учетные данные удалось определить с помощью простой атаки по словарю. Подобные атаки с массовой отправкой запросов можно минимизировать путем временного блокирования IP-адресов. Такие адреса можно легко найти в лог-файлах, а блокирование адреса на короткое время ограничивает возможность атак с использованием методов полного перебора.

    Чтобы предотвратить атаки по словарю, необходима также продуманная стратегия использования паролей.
    Ключевым элементом защиты являются обеспечение оперативного устранения дыр и правильная настройка ПО. аудит безопасность Постоянное обновление ПО, а также статическое и динамическое тестирование в процессе разработки помогут свести к минимуму имеющиеся уязвимости. Использование тестирования на проникновение в цикле разработки продукта способствует минимизации области атак.
    Также полезна стратегия периодического тестирования. Одним из примеров является ПО IBM® Security AppScan® Standard, предназначенное для автоматизированного сканирования сети с целью выявления уязвимостей, зарегистрированных в постоянно расширяющейся базе известных эксплойтов. Это гарантирует, что безопасность сети со временем не снизится.
    Наконец, современные системы протоколирования затрудняют удаление событий и очистку журнала хакерами. Простым и эффективным подходом является централизованное журналирование, а использование удаленного журналирования посредством Secure Shell еще больше затрудняет простую очистку журналов с целью удаления следов. Одним из возможных решений данной проблемы является Syslog-NG.
    В данной статье описаны основные действия хакеров по выявлению и использованию уязвимостей приложений, имеющих выход в Web. Было показано, что многие инструменты, используемые сообществом хакеров, можно использовать в качестве средства тестирования приложения, имеющего выход в Web. Тестирование на проникновение, представляющее собой развивающуюся область технологий, позволяет выполнять поиск и устранение прорех в сисх безопасности приложений.

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

      • Тестирование на проникновение стало новой ролью этического хакера. Такого специалиста нанимают, чтобы проверить (в меру его возможностей) сайт или приложение на максимальную безопасность. Некоторые сомневаются в существовании этических хакеров. Статья ForbesРазвенчание мифа об этическом хакере является интересным аргументом в этом споре (EN).
      • Facebook предлагает вознаграждение за обнаружение и ответственное освещение угроз безопасности. Дополнительную информацию можно получить на сайте программы Белый хакер.
      • Число уязвимостей приложения, имеющего выход в Web, можно свести к минимуму в рамках жизненного цикла разработки ПО. Этим подходам посвящена статья Статическое и динамическое тестирование в жизненном цикле разработки ПО (developerWorks, август 2013 г.).
      • TOR представляет собой распределенную сеть для анонимизации интернет-трафика между пользователями и сайтами. TOR состоит из более чем 3000 серверов, расположенных по всему миру, через которые пользовательский трафик случайным образом распределяется на подмножество доступных TOR-серверов. Использование шифрования на различных этапах процесса маршрутизации сильно затрудняет идентификацию пользователя в выходном узле TOR. Хотя сеть TOR была создана во имя свободы, она также используется и зшлоумыленниками.
      • Инфраструктура Metasploit предоставляет базу данных известных эксплойтов и возможность создавать новые эксплойты. Чтобы познакомиться с самыми последними уязвимостями, обратитесь к Интернет-базе данных Vulnerability and Exploit Database.
      • В данной статье упоминаются следующие инструменты с открытым исходным кодом, используемые как черными, так и белыми хакерами:

        • nmap

        • scanrand

        • hping3

        • SuperScan

        • OWASP WebScarab

        • sqlmap

        • sqlninja

        • LOIC


        • IBM Security AppScan Standard это профессиональный сканер уязвимости приложений, который обеспечивает не только самые современные возможности автоматизированного сканирования, но и очень точные результаты. В больших средах AppScan Standard позволяет определить приоритеты исправлений в зависимости от найденных уязвимостей. Он прозрачно интегрируется с другими продуктами портфеля продуктов обеспечения безопасности IBM.

        • Войдите или зарегистрируйтесь для того чтобы оставлять комментарии или подписаться на них.

        Похожие статьи Pentest