Академический Документы
Профессиональный Документы
Культура Документы
02-018-07
УДК 004.493
С42
Скабцов Н.
С42 Аудит безопасности информационных систем. — СПб.: Питер, 2018. — 272 с.:
ил. — (Серия «Библиотека программиста»).
ISBN 978-5-4461-0662-2
В этой книге рассматриваются методы обхода систем безопасности сетевых сервисов и проникно-
вения в открытые информационные системы. Информационная безопасность, как и многое в нашем
мире, представляет собой медаль с двумя сторонами. С одной стороны, мы проводим аудит, ищем
способы проникновения и даже применяем их на практике, а с другой — работаем над защитой. Те-
сты на проникновение являются частью нормального жизненного цикла любой ИТ-инфраструктуры,
позволяя по-настоящему оценить возможные риски и выявить скрытые проблемы.
Может ли взлом быть законным? Конечно, может! Но только в двух случаях — когда вы взламываете
принадлежащие вам ИС или когда вы взламываете сеть организации, с которой у вас заключено пись-
менное соглашение о проведении аудита или тестов на проникновение. Мы надеемся, что вы будете
использовать информацию из данной книги только в целях законного взлома ИС. Пожалуйста, помните
о неотвратимости наказания — любые незаконные действия влекут за собой административную или
уголовную ответственность.
12+ (В соответствии с Федеральным законом от 29 декабря 2010 г. № 436-ФЗ.)
ББК 32.988.02-018-07
УДК 004.493
Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме
без письменного разрешения владельцев авторских прав.
Информация, содержащаяся в данной книге, получена из источников, рассматриваемых издательством как на-
дежные. Тем не менее, имея в виду возможные человеческие или технические ошибки, издательство не может
гарантировать абсолютную точность и полноту приводимых сведений и не несет ответственности за возможные
ошибки, связанные с использованием книги.
Благодарности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
От издательства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
ЧАСТЬ I. НАПАДЕНИЕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Глава 1. Начало . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Как провести аудит законно? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Методология взлома . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Этап первый: пассивный и активный сбор информации . . . . . . . . . . . . . 14
Этап второй: сканирование системы . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Этап третий: получение доступа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Этап четвертый: закрепление в системе . . . . . . . . . . . . . . . . . . . . . . . . 15
Этап пятый: скрытие следов пребывания . . . . . . . . . . . . . . . . . . . . . . . . 16
Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Автоматизация процесса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
FOCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Сбор базы данных адресов e-mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
recon-ng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Упорядочить информацию . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Типы атак . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Social-Engineer Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
1 Начало
Методология взлома
Аудит информационной системы можно условно разделить на пять этапов, которые
идут последовательно, один за другим:
1. Сбор информации (Google, WWW, DNS);
2. Сканирование системы (ping, port scanning);
3. Получение доступа (эксплуатация уязвимости);
4. Закрепление в системе (backdoor);
5. Скрытие следов пребывания (очистка лог-файлов, rootkit).
Данный цикл может повторяться итеративно. Например, в случае, когда мы полу-
чили доступ к серверу, через который можно проникнуть во внутреннюю сеть. Тогда
мы сначала собираем информацию о внутренней сети, а затем используем ее для
дальнейшего проникновения.
Данная методология является всего лишь приблизительной. Обычно у людей,
занимающихся вопросами информационной безопасности, есть своя методика,
основанная на их специфических требованиях и уровне профессиональной ком-
петенции. Мы рекомендуем вам также ознакомиться с OSSTM — Open Source
Security Testing Methodology. Это открытый стандарт, в котором рассматривается
методология аудита безопасности ИС-систем.
Резюме
Помните, что любой аудит информационной системы по сути представляет собой
ее взлом, разница только в том, насколько легитимны проводимые мероприятия.
Чтобы ваши действия были законными, необходимо получить письменное согласие
заказчика. Обязательно обсудите заранее все действия, методы и риски и зафик-
сируйте их документально.
Проведение аудита осуществляется в несколько основных этапов:
Планирование и получение согласия.
Пассивный сбор информации — получение данных из открытых источников,
нет прямого взаимодействия с системой, действия очень трудно обнаружить.
Активный сбор информации — получение данных от целевой системы, все
действия могут быть обнаружены, администраторы могут принять меры для
пресечения дальнейших действий.
Доступ к системе идет по средствам эксплуатации найденных уязвимостей.
Закрепление в системе необходимо для того, чтобы продолжить атаку, не при-
бегая к повторному взлому.
Скрытие следов пребывания поможет остаться незамеченными и продолжить
проведение аудита.
2 Получение информации
из открытых источников
Введение
Первый этап взлома любой ИС начинается со сбора максимального количества
информации о цели. Практически никогда не удается собрать всю информацию из
одного-единственного источника. Данные приходится собирать из множества раз-
личных мест (БД, HTML-код, новостные ленты и т. д.), с тем чтобы впоследствии,
как из кусочков мозаики, составить полную картину ИС организации.
На данном этапе выявляются слабые места сети, через которые в будущем и будет
осуществляться проникновение в систему. При правильном подходе можно не
только выявить потенциально уязвимые места, но и наметить возможные векторы
атаки на обозначенную цель.
Мы условно разделили процесс сбора информации на следующие шаги.
1. Поиск в открытых источниках.
2. Сбор основной информации.
3. Сбор информации о сети.
4. Поиск активных хостов.
5. Поиск открытых портов.
6. Определение ОС.
7. Определение сервисов.
8. Построение карты сети.
В этой главе будут рассмотрены технологии поиска в открытых источниках.
В зависимости от размера организации объем собранной информации может
варьироваться от десятка строк до сотен страниц текстовой информации. Важно
не только собрать, но и грамотно обработать полученные данные.
18 Глава 2 • Получение информации из открытых источников
Инструмент анализа каждый волен выбирать сам, будь то логические схемы, доска
и маркеры или клейкие бумажки на стенах, — главное, чтобы в результате инфор-
мация была обобщена и представлена в удобном и читабельном виде.
Что искать?
Для проведения успешной атаки нам пригодится ЛЮБАЯ доступная информация
о предприятии.
Обычно, имея только название организации, начинают сбор следующих данных:
домены;
сетевые адреса или сетевые блоки;
местонахождение;
контактная информация;
новости о слиянии или приобретении;
вакансии;
ссылки на связанные с организацией веб-сервисы;
различные документы;
структура организации.
Это только примерный список, и продолжать его можно достаточно долго. Напри-
мер, просмотрев вакансии предприятия, можно узнать, какие ИС используются
внутри организации. А проанализировав HTML-код домашней странички, можно
найти ссылки на внутренние ресурсы.
От того, как будет проведен сбор информации, зависит направление, а также тип
и успешность атаки.
Большая часть процесса сбора информации не требует специальных знаний, до-
статочно умения пользоваться поисковыми системами. Зачастую они индексируют
даже ту информацию, которую пытались скрыть от внешнего мира.
Использование Google
для сбора информации
Хакер или аудитор может использовать для сбора информации не только Google,
но также Yahoo или любой другой поисковый сервис.
Основная цель данного раздела — научиться применять операторы поиска, которые
облегчат и ускорят сбор информации. Без них отыскать нужную информацию будет
не просто сложно, но практически невозможно.
Использование Google для сбора информации 19
Обратите внимание на то, что система выдала только те результаты, которые от-
носятся к сайту royalmail.com.
Рис. 2.5. Результат запроса intitle: «remote desktop web connection» inurl:tsweb
Google Hacking
Вышеупомянутую поисковую систему можно использовать не только для сбора
информации, но и для поиска уязвимостей. В наши дни, когда все больше и больше
приложений делается ориентированными на пользователей сети Интернет, уязви-
мые версии данных аппликаций легко находятся через Google.
В Интернете есть два ресурса, которые мы хотели бы порекомендовать как содер-
жащие большую базу данных хорошо категорированных запросов для поисковой
системы Google:
www.exploit-db.com/google-dorks/;
www.hackersforcharity.org.
24 Глава 2 • Получение информации из открытых источников
Рис. 2.6. Форма для подключения к удаленному рабочему столу через веб-интерфейс
Архивные данные
Очень часто организации публикуют на своих сайтах такую информацию, которая
впоследствии может быть использована против них самих, а затем, заметив ошибку,
удаляют ее.
Другой пример: вы заметили на сайте вакансию, но в силу определенных обсто-
ятельств не смогли ее сохранить, а на сегодняшний день она уже неактуальна
и организация удалила ее.
В таком случае нам поможет очень ценный ресурс — archive.org. Он позиционирует
себя как машину времени для сети Интернет. Жаль только, что путешествовать
можно только в прошлое, а не в будущее.
Этот ресурс периодически сохраняет копии практически всех сайтов в глобальной
Сети и предоставляет бесплатный доступ ко всей своей базе данных.