книга kali linux тестирование на проникновение и безопасность

Kali Linux, Тестирование на проникновение и безопасность, Парасрам Ш., Замм А., 2020

Kali Linux, Тестирование на проникновение и безопасность, Парасрам Ш., Замм А., 2020.

4-е издание Kali Linux 2018: Assuring Security by Penetration Testing предназначено для этических хакеров, пентестеров и специалистов по IT-безопасности. От читателя требуются базовые знания операционных систем Windows и Linux. Знания из области информационной безопасности будут плюсом и помогут вам лучше понять изложенный в книге материал.

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

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

Оглавление.
Составители.
Введение.
Глава 1. Установка и настройка Kali Linux.
Глава 2. Создание испытательной лаборатории.
Глава 3. Методология тестирования на проникновение.
Глава 4. Получение отпечатка и сбор информации.
Глава 5. Методы сканирования и уклонения.
Глава 6. Сканирование уязвимостей.
Глава 7. Социальная инженерия.
Глава 8. Целевая эксплуатация.
Глава 9. Повышение привилегий и поддержание доступа.
Глава 10. Тестирование веб-приложений.
Глава 11. Тестирование беспроводных сетей на проникновение.
Глава 12. Мобильное тестирование на проникновеннее Kali NetHunter.
Глава 13. PCI DSS: сканирование и тестирование на проникновение.
Глава 14. Инструменты для создания отчетов о тестировании на проникновение.
Ответы на вопросы.

Скачать pdf
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России. Купить эту книгу

Источник

Kali Linux, Тестирование на проникновение и безопасность, Парасрам Ш., Замм А., 2020

Kali Linux, Тестирование на проникновение и безопасность, Парасрам Ш., Замм А., 2020.

4-е издание Kali Linux 2018: Assuring Security by Penetration Testing предназначено для этических хакеров, пентестеров и специалистов по IT-безопасности. От читателя требуются базовые знания операционных систем Windows и Linux. Знания из области информационной безопасности будут плюсом и помогут вам лучше понять изложенный в книге материал.

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

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

Оглавление.
Составители.
Введение.
Глава 1. Установка и настройка Kali Linux.
Глава 2. Создание испытательной лаборатории.
Глава 3. Методология тестирования на проникновение.
Глава 4. Получение отпечатка и сбор информации.
Глава 5. Методы сканирования и уклонения.
Глава 6. Сканирование уязвимостей.
Глава 7. Социальная инженерия.
Глава 8. Целевая эксплуатация.
Глава 9. Повышение привилегий и поддержание доступа.
Глава 10. Тестирование веб-приложений.
Глава 11. Тестирование беспроводных сетей на проникновение.
Глава 12. Мобильное тестирование на проникновеннее Kali NetHunter.
Глава 13. PCI DSS: сканирование и тестирование на проникновение.
Глава 14. Инструменты для создания отчетов о тестировании на проникновение.
Ответы на вопросы.

Скачать pdf
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России. Купить эту книгу

Источник

Книга «Kali Linux. Тестирование на проникновение и безопасность»

Структура издания

Глава 1 «Установка и настройка Kali Linux». В этой главе вы познакомитесь с Kali Linux 2018. Особое внимание уделяется различным методам использования системы. Глава написана так, что даже неопытный пользователь сможет запустить Kali Linux с Live DVD; установить и настроить систему на жестком диске, SD-карте, подключенном к USB-порту флеш-накопителе; установить Kali Linux на виртуальной машине. Кроме того, используя AWS, вы можете установить Kali Linux в облаке.

Глава 2 «Создание испытательной лаборатории». В этой главе рассказывается, как создать безопасную виртуальную среду, в которой можно на законных основаниях выполнять разработанные для каждой главы практические примеры. В главе также приведены подробные инструкции по настройке таких виртуальных машин, как Metasploitable 2 и Metasploitable 3, которые будут использоваться как целевые машины в экспериментах на проникновение (пентестах).

Глава 3 «Методология тестирования на проникновение». Здесь представлены различные методологии тестирования с целью планирования и определения масштабов пентестов. Вы также найдете описание практических шагов и технологий, предназначенных для испытаний на проникновение.

Глава 4 «Получение отпечатка и сбор информации». На первом этапе тестирования на проникновение применяется несколько распространенных инструментов, используемых для разведки, включая взлом базы данных Google. В этом издании вы найдете новую информацию о таких инструментах для автоматического сбора информации, как Devploit, RedHawk и Shodan.

Глава 5 «Методы сканирования и уклонения». В этой главе рассказывается, как с помощью мощнейшего инструмента Nmap обнаружить целевые объекты, узлы и сервисы. С помощью Netdiscover и Striker выполняется автоматизированное сканирование и сбор информации. Кроме того, в этой главе рассматривается такой инструмент, как Nipe, предоставляющий пользователям конфиденциальность и анонимность.

Глава 6 «Сканирование уязвимостей». Здесь на практических примерах показано, как найти уязвимости в целевой машине. Приводятся пошаговые инструкции по использованию таких мощных автоматизированных инструментов для оценки уязвимостей, как Nessus 7 и OpenVAS. Вы найдете новую информацию о Linux-инструменте Lynis, предназначенном для сканирования и проверки уязвимостей, и инструменте SPARTA, назначение которого — оценка и перечисление уязвимостей. Работа всех инструментов проводится в испытательной лаборатории, и гарантируется, что оценки реального типа точно моделируются.

Глава 7 «Социальная инженерия». Обсуждаются основные принципы и методы, применяемые профессиональными социальными инженерами для манипуляции людьми, чтобы те разглашали информацию или совершали иные действия.

Глава 8 «Целевая эксплуатация». В этой главе вы будете применять методы и инструменты для эксплуатации компьютерных систем (эксплойты). Эксплойты используют уязвимости и недостатки в системах, что дает возможность пользователю получить доступ к системе.

Глава 9 «Повышение привилегий и поддержание доступа». Здесь вы узнаете, как повысить уровень доступа и взломать другие учетные записи в системе. Взломанные учетные записи будут использоваться для сохранения доступа к системе и получения дальнейшего доступа к сети.

Глава 10 «Тестирование веб-приложений». В этой главе мы рассмотрим несколько основных инструментов, предназначенных для тестирования веб-приложений, а также облачные приложения, так как они основаны на тех же протоколах и используют многие из тех же платформ.

Глава 11 «Тестирование беспроводных сетей на проникновение». В главе рассматривается настройка инструментов, предназначенных для захвата данных, необходимых для взлома беспроводных сетей и получения к ним доступа, включая настройку поддельных точек доступа.

Глава 12 «Мобильное тестирование на проникновение с Kali NetHunter». В этой главе представлен практический подход к тестированию на проникновение с помощью мобильных устройств. Подробно описывается установка и настройка необходимых приложений, а также демонстрируется процесс сканирования и оценки уязвимостей, атак типа «человек посередине» и беспроводных атак, которые могут выполняться мобильными приложениями.

Глава 13 «PCI DSS: сканирование и тестирование на проникновение». Здесь вводится стандарт, описываются шесть задач и 12 требований, приводится обзорный тест на проникновение. Акцент делается на PCI DSS версий 11.3.1 и 11.3.2.

Глава 14 «Инструменты для создания отчетов о тестировании на проникновение». Обсуждаются различные типы отчетов и процедуры, которые проводятся по окончании тестирования, а также демонстрируется использование платформы Dradis для организации и полного документирования теста на проникновение.

Отрывок. Методология тестирования на проникновение

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

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

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

Методология тестирования на проникновение

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

Руководство по тестированию OWASP

Open Web Application Security Project (OWASP) — этот проект объединил разработчиков программных средств с открытым исходным кодом. Люди, входящие в данное сообщество, создают программы для защиты веб-приложений и веб-сервисов. Все приложения создаются с учетом опыта борьбы с программами, наносящими вред веб-сервисам и веб-приложениям. OWASP — это отправная точка для системных архитекторов, разработчиков, поставщиков, потребителей и специалистов по безопасности, то есть всех специалистов, которые принимают участие в проектировании, разработке, развертывании и проверке на безопасность всех веб-сервисов и веб-приложений. Другими словами, OWASP стремится помочь создавать более безопасные веб-приложения и веб-сервисы. Главным преимуществом руководства по тестированию OWASP является то, что по представленным результатам тестов можно получить всестороннее описание всех угроз. Руководство по тестированию OWASP определяет все опасности, которые могут повлиять на работу как системы, так и приложений, и оценивает вероятность их появления. С помощью описанных в OWASP угроз можно определить общую оценку выявленных проведенным тестированием рисков и выработать соответствующие рекомендации по устранению недостатков.

Руководство по тестированию OWASP в первую очередь сосредотачивает внимание на следующих вопросах.

PCI-руководство по тестированию на проникновение

Здесь собраны нормативы для компаний, соответствующих требованиям PCI (Payment Card Industry — индустрия платежных карт). Причем в руководстве вы найдете нормативы не только по стандарту PCI v3.2. Оно создано Советом безопасности по стандартам PCI, в котором определены методы тестирования на проникновение в рамках программ управления уязвимостями.

Стандарт PCI Data Security Standard (PCI DSS) версии 3.2 был выпущен в апреле 2016 года Советом по стандартам безопасности индустрии платежных карт (PCI SSC). После обновления стандарта требования были уточнены, появились дополнительные указания и семь новых требований.

Для устранения проблем, связанных с нарушениями секретности личных данных владельцев карт, а также для защиты от существующих эксплойтов в стандарт PCI DSS V. 3.2 были включены различные изменения, большинство из которых относятся к поставщикам услуг. В эти изменения были добавлены новые требования к тестированию на проникновение, согласно которым тестирование с сегментацией для поставщиков услуг выполнялось по крайней мере каждые шесть месяцев или после любых значительных изменений в элементах управления/методах сегментации. Кроме того, в этом стандарте содержится несколько требований, обязывающих поставщиков услуг в течение года непрерывно отслеживать и поддерживать критически важные элементы управления безопасностью.

Стандартное проведение тестов на проникновение

Стандарт выполнения тестирования на проникновение состоит из семи основных разделов. Они охватывают все требования, условия и методы проведения испытаний на проникновение: от разведки и до попыток проведения пентестов; этапы сбора информации и моделирования угроз, когда, чтобы добиться лучших результатов проверки, испытатели работают инкогнито; этапы исследования уязвимостей, эксплуатации и пост-эксплуатации, когда практические знания испытателей в области безопасности соединяются с данными, полученными в ходе проведения тестов на проникновение; и как заключительный этап — отчетность, в которой вся информация предоставляется в виде, понятном клиенту.

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

Ниже в качестве основы для выполнения тестов на проникновение приведены основные разделы рассматриваемого нами стандарта.

NIST 800-115

Специальное издание Национального института стандартов и технологий (National Institute of Standards and Technology Special Publication, NIST SP 800-115) является техническим руководством по тестированию и оценке информационной безопасности. Публикация подготовлена Лабораторией информационных технологий (Information Technology Laboratory, ITL) в NIST.

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

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

Стандарт NIST 800-115 предоставляет большой план для испытаний на проникновение. Он позволяет убедиться, что программа тестирования на проникновение соответствует рекомендациям.

Руководство по методологии тестирования безопасности с открытым исходным кодом
OSSTMM — документ, довольно сложный для чтения и восприятия. Но он содержит большое количество актуальной и очень подробной информации по безопасности. Это также самое известное руководство по безопасности на планете с примерно полумиллионом загрузок ежемесячно. Причина такой популярности в следующем: эти инструкции примерно на десятилетие опережают все остальные документы в индустрии безопасности. Цель OSSTMM — в развитии стандартов проверки безопасности Интернета. Данный документ предназначен для формирования наиболее подробного основного плана для тестирования, что, в свою очередь, обеспечит доскональное и всестороннее испытание на проникновение. Независимо от других организационных особенностей, таких как корпоративный профиль поставщика услуг по тестированию на проникновение, это испытание позволит клиенту убедиться в уровне технической оценки.

Фреймворк: общее тестирование на проникновение

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

2. Сканирование и перечисление.

3. Получение доступа.

4. Повышение привилегий.

5. Поддержание доступа.

6. Заметание следов.

7. Составление отчета.

Рассмотрим каждый этап более подробно.

Разведка

Это первый и очень важный этап в тесте на проникновение. На него может уйти немало времени. Многие испытатели делят данный этап на две части: активную и пассивную разведку. Я же предпочитаю эти два этапа объединить, так как полученные результаты скажут сами за себя.

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

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

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

Сначала для нас будет очень важна следующая информация.

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

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

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

Для Хаброжителей скидка 25% по купону — Kali Linux
По факту оплаты бумажной версии книги на e-mail высылается электронная книга.

Источник

Сканирование уязвимостей. Глава из книги «Kali Linux. Тестирование на проникновение и безопасность»

Содержание статьи

О книге

Перед тобой — шестая глава из книги «Kali Linux. Тестирование на проникновение и безопасность», которую мы публикуем по договоренности с издательством «Питер». Коллектив авторов этой книги структурировал информацию о пентестах — от подготовки исследовательской лаборатории до составления отчетов о проделанной работе. Давай пройдемся по ее оглавлению, чтобы ты мог составить лучшее представление о содержимом.

Главы 1 и 2. Установка и настройка Kali Linux, создание испытательной лаборатории. В первых двух главах описано, как обустроить свою тестовую лабораторию, точнее — компьютер с VirtualBox. Авторы в числе прочего рассказывают, какие дистрибутивы лучше использовать в качестве целевых уязвимых систем.

Глава 3. Методология тестирования на проникновение. Здесь дается теоретический минимум обо всех этапах взлома, добыче информации и заметании следов. Дальнейшее повествование будет следовать приведенному в этой главе эталонному плану атаки.

Глава 4. Получение отпечатка и сбор информации. Здесь описан первый этап пентеста — сбор данных об исследуемой системе: имена хостов, IP-адреса, конфигурации оборудования, имена сотрудников компании и другие сведения. Также разбираются утилиты Kali, которые служат для автоматизации разведки.

Глава 5. Методы сканирования и уклонения. В ней рассказано, как идентифицировать машины, находящиеся в локальной сети организации, и определить их ОС. Существуют утилиты для создания «отпечатков операционных систем», о них рассказано во второй части главы.

Глава 6. Сканирование уязвимостей. Шестая глава, которую мы опубликовали целиком, повествует об обнаружении дыр в безопасности.

Глава 7. Социальная инженерия. Эта глава посвящена социальной инженерии. Здесь эта тема раскрыта не так полно, как в книге Кевина Митника «Искусство обмана», но в достаточной для понимания вопроса степени. Для простоты запоминания авторы выделяют шесть методов психологической атаки: подражание, взаимный обмен, влияние авторитета, использование жадности, налаживание социальных взаимоотношений, сила любопытства. Также здесь описано создание флешки для скрытного получения данных с компьютера.

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

Глава 9. Повышение привилегий и поддержание доступа. Помимо вопросов эскалации привилегий, в этой главе рассмотрено создание бэкдора в скомпрометированной системе. И в качестве бонуса приводятся инструменты подбора пароля.

Глава 10. Тестирование веб-приложений. В десятой главе рассказывается о включенных в стандартную поставку Kali Linux инструментах тестирования веб-приложений: nikto, OWASP ZAP, Burp Suite, Paros и прочих.

Глава 11. Тестирование беспроводных сетей на проникновение. При пентестах беспроводных сетей задача атакующего — определить целевую сеть, захватить трафик во время аутентификации и провести атаку на хеш грубой силой. У всех этих шагов есть масса подводных камней, которые и рассмотрены в этой главе.

Глава 12. Мобильное тестирование на проникновение с Kali NetHunter. Не всегда удобно проводить пентесты на ноутбуке. Для таких экстремальных случаев был создан Kali NetHunter — его устанавливают на некоторые смартфоны поверх Android.

Глава 13. PCI DSS: сканирование и тестирование на проникновение. Эта глава посвящена стандарту безопасности данных индустрии платежных карт (PCI DSS). В ней рассказывается, какие требования предъявляются к этому стандарту, кто и как проводит тестирование организаций, систем и процессов, подлежащих стандарту.

Глава 14. Инструменты для создания отчетов о тестировании на проникновение. Составление отчета — самое скучное занятие. Но и об этом позаботились создатели дистрибутива Kali Linux! Они включили в его состав фреймворк Draids, предназначенный для составления отчетности по пентестам. В последней главе книги подробно обсуждаются документация, предоставление и проверка результатов тестирования, типы отчетов, подготовка презентации, а также действия, которые необходимо предпринять после тестирования.

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

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

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

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

Технические требования

Ноутбук или настольный компьютер с объемом оперативной памяти не менее 6 Гбайт, четырехъядерный процессор и 500 Гбайт места на жестком диске. В качестве операционной системы мы используем Kali Linux 2018.2 или 2018.3 (как виртуальную машину или систему, установленную на жестком диске, SD-карте или USB-накопителе).

Типы уязвимостей

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

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

Локальные уязвимости

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

Рассмотрим пример, в котором злоумышленник Боб имеет локальный доступ к системе, работающей под управлением Windows Server 2008 (32-разрядная платформа x86). Доступ ему был ограничен администратором при реализации политики безопасности, в результате чего Бобу стало недоступно определенное приложение. В экстремальных условиях Боб обнаружил, что с помощью вредоносного фрагмента кода он может получить доступ к компьютеру на уровне системы или ядра. Воспользовавшись хорошо известной уязвимостью (например, CVE-2013-0232, GP Trap Handler nt!KiTrap0D), он повысил свои права доступа, что позволило ему выполнять все административные задачи и получать неограниченный доступ к приложению. Это ясно показывает нам, как злоумышленник воспользовался уязвимостью для получения несанкционированного доступа к системе.

Удаленная уязвимость

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

Например, Боб и Алиса подключены к Интернету с разных устройств. У них разные IP-адреса, да и живут они в разных местах. Предположим, компьютер Алисы работает под управлением операционной системы Windows XP и содержит секретную биотехнологическую информацию, а Бобу известен IP-адрес машины Алисы и то, какая операционная система установлена на этом компьютере. Боб ищет решение, которое позволит ему получить удаленный доступ к компьютеру Алисы. Со временем он узнает, что уязвимость службы Windows Server MS08-067 может быть легко использована удаленно на компьютере под управлением операционной системы Windows XP. Затем он запускает эксплойт против компьютера Алисы и получает к машине полный доступ.

Систематизация уязвимостей

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

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

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

Автоматическое сканирование уязвимостей

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

Nessus 7

Tenable’s Nessus был разработан два десятилетия назад и до сих пор остается очень популярным инструментом оценки уязвимостей. На Nessus можно подписаться на год. Однако хорошие люди в Tenable создали седьмую версию Nessus Professional и предлагают пробную версию всем, кто желает с нею ознакомиться.

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

Рис. 6.1. Проверка версии Kali Linux

Xakep #258. NPM Hijacking

На рис. 6.1 видно, что я использую 64-разрядную версию (amd64) Kali Linux на основе Debian. Таким образом, мне нужно будет загрузить 64-разрядную версию Nessus, предназначенную для сборок Debian.

Установка сканера уязвимостей Nessus. Чтобы установить Nessus в Kali Linux, откройте браузер и перейдите на страницу Nessus.

Ознакомительная версия поставляется со всеми функциями полной версии, за исключением ограничений 16-IP.

Чтобы получить пробную версию, вам потребуется зарегистрироваться в Tenable. По электронной почте вы получите код подтверждения. После получения письма с кодом подтверждения вы можете скачать нужную версию Nessus в Kali Linux (рис. 6.2).

Рис. 6.2. Предлагаемые для скачивания версии Nessus

Выберите версию Nessus, соответствующую вашей операционной системе. Чтобы согласиться с условиями использования, нажмите кнопку Accept (Принять). Далее в появившемся диалоговом окне нажмите кнопку Save File (Сохранить файл). Файл будет сохранен на вашем компьютере в папке Downloads. Мы для этого примера загрузили 64-битную версию Nessus ( Nessus-7.1.3-debian6_amd64.deb ).

Рис. 6.3. Установка Nessus

Не выходя из каталога Downloads, запустите службу Nessus. Для этого введите команду service nessusd start. При появлении следующего запроса укажите пароль для Kali Linux (рис. 6.4).

Рис. 6.4. Запуск службы Nessus

Для работы с Nessus откройте браузер, введите в адресную строку https://localhost:8834 и нажмите клавишу Enter. Когда появится баннер с предупреждением об опасности, нажмите кнопку Advanced (Дополнительно), далее нажмите кнопку Add Exception (Добавить исключение) и в конце — кнопку Confirm Security Exception (Подтвердить исключение безопасности) (рис. 6.5).

Для продолжения запуска службы выполните следующие шаги.

1. Создайте сначала учетную запись, указав имя пользователя и свой аккаунт, после чего нажмите кнопку Continue (Продолжить).

Рис. 6.5. Добавление исключения

2. Оставьте предлагаемые по умолчанию настройки Home, Professional или Manager, введите в поле ввода Activation Code (Код активации) полученный по электронной почте код активации и нажмите кнопку Continue (Продолжить).

Если все пройдет удачно, Nessus начнет инициализацию, загрузит и скомпилирует необходимые плагины (рис. 6.6).

Рис. 6.6. Инициализация Nessus

В зависимости от скорости вашего соединения с Интернетом данная процедура может продлиться некоторое время. Пока будет происходить установка, можете зайти на сайт www.packtpub.com и посмотреть еще книги от Packt Publishing по Kali Linux и по тестированию на проникновение.

После завершения всех обновлений будет загружен интерфейс Nessus. Нажмите расположенную в правом верхнем углу кнопку New Scan (Новое сканирование), чтобы просмотреть все доступные типы сканирования (рис. 6.7).

Рис. 6.7. Доступные виды сканирования

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

Некоторые из них показаны на рис. 6.8.

Чтобы продемонстрировать обнаружение уязвимостей, воспользуемся уязвимым веб-сервером Linux. В главе 2 мы рассказывали, как настроить Metasploitable 2, Metasploitable 3, очень уязвимую систему Linux и BadStore.

В окне сканера щелкните на шаблоне Advanced Scan (Расширенное сканирование) и в разделе BASIC (Основное) заполните поля ввода. В поле Targets (Цели) укажите IP-адрес целевой машины или диапазон IP-адресов целевых машин, которые должны быть просканированы с помощью шаблона расширенного сканирования (рис. 6.9).

Рис. 6.8. Некоторые из видов сканирования Рис. 6.9. Указываем цели

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

После настройки сканирования можно выбрать команду Save (Сохранить) или Launch (Запустить). Вы увидите список My Scan (Мои сканирования).

Щелкните кнопкой мыши на значке Play (Воспроизведение), который расположен справа от имени шаблона сканирования. Будет запущено сканирование. Если щелкнуть на имени шаблона сканирования во время проведения теста, на экране вы увидите общую информацию о сканируемой целевой машине и об уязвимости (рис. 6.10).

Рис. 6.10. Общая информация о сканировании

Если щелкнете кнопкой мыши на сканируемом целевом компьютере, то увидите более подробный список обнаруженных уязвимостей. Уязвимости имеют цветовую маркировку:

Как видно на рис. 6.11, при сканировании в общей сложности было обнаружено 70 уязвимостей, из которых шесть являются критическими и 17 — высокого уровня. Это значит, что машина очень уязвима.

Рис. 6.11. Отчет о найденных уязвимостях

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

Рис. 6.12. Отображение найденных уязвимостей в порядке от критических до информационных

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

Рис. 6.13. Создание отчетности

Nessus — мощный инструмент с большим количеством функциональных возможностей, который можно использовать при тестировании на проникновение. Он предоставляет большой объем информации. К сожалению, в этом разделе мы не сможем рассмотреть весь функционал программы, но рекомендуем вам потратить некоторое время на самостоятельное изучение доступных функций. Обратите внимание, что Tenable предлагает бесплатно протестировать и домашнюю версию. Если же вы желаете протестировать внешние IP-адреса или применяете Nessus для клиента, вам придется воспользоваться платной версией.

OpenVAS

Open Vulnerability Assessment System (открытая система оценки уязвимостей, OpenVAS) — фреймворк, состоящий из нескольких сервисов и утилит. OpenVAS — это сканер с открытым исходным кодом. Он прост в установке и имеет удобный интерфейс, позволяющий выполнять активный мониторинг (с активными действиями в сети). Согласно сайту http://www.openvas.org/about.html при работе OpenVAS использует коллекцию уязвимостей, состоящую из 50 000 тестов (NVTs). OpenVAS является основой линейки профессиональных устройств Greenbone Secure Manager.

Чтобы установить OpenVAS, откройте терминал и введите команду apt-get install openvas (рис. 6.14).

Когда установка OpenVAS будет завершена, для запуска конфигурации введите в командную строку терминала команду openvas-setup. Процесс конфигурации займет некоторое время, в зависимости от загрузки сети и скорости подключения к Интернету (рис. 6.15).

Рис. 6.14. Установка OpenVAS Рис. 6.15. Конфигурация приложения

В конце процесса установки и настройки OpenVAS сгенерирует пароль, который потребуется при запуске OpenVAS (рис. 6.16).

Рис. 6.16. Пароль сгенерирован

При повторном использовании OpenVAS откройте терминал и введите команду openvas-start. Новую установку запускать не следует.

Вам после ввода предыдущего URL-адреса снова придется добавить исключение безопасности. Для этого нажмите кнопку Advanced (Дополнительно), далее — кнопку Add Exception (Добавить исключение), а затем кнопку Confirm Security Exception (Подтвердить исключение безопасности) (рис. 6.17).

При появлении запроса войдите в систему, введя имя пользователя admin и пароль, сгенерированный в процессе установки. Убедитесь, что логин и пароль надежно сохранены, так как вам при работе с OpenVAS неоднократно потребуется входить в систему (рис. 6.18).

Чтобы запустить сканирование, щелкните на ярлыке вкладки Scans (Сканирования), а затем на строке Tasks (Задачи). Откроется информационное окно, в котором нужно выбрать мастер задач. Он представлен в виде фиолетового значка, расположенного в левом верхнем углу экрана (рис. 6.19).

Рис. 6.17. Подтверждение добавления исключения безопасности Рис. 6.18. Запуск OpenVAS Рис. 6.19. Запуск сканирования

В открывшемся меню щелкните на строке Advanced Task Wizard (Мастер расширенных задач). В появившихся полях введите соответствующую информацию (рис. 6.20). Обратите внимание: поле Scan Config (Конфигурация сканирования) имеет на выбор несколько типов сканирования, включая Discovery (Обнаружение), Full and fast (Полное и быстрое), Full and fast ultimate (Полное и быстрое окончательное) и Full and very deep ultimate (Полное и очень глубокое окончательное) (наиболее трудоемкий и затратный по времени вариант).

Рис. 6.20. Создаем новую задачу

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

После того как все поля будут заполнены, прокрутите страницу вниз и нажмите кнопку Create (Создать). В результате запустится сканирование и на экране появится сводка сведений о сканировании и состоянии (рис. 6.21).

Рис. 6.21. Сканирование запущено

Чтобы просмотреть дополнительные сведения о задаче, в поле Name (Имя) щелкните на имени задачи (рис. 6.22).

Рис. 6.22. Дополнительные сведения о задаче

По завершении сканирования нажмите кнопку Done (Готово). При этом будет создан отчет со списком обнаруженных уязвимостей и оценкой степени угрозы для каждой из них (рис. 6.23).

Рис. 6.23. Отчет о сканировании

Если щелкнуть кнопкой мыши на любой из перечисленных уязвимостей, отобразятся дополнительные сведения, такие как Summary (Сводка), Impact (Влияние), Solution (Решение), Affected Software/OS (Уязвимое программное обеспечение) и др. (рис. 6.24).

Рис. 6.24. Дополнительные сведения

Сканирование уязвимостей Linux с помощью Lynis

Разработанное компанией Cisofy (www.cisofy.com) приложение Lynis — это инструмент проверки безопасности, который управляется из командной строки Kali Linux. Это бесплатная программа, но доступна и корпоративная версия. Lynis используется для автоматизированной оценки безопасности и сканирования уязвимостей в различных версиях операционных систем Linux, macOS X и Unix.

В отличие от других приложений такого типа Lynis специализируется на проверке безопасности законодательных актов о передаче и защите сведений учреждений здравоохранения (HIPAA), защите стандарта безопасности платежных карт PCI DSS, систем внутреннего контроля SOX и GLBA. Это приложение позволит предприятиям, использующим различные стандарты, обеспечить безопасность своих систем.

Lynis можно загрузить и установить самостоятельно. Установка приложения в целевой системе сэкономит трафик, по сравнению с установкой на удаленном компьютере.

Lynis входит в пакет Kali Linux, но также может быть клонирован с GitHub или скачан с официального сайта.

Для запуска Lynis в Kali выберите команду меню ApplicationsVulnerability AnalysisLynis (ПриложенияАнализ уязвимостейLynis). Для запуска приложения из командной строки введите в терминале команду lynis. Она отобразит установленную версию Lynis (в данном случае 2.6.2) и инициализирует программу. Вы также увидите список всех параметров команды (рис. 6.25).

Рис. 6.25. Список параметров команды Lynix

Если вы подзабыли нужную команду, введите lynis show commands (рис. 6.26).

Lynis — полностью механизированный инструмент проверки безопасности, у которого есть минимальный набор команд. Чтобы проверить вашу машину Kali Linux, просто введите lynis audit system. Время, которое займет проверка, зависит от характеристик проверяемой машины Kali Linux. Обычно проверка длится от 15 до 30 минут. Результат проверки показан на рис. 6.27.

Рис. 6.26. Отображение команд Lynix Рис. 6.27. Результат проверки машины Kali Linux

Результаты проверки включают в себя сведения:

На рис. 6.29 показан фрагмент результатов проверки Lynis с четырьмя предупреждениями и 40 предложениями.

Рис. 6.29. Фрагмент результатов проверки

Прокрутив результаты теста до конца, мы увидим общую сводку по проверке (рис. 6.30).

Рис. 6.30. Общая сводка по проверке компьютера

Сканирование и перечисление уязвимостей с помощью SPARTA

SPARTA — это инструмент с пользовательским интерфейсом для тестирования на проникновение сети. Авторы приложения — Антонио Кин (Antonio Quina) и Леонидас Ставлиотис (Leonidas Stavliotis) из компании SECFORCE. SPARTA — стандартное приложение Kali Linux. В рамках одного инструмента оно автоматизирует процессы сканирования, перечисления и оценки уязвимостей. Кроме функций сканирования и перечисления, в SPARTA также встроено средство для взлома паролей с помощью грубой силы.

Для запуска SPARTA в Kali Linux 2018 выберите команду меню Applications → Vulnerability Analysis → SPARTA (Приложения → Анализ уязвимостей → SPARTA). Чтобы добавить в область проверки целевую машину или группу целевых машин, в графическом интерфейсе SPARTA 1.0.3 щелкните кнопкой мыши на левой панели. Далее добавьте в поле ввода IP Range (IP-диапазон) диапазон проверяемых IP-адресов (рис. 6.31).

Рис. 6.31. Диапазон IP-адресов для проверки введен

После того как IP адреса узлов сети будут добавлены, нажмите кнопку Add to scope (Добавить в область). Начнется поэтапное сканирование целевых объектов (рис. 6.32).

Рис. 6.32. Процесс сканирования узла сети

После завершения сканирования карты сети в основном окне SPARTA появятся следующие вкладки: Services (Службы), Scripts (Сценарии), Information (Информация), Notes (Заметки), Nikto и Screenshot (Скриншоты), на которых вы найдете очень полезную информацию.

По умолчанию сначала откроется вкладка Services (Службы) со списком открытых портов и служб (рис. 6.33).

Рис. 6.33. Вкладка Services (Службы) со списком открытых портов и служб

Если откроете вкладку Information (Информация), то увидите собранную информацию о целевой машине. Там будет указан IP, количество открытых, закрытых и отфильтрованных портов (если таковые имеются), а также операционная система вместе с ее версией и значение точности определения информации (рис. 6.34).

Рис. 6.34. Вкладка Information (Информация)

Поскольку в нашем случае целевой машиной был выбран Linux-сервер, применен инструмент сканирования Nikto. Чтобы просмотреть список найденных уязвимостей, откройте вкладку nikto (80/tcp) (рис. 6.35).

Рис. 6.35. Вкладка nikto (80/tcp)

Многие из обнаруженных уязвимостей имеют префикс OSVBD, который указывает на то, что информацию о них можно искать в базах данных сайтов Common Vulnerabilites and Exposures (CVE) и Open Source Vulnerabilities Database (OSVDB).

Для получения подробной информации испытатель на проникновение может воспользоваться простым поиском Google, введя в поисковую строку название уязвимости, например OSVDB-3268, которая была выявлена при предыдущем сканировании. Впоследствии выявленные уязвимости могут быть использованы, например, инструментом Metasploit. Но об этом поговорим в следующих главах.

Теперь посмотрим на другую сканируемую машину под управлением операционной системы Windows. В области Hosts (Хосты) слева найдите IP-адрес 10.10.22.217 и щелкните на нем кнопкой мыши. Далее откройте вкладку Services (Службы) (рис. 6.36). Здесь вы увидите список открытых портов.

Рис. 6.36. Вкладка Services (Службы) с информацией о портах машины 10.10.22.217

Из этой информации видно, что исследуемая нами машина работает под управлением Windows. Для обследования портов данной машины в SPARTA был запущен инструмент smbenum. С его помощью мы проверили наличие нулевых сессий и просмотрели этот компьютер. В ходе этих операций мы, в частности, искали сведения о пользователях и общих ресурсах (рис. 6.37).

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

На рис. 6.38 вы видите контекстное меню, появившееся после того, как мы щелкнули правой кнопкой мыши на строке open port 3306. Используя команды этого контекстного меню, вы можете попробовать открыть порт с помощью Telnet, Netcat, или клиента MySQL. Для клиента MySQL вам потребуются права root. Вы также можете попытаться взломать пароли с применением грубой силы.

Рис. 6.37. Отчет об исследовании с помощью инструмента smbenum (445/tcp) Рис. 6.38. Контекстное меню для порта 3306

Если в контекстном меню выбрать команду Send to Brute (Отправить в Brute), то через выбранный порт будет предпринята попытка атаки с помощью инструмента взлома пароля THC Hydra. Наряду с другими вариантами для получения нужных данных можно применять списки с именами пользователей и паролей. Указав необходимые параметры, нажмите кнопку Run (Выполнить), чтобы предпринять попытку атаки.

Рис. 6.39. Вкладка инструмента Brute

Это далеко не единственные инструменты, доступные в SPARTA. Если, допустим, щелкнуть правой кнопкой мыши на open port 445 компьютера под управлением операционной системы Windows, вы увидите большой список инструментов (рис. 6.40).

Рис. 6.40. Список команд контекстного меню для компьютера под управлением Windows

Резюме

В этой главе мы обсудили, как с помощью нескольких инструментов Kali Linux выявить и проанализировать критические уязвимости системы безопасности. Мы также рассмотрели три основных класса уязвимостей: проектирование, реализацию и эксплуатацию — и разобрались, как их можно распределить по двум общим типам уязвимостей: локальных и удаленных. Затем мы обсудили несколько таксономий уязвимостей, которыми можно воспользоваться при проверке безопасности, и классифицировали их по схожести шаблонов.

Далее мы познакомили вас с несколькими инструментами, с помощью которых можно провести автоматическое сканирование системы и выявить имеющиеся уязвимости. Это такие инструменты, как Nessus, OpenVAS, Lynis и SPARTA.

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

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • кмы авто для виндовс 10
  • кмс тулс как активировать виндовс
  • кмс оффлайн для виндовс 10
  • кмс не может активировать виндовс 10
  • кмс не активирует виндовс 7 максимальная

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии