Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы тестирования КИИ на проникновение. Учебное пособие.pdf
X
- •ВВЕДЕНИЕ
- •1. ПАССИВНЫЙ СБОР ИНФОРМАЦИИ (PASSIVE INFORMATION GATHERING)
- •1.1. СБОР ИНФОРМАЦИИ С ПОМОЩЬЮ ВЕБ-ИСТОЧНИКОВ
- •1.1.1. Использование Google
- •1.1.2. Примеры
- •1.1.3. Задания
- •1.2.1. Задания
- •1.3. ДОПОЛНИТЕЛЬНЫЕ РЕСУРСЫ
- •1.3.1. Netcraft
- •1.3.2. Перечисление Whois
- •1.3.3. Получение данных из БД регистраторов
- •1.3.4. Задания
- •1.4. RECON-NG
- •1.4.1. Задания
- •1.5. ПРОФИЛИРОВАНИЕ ПОЛЬЗОВАТЕЛЕЙ
- •1.5.1. Задания
- •2.1. ПЕРЕЧИСЛЕНИЕ DNS (DNS ENUMERATION)
- •2.1.1. Взаимодействие с DNS-сервером
- •2.1.2. Автоматизация поиска
- •2.1.3. Релевантные инструменты в Kali Linux
- •2.1.4. SubBrute
- •2.1.5. Задания
- •2.2. ПЕРЕЧИСЛЕНИЕ SNMP (SNMP ENUMERATION)
- •2.2.1. Дерево MIB
- •2.2.2. Сканирование SNMP
- •2.2.3. Пример перечисления SNMP
- •2.2.4. Атака усиления (амплификации) SNMP (SNMP amplification)
- •2.2.5. Пример
- •2.2.6. Задания
- •2.3. ПЕРЕЧИСЛЕНИЕ SMTP (SMTP ENUMERATION)
- •2.3.1. Задания
- •3. СКАНИРОВАНИЕ ПОРТОВ
- •3.1. ОБНАРУЖЕНИЕ ХОСТОВ
- •3.2. СКАНИРОВАНИЕ ОТКРЫТЫХ ПОРТОВ И ОПРЕДЕЛЕНИЕ СЛУЖБ
- •3.2.1. Типы сканирования портов
- •3.3. СКАНИРОВАНИЕ TCP
- •3.3.1. Connect-сканирование
- •3.3.2. SYN-cканирование (Стелс/stealth)
- •3.3.3. Другие виды сканирования
- •3.4. СКАНИРОВАНИЕ UDP
- •3.5. ОПРЕДЕЛЕНИЕ ВЕРСИЙ СЛУЖБ
- •3.6. ПОЛУЧЕНИЕ ОТПЕЧАТКОВ ОС (OS FINGERPRINTING)
- •3.7. ВЫВОД РЕЗУЛЬТАТОВ
- •3.8. МЕТОДЫ ОБХОДА ФАЕЙРВОЛОВ/IDS
- •3.8.4. Изменение значения MTU
- •3.9. НЕКОТОРЫЕ ОСОБЕННОСТИ СКАНИРОВАНИЯ
- •3.10. СЦЕНАРИИ NMAP SCRIPTING ENGINE (NSE)
- •3.11. ЗАДАНИЯ
- •4. ЭКСПЛУАТАЦИЯ СОЕДИНЕНИЙ УДАЛЁННОГО ДОСТУПА
- •4.1. ОБЩИЕ ОСОБЕННОСТИ ЭКСПЛУАТАЦИИ
- •4.2. КОМПРОМЕТАЦИЯ ПРОТОКОЛА RDP
- •4.3. КОМПРОМЕТАЦИЯ ПРОТОКОЛА SSH
- •4.3.1. Получение ключей хоста RSA и DSA
- •4.3.2. Перечисление функций
- •4.3.3. Поддерживаемые механизмы аутентификации
- •4.3.4. Подбор учётных данных
- •4.4. КОМПРОМЕТАЦИЯ ПРОТОКОЛА VNC
- •4.5. FTP
- •4.6. TFTP
- •ЗАКЛЮЧЕНИЕ
- •СПИСОК ЛИТЕРАТУРЫ

Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«Тамбовский государственный технический университет»
А. И. ЕЛИСЕЕВ, Д. В. ПОЛЯКОВ,
В. В. СЕВЕНЮК, К. В. СТАРОДУБОВ
ОСНОВЫ ТЕСТИРОВАНИЯ
КИИ НА ПРОНИКНОВЕНИЕ
Утверждено Учёным советом университета в качестве учебного пособия
для студентов 3–4 курсов направления подготовки 09.03.02 «Информационные
системы и технологии» очной и заочной формы обучения, 2 курса направления
подготовки 09.04.02 «Информационные системы и технологии» очной и
заочной формы обучения, 3 курса направления подготовки 27.03.03
«Системный анализ и управление» очной и заочной формы обучения,
3–4 курсов специальности 10.05.03 «Информационная без
автоматизированных систем» очной формы обучения
Учебное электронное издание
опасность
Тамбов
• Издательский центр ФГБОУ ВО «ТГТУ» •
2019
1

УДК 004(075.8)
ББК
Á81я73О-753
Е51
Р е ц е н з е н т ы:
Доктор технических наук, профессор, заведующий кафедрой
информационных технологий управления
ФГБОУ ВО «ВГУ»
М. Г. Матвеев
Доктор технических наук, профессор кафедры
«Компьютерно-интегрированные системы в машиностроении»
ФГБОУ ВО «ТГТУ»
М. В. Соколов
Е51 Основы тестирования КИИ на проникновение [Электронный ресурс] : учебное по-
Рассмотрены вопросы пассивного и активного аудита безопасности элементов
Елисеев, А. И.
собие / А. И. Елисеев, Д. В. Поляков, В. В. Севенюк, К. В. Стародубов. – Тамбов :
Издательский центр ФГБОУ ВО «ТГТУ», 2019. – 1 электрон. опт. диск (CD-ROM). –
Системные требования : ПК не ниже класса Pentium II ; CD-ROM-дисковод ; 26,3 Mb ;
RAM ; Windows 95/98/XP ; мышь. – Загл. с экрана.
ISBN 978-5-8265-2090-1
критической информационной инфраструктуры, отдельное внимание уделяется работе с комплексными разведывательными средствами. Приведены подходы, используемые для тестирования типовых служб, работающих на популярных операционных
платформах.
Предназначено для студентов 3–4 курсов направления подготовки 09.03.02
«Информационные системы и технологии» очной и заочной формы обучения, 2 курса
направления подготовки 09.04.02 «Информационные системы и технологии» очной
и заочной формы обучения, 3 курса
анализ и управление» очной и заочной формы обучения, 3–4 курсов специальности
10.05.03 «Информационная безопасность автоматизированных систем» очной формы
обучения.
направления подготовки 27.03.03 «Системный
УДК 004(075.8)
ББК
Á81я73О-753
Все права на размножение и распространение в любой форме остаются за разработчиком.
Нелегальное копирование и использование данного продукта запрещено.
ISBN 978-5-8265-2090-1
2
© Федеральное государственное бюджетное образовательное
учреждение высшего образования «Тамбовский
государственный технический университет»
(ФГБОУ ВО «ТГТУ»), 2019

ВВЕДЕНИЕ
Тестирование на проникновение (Penetration test, pen test) критической
информационной инфраструктуры (КИИ) – метод оценки безопасности КИИ
(информационных систем или компьютерных сетей) с помощью моделирования атаки злоумышленника. Процесс включает в себя активный анализ системы
на наличие потенциальных уязвимостей, которые могут спровоцировать некорректную работу целевой системы либо полный отказ в обслуживании. Анализ
ведётся с позиции потенциального атакую
щего и может включать в себя активное использование уязвимостей системы. Результатом работы является отчёт,
содержащий в себе все найденные уязвимости системы безопасности, а также
может содержать рекомендации по их устранению. Цель тестирования на проникновение – оценить возможность его осуществления и спрогнозировать экономические потери в результате успешного осуществления атаки. Тестирование
на проникновение я
вляется частью аудита безопасности.
В 2009 году Майкл Клопперт (Michael Cloppert) из Компьютерной группы
реагирования на чрезвычайные ситуации (CERT) компании Lockheed Martin
представил модель, которая сегодня известна как Attacker Kill Chain, Cyber Kill
Chain или просто Kill Chain. Данная модель представляет собой типовую последовательность действий, предпринимаемых злоумышленником при осуществлении проникновения в информационную систему или компьютерную сеть.
Основные этапы представленной модели:
1) рекогносцировка/разведка (Reconnaissance);
2) вооружен
ие (Weaponization);
3) доставка (Delivery);
4) эксплуатация (Exploitation);
5) инсталляция (Installation);
6) получение управления (Command and Control);
7) выполнение действий (Actions on Objectives).
Злоумышленник может совершать действия последовательно, но некоторые шаги могут быть реализованы параллельно. В случае реализации нескольких атак, направленных на одну и ту же цель в течение длительного промежутка времени, разные этапы мог
ут происходить одновременно.
Данное пособие посвящено подробному рассмотрению нескольких этапов
модели Kill Chain. Материал пособия разделён на четыре главы. В первой главе
«Пассивный сбор информации» идёт речь о способах сбора информации о цели
с использованием общедоступных источников, а также об инструментах, которые упрощают управление собранной информацией, а также о том, как иссле-
3

довать службы, запущенные на целевом узле, и как обрабатывать полученную в
результате анализа информацию в целях определения последующих действий.
Во второй главе «Активный сбор информации» рассматриваются активные методы получения информации о хостах и устройствах в сети в компьютерной сети; речь идёт о способах получения информации о сетевой инфраструктуре,
о способах обнаружения хостов и перечислен
ия сервисов, запущенных на хостах. Отдельное внимание уделяется работе с комплексными разведывательными приложениями. В третьей главе изучаются различные техники сканирования
с целью решения задач обнаружения хостов, обнаружения сервисов, запущенных на хостах, и определения их версий, определения версий ОС и обхода фаейрволов. Четвёртая глава «Удалённ
ая эксплуатация» посвящена изучению
подходов, используемых для тестирования типовых служб, работающих на популярных операционных платформах. Протоколы, описанные в этой главе,
включают в себя SSH, FTP, TFTP, VNC, RDP.
4

1. ПАССИВНЫЙ СБОР ИНФОРМАЦИИ (PASSIVE INFORMATION GATHERING)
Пассивный сбор информации – это процесс сбора информации о цели с
использованием общедоступных сведений. Этот процесс может включать использование следующих ресурсов: общедоступная информация о компании, результаты работы поисковой системы, веб-сервисы фоновой проверки, получение Whois-информации и т.д. Другими словами, любой акт сбора информации о
цели без взаимодействия с ней напрямую можно счит
Пассивный сбор информации, как подготовительный этап реализации
атаки злоумышленником, достаточно важен. В частности, чем больше информации атакующему удастся собрать о цели до проведения атаки, тем больше
шансов провести атаку успешно.
1.1. СБОР ИНФОРМАЦИИ С ПОМОЩЬЮ ВЕБ-ИСТОЧНИКОВ
После начала взаимодействия с целью важно сначала провести некоторое
время в Интернете в поисках справочной информации об исследуемой цели.
Чем занимается компания? Какие способы коммуникации использует компания? Есть ли у компании технический отдел? Требуются ли компании сотрудники? Просмотрите веб-сайт организации и найдите общую информацию, такую как контактные данные, номера телефонов и фа
почты, определите структуру компании и т.д. Кроме того, не забудьте осуществить поиск ресурсов, которые ссылаются на целевой сайт, или открытые электронные письма компании, опубликованные в Интернете.
1.1.1. Использование Google
Google зарекомендовал себя как одну из лучших поисковых систем на сегодняшний день. Поисковая система активно анализирует веб-сайты, непреднамеренно делая общедоступной конфиденциальную информацию, размещённую на веб-ресурсе по причине неправильной конфигурации серверов (например, ошибочное индексирование каталогов из-за настроек файла robots.txt).
Анализ поисковым роботом таких данных приводит к утечкам данных в Интернет и, что ещё хуже, к попаданию данных в кеш Google. В начале 2000 года такие действия поисковика породили новую схему получения конфиденциальной
информации – Google Hacking. (Дополнительные свед
книги Джонни Лонга (Johnny Long) «Google Hacking For Penetration Testers».)
Общая идея поиска конфиденциальной информации с помощью Google
заключается в использовании специальных поисковых операторов в целях
сужения результатов поиска и поиска очень ко
нкретных файлов, как правило,
с известным форматом представления. В умелых руках Google быстро найдёт
вcё, что было проиндексировано на веб-сервере – например, личную информацию или файлы для служебного использования.
Ниже – адрес сайта, на котором приводится информация об операторах,
поддерживаемых поисковиком, и приёмы их применения:
http://www.googleguide.co
m/advanced_operators_reference.html
ать пассивным.
ксов, адреса электронной
ения можно получить из
5

Расширенные операторы имеют вид оператор:запрос и непосредственно
записываются в строку запроса. Между оператором и запросом не должно быть
пробела, а сам запрос не может содержать пробелы, иначе он не будет выполнен. Чтобы использовать пробелы, необходимо окружить фразу кавычками. Кавычки служат для того, чтобы сообщить о поиске точного соответствия.
По умолчанию Goo
gle производит поиск ключевых слов по всем файлам
на проиндексированных страницах. Ограничить область поиска можно по домену верхнего уровня, конкретному сайту или по месту нахождения искомой
последовательности в самих файлах. Для первых двух вариантов используется
оператор site, после которого вводится имя домена или выбранного сайта.
В третьем случае целый набор операторов по
зволяет искать информацию в
служебных полях и метаданных. Например, оператор allinurl отыщет ключевые
слова в теле самих ссылок, allinanchor – в тексте, снабженном тегом <a name>,
allintitle – в заголовках страниц, allintext – в теле страниц.
Для каждого оператора есть облегчённая версия с более коротким названием (без префикса all). Разница в том, что allinurl отыщет ссылки со всеми
словами, а inurl – только с первым из них. Второе и последующие ключевые
слова из запроса могут встречат
ься на веб-страницах, где угодно. Оператор
inurl имеет отличия от другого схожего по смыслу оператора site. Первый также
позволяет находить любую последовательность символов в ссылке на искомый
документ (например, /cgi-bin/), что широко используется для поиска компонентов с известными уя
звимостями.
Начнём с оператора site, который ограничивает результаты работы поис-
ковика заданным доменом:
site:domain.com
Обратите внимание, что большинство результатов, возвращаемых поисковиком, получены из поддомена www.domain.com. Давайте отфильтруем данные, чтобы узнать, какие другие поддомены существуют у домена domain.com:
site:domain.com -site:www.domain.com
Также можно использовать поиск Google для решения задачи профилирования веб-сайта. Например, можно выполнить поиск возможных страниц входа,
требующих ввода почтового адреса и пароля, и проиндексированных в домене
domain.com:
email password site:domain.com
Ограничить поиск по файлам определённого вида в Google можно с помощью двух операторов: filetype и ext. Первый оператор задаёт формат, который поисковик определил по заголовку файла, второй – расширение файла независимо от его внутреннего содержимого. При поиске в обоих случаях нужно
указывать лишь расширение. Изначально оператор ext было удобно использовать в тех случ
аях, когда специфические признаки формата у файла отсутствовали (например, для поиска конфигурационных файлов ini и cfg, внутри которых может быть всё что угодно). Сейчас алгоритмы Google изменились, и видимой разницы между операторами нет – результаты в большинстве случаев
будут получены одинаковые.
6

Пример использования оператора filetype:
filetype:pdf site:doamin.com
Такой поисковый запрос покажет проиндексированные PDF-файлы в до-
мене domain.com.
Примеры поисковых запросов, раскрывающих конфиденциальные сведения, получили название Google Dorks. Начиная с 2001 года ведётся база данных
специальных поисковых запросов, которые позволяют аудиторам безопасности
быстро определить наличие неправильных конфигураций в конкретном домене.
База данных получила название Google Hacking Data Base (GHDB). Содержимое GHDB теперь поддерживается командой сайта www.exploit-db.com и находится по адресу https://www.exploit-db.com
/google-hacking-database/
1.1.2. Примеры
Простейший вариант использования Google Dorks – поиск списка паролей, хранимого в файле распространённого формата.
filetype:xls inurl:password
Пример части содержимого файла, найденного с помощью предыдущего
запроса, показан на рис. 1.1.
Предположим, нас интересует список сотрудников некоторой организации и их контактные данные, сохранённые в электронном виде. Пример поискового запроса:
адрес inurl:domain.com filetype:pdf
Большое подспорье в поиске полезной для аудита информации оказывает
знание структуры файлов, в которых могут находиться секретные сведения
(имена пользователей, хеши паролей и т.д.).
Рис. 1.1. Пример содержимого обнаруженного файла
7

Например, некоторые организации публично распространяют файлы
конфигураций и ключи VPN-решений. Конфигурационные файлы профилей
Cisco (PCF) содержат параметры клиента IPsec VPN, включая следующие сведения:
− адреса конечных точек сервера VPN;
− открытые учётные данные (имя и пароль группы);
− зашифрованные учётные данные (обфусцированный пароль группы).
В примере ниже перечислены поисковые запросы Google, которые можно
использовать для получения ключе
ext:pcf grouppwd
ext:ovpn или ext:key
й конфигурации Cisco VPN или OpenVPN:
Многие из открытых файлов PCF могут содержать пароль, зашифрованный алгоритмом 3DES (enc_GroupPwd). Существуют сайты, которые предоставляют инструменты для мгновенного дешифрования таких паролей.
Рассмотрим следующий пример. У популярной программы WS_FTP Professional данные о конфигурации, пользовательских аккаунтах и паролях
хранятся в текстовом файле ws_ftp.ini. Записи сохраняются в текстовом формате, а пароли шифруются алгоритмом 3DES после минимальной обфускации
(рис. 1.2).
Строки, подобные встреч
ающимся в файле ws_ftp.ini, крайне распространены. Например, в CMS Drupal и PrestaShop обязательно есть идентификатор
пользователя (UID) и соответствующий ему пароль (pwd), а хранится вся информация в файлах с расширением .inc. Выполнять их поиск можно следующим образом:
UID= PWD= ext:ini
В конфигурационных файлах различных программных средств имена и
адреса электронной почты пользователей хранятся в открытом виде, а вместо
пaролей представлены их хеши, вычисленные по алгоритму MD5. Расшифровать их, строго говоря, невозможно, однако можно найти соответствие среди
известных пар пароль–хеш.
Рис. 1.2. Пример содержимого файла ws_ftp.ini
8

1. Выберите целевую организацию и используйте Google, чтобы собрать
как можно больше информации о ней.
2. Используйте операторы поиска Google и найдите документы на сервере
целевой организации.
1.2. СБОР ПОЧТОВЫХ АДРЕСОВ
(EMAIL HARVESTING)
1.1.3. Задания
Сбор почтовых адресов предполагает поиск электронных адресов, принадлежащих организации, и, возможно, имён пользователей. Найденные электронные адреса могут быть полезны, например, в качестве потенциального списка имён пользователей, раскрытия соглашения об именах пользователей, используемого в организации, или получение списка сотрудников организации.
Одним из инструментов в Kali Linux, который может быть использован для решения этой задачи, являет
ся утилита theharvester. Этот инструмент позволяет
искать с помощью Google, Bing и других служб адреса электронной почты в
указанном домене. Ниже приведён синтаксис утилиты и пример её использования:
root@kali:~# theharvester
Usage: theharvester options
-d: Domain to search or company name
-b: Data source (google,bing,bingapi,pgp,linkedin,googleprofiles,people123,jigsaw,all)
-s: Start in result number X (default 0)
-v: Verify host name via dns resolution and search for virtual
hosts
-f: Save the results into an HTML and XML file
-n: Perform a DNS reverse query on all ranges discovered
-c: Perform a DNS brute force for the domain name
-t: Perform a DNS TLD expansion discovery
-e: Use this DNS server
-l: Limit the number of results to work with(bing goes from 50 to
50 results,
-h: use SHODAN database to query discovered hosts
google 100 to 100, and pgp doesn't use this option)
Example: theharvester -d microsoft.com -l 500 -b google
root@kali:~# theharvester -d domain.com -b google > google.txt
root@kali:~# theharvester -d domain.com -l 10 -b bing > bing.txt
1.2.1. Задания
1. С помощью утилиты theharvester перечислите адреса электронной почты, принадлежащие организации, которую вы выбрали в предыдущем упражнении.
2. Поэкспериментируйте с разными источниками данных (ключ -b).
9

Google – далеко не единственная полезная поисковая система. Далее будут рассмотрены другие интернет-ресурсы, которые могут быть полезны для
пассивного сбора информации.
1.3.1. Netcraft
1.3. ДОПОЛНИТЕЛЬНЫЕ РЕСУРСЫ
Netcraft – это компания, занимающаяся мониторингом интернет-ресурсов.
Сервис Netcraft можно использовать для непрямого поиска информации о вебсерверах в Интернете, включая информацию об операционной системе, версии
веб-сервера. На рисунке 1.3 показаны результаты поиска для всех доменных
имён, содержащих строку * .domain.com.
Для каждого найденного сервера можно получить отчёт (рис. 1.4), который содержит дополнительную информацию о сервере.
10
Рис. 1.3. Результаты сканирования сайта
сервисом Netcraft
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
