Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы тестирования КИИ на проникновение. Учебное пособие.pdf
Скачиваний:
1
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«Тамбовский государственный технический университет»
А. И. ЕЛИСЕЕВ, Д. В. ПОЛЯКОВ,
В. В. СЕВЕНЮК, К. В. СТАРОДУБОВ
КИИ НА ПРОНИКНОВЕНИЕ
Утверждено Учёным советом университета в качестве учебного пособия
для студентов 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 Pro­fessional данные о конфигурации, пользовательских аккаунтах и паролях хранятся в текстовом файле 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,google­profiles,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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]