Аудит безопасности информационных систем - Никита Скабцов - E-Book

Аудит безопасности информационных систем E-Book

Никита Скабцов

0,0

Beschreibung

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

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 299

Veröffentlichungsjahr: 2023

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Никита Скабцов
Аудит безопасности информационных систем

Технический редактор Н. Суслова

Литературный редактор А. Андриенко

Художники Л. Егорова, С. Заматевская , Р. Яцко

Корректоры Н. Викторова, В. Сайко

Верстка Л. Егорова

Никита Скабцов

Аудит безопасности информационных систем. — СПб.: Питер, 2021.

ISBN 978-5-4461-0662-2

© ООО Издательство "Питер", 2021

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

Оглавление

Благодарности
Список использованных сокращений
От издательства
Часть I. Нападение
Введение
1. Начало
Как провести аудит законно?
Методология взлома
Резюме
2. Получение информации из открытых источников
Введение
Что искать?
Использование Google для сбора информации
Поиск информации о людях
Архивные данные
Netcraft
Получение информации о домене
Автоматизация процесса
Упорядочить информацию
Резюме
3. Получение информации от сетевых сервисов
Введение
Сканирование портов
Получение информации от DNS-сервера
Получение информации с использованием SNMP
Получение информации с использованием NetBIOS
Работа с электронной почтой
Анализ баннеров
Получение информации от NTP-сервера
Поиск уязвимостей
Резюме
4. Атаки на веб-приложения
Знакомство с сookie
Межсайтовый скриптинг (XSS)
Включение локальных или удаленных файлов
SQL-инъекции
Резюме
5. Социальная инженерия
На кого обратить внимание?
Фазы атаки
Манипулирование людьми
Типы атак
Social-Engineer Toolkit
Резюме
6. Получаем пароли
Основные методы
Работа со списками паролей
Онлайн-атаки
Офлайн-атаки
Радужные таблицы
Резюме
7. Беспроводные сети
Краткий обзор Wi-Fi
WEP
WPA
Bluetooth
Резюме
8. Перехват информации
Пассивный перехват трафика
Активный перехват
Резюме
9. Обход систем безопасности
Системы обнаружения атак
Брандмауэры
Приманки
Резюме
10. Вредоносные программы
Вирусы
Черви
Шпионы
Рекламное ПО
Троянские кони
Практическая часть
Резюме
11. Metasploit Framework
Интерфейс
Вспомогательные модули
Эксплойты
Полезная нагрузка
Практические навыки
Резюме
12. Передача файлов
TFTP
FTP
Загрузка файлов с использованием скриптов
Резюме
13. Превышение привилегий
Локальное повышение прав в Linux
Локальное повышение прав в Windows
Повышение привилегий в случае некорректной конфигурации прав доступа
Резюме
14. Перенаправление портов и туннелирование
Перенаправление портов
SSH-туннелирование
proxychains
Резюме
15. Переполнение буфера
Атаки, направленные на переполнение буфера
Резюме
16. Собирая все воедино
Стандарт выполнения тестов на проникновение
Часть II. Защита
Введение
17. Личный пример
18. Бумажная работа
Политика безопасности
Стандарты
Процедуры
Инструкции
Техническая документация
19. Обучение и тренировки
Тренировки
20. Защита от утечки информации
21. Брандмауэры
22. Системы обнаружения вторжения (IDS)
23. Виртуальные защищенные сети (VPN)
Компоненты виртуальной частной сети
Безопасность VPN
Создание VPN из компонентов с открытым исходным кодом
Заключение

Благодарности

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

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

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

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

Друзья, как же без вас? Несмотря на все, что я делаю, вы все равно со мной и принимаете меня именно таким, — Ажар, Алёна, Анастасия, Анна, Дарья, Евгения, Илья, Ксения, Леонид, Максим, Михаил, Николай, Павел, Семён, Сергей, София, Стас, Татьяна, Юлианна, Янис.

*  *  *

Уважаемый читатель, надеюсь, что вам понравится эта книга и вы почерпнете для себя много интересного и полезного. Однако у вас наверняка появятся вопросы, комментарии, а возможно, предложения или пожелания. Буду благодарен за любой отзыв, а посему, именно для этих целей, оставляю свой адрес электронной почты [email protected].

Список использованных сокращений

АЛУ — Арифметико-логическое устройство

АТС — Автоматическая телефонная станция

БД — База данных

ДМЗ — Демилитаризованная зона

ИБ — Информационная безопасность

ИС — Информационная система

ИТ — Информационные технологии

ОС — Операционная система

ПО — Программное обеспечение

СУБД — Система управления базами данных

BP — Base Pointer

CERT — Computer Emergency Response Team

CMS — Content Management System

CPU — Central Processing Unit

CRC — Cyclic Redundancy Check

CSMA/CD — Carrier Sense Multiple Access with Collision Detection

DLL — Dynamic Link Library

DLP — Data Loss Prevention

DMZ — Demilitarized Zone

DNS — Domain Name System

FTP — File Transfer Protocol

GNU — General Public License

GPS — Global Positioning System

HEX — Hexadecimal

HTML — HyperText Markup Language

HTTPS — HyperText Transfer Protocol Secure

ICMP — Internet Control Message Protocol

IDS — Intrusion Detection System

IIS — Internet Information Services

IP — Internet Protocol

LIFO — Last In First Out

LM — LAN Manager

LSASS — Local Security Authority Subsystem Service

MAC — Media Access Control

MBR — Master Boot Record

MX — Mail Exchange

NetBIOS — Network Basic Input/Output System

NIC — Network Information Center

NOP — No Operation

NS — Name Server

NTLM — NT LAN Manager

NTP — Network Time Protocol

OSI — Open Systems Interconnection

PIN — Personal Identification Number

RDP — Remote Desktop Protocol

RIPE — Réseaux IP Européens

SAM — Security Account Manager

SMTP — Simple Mail Transfer Protocol

SNMP — Simple Network Management Protocol

SP — Stack Pointer

SQL — Structured Query Language

SSH — Secure Shell

SSID — Service Set Identifier

SSL — Secure Sockets Layer

TCP — Transmission Control Protocol

TFTP — Trivial File Transfer Protocol

TLS — Transport Layer Security

TTL — Time To Live

UDP — User Datagram Protocol

URL — Uniform Resource Locator

USB — Universal Serial Bus

VB — Visual Basic

VBA — Visual Basic for Applications

VLAN — Virtual Local Area Network

VNC — Virtual Network Computing

VPN — Virtual Private Network

WCE — Windows Credentials Editor

WEP — Wired Equivalent Privacy

WPA — Wi-Fi Protected Access

WPS — Wi-Fi Protected Setup

WWW — World Wide Web

XSS — Cross-Site Scripting

АRP — Address Resolution Protocol

НТТР — HyperText Transfer Protocol

САМ — Content Addressable Memory

От издательства

Ваши замечания, предложения, вопросы отправляйте по адресу [email protected] (издательство «Питер», компьютерная редакция).

Мы будем рады узнать ваше мнение!

На веб-сайте издательства www.piter.com вы найдете подробную информацию о наших книгах.

Часть I. Нападение

Введение

В мире информационной безопасности присутствует условное разделение людей, занимающихся взломом ИС, на три группы — «черные шляпы» (Black Hat), «серые шляпы» (Gray Hat) и «белые шляпы» (White Hat). В чем же их принципиальное отличие? Первые занимаются незаконным взломом и проникновением, в свою очередь последние делают это в рамках правового поля. Вас наверняка заинтересует вопрос, а может ли быть взлом законным? Конечно, может! Законным взлом информационных систем может быть в двух случаях — когда вы взламываете принадлежащие вам ИС или когда вы взламываете сеть организации, с которой у вас заключено письменное соглашение о проведении аудита или тестов на проникновение. Вернемся к оставшимся двум категориям. Gray Hat взламывают ИС-системы, но не используют полученный доступ или информацию в каких-либо своих целях, а сообщают о найденной уязвимости владельцу ресурса. К слову, некоторые компании, например Google, платят за предоставленную информацию о найденных в их продуктах уязвимостях и ошибках. И наконец, White Hat занимаются исключительно законным аудитом ИС.

Раз уж мы начали говорить о терминологии, затронем еще один термин — «взлом». Взлом — это незаконное проникновение в систему, тогда как тест на проникновение — это уже законное действие. Конечно, это деление условно, все зависит не от терминологии, а от того, в каком контексте происходит данное действие. Тему законности мы уже рассмотрели выше.

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

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

1. Начало

Как провести аудит законно?

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

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

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

• получить от клиента письменное разрешение на проведение тестов на проникновение или аудита ИС;

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

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

• проводить все тесты, согласованные с клиентом, и никакие другие. Например, тесты, нацеленные на проверку устойчивости систем к типу атак «отказ от обслуживания», должны проводиться только по предварительному согласованию и в строго обозначенный временной интервал.

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

1. Встреча с клиентом, обсуждение целей и средств.

2. Подписание договора о неразглашении информации.

3. Сбор группы участников аудита и подготовка расписания тестов.

4. Проведение тестов.

5. Анализ полученных результатов и подготовка отчета.

6. Передача отчета клиенту.

Методология взлома

Аудит информационной системы можно условно разделить на пять этапов, которые идут последовательно, один за другим:

1. Сбор информации (Google, WWW, DNS);

2. Сканирование системы (ping, port scanning);

3. Получение доступа (эксплуатация уязвимости);

4. Закрепление в системе (backdoor);

5. Скрытие следов пребывания (очистка лог-файлов, rootkit).

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

Данная методология является всего лишь приблизительной. Обычно у людей, занимающихся вопросами информационной безопасности, есть своя методика, основанная на их специфических требованиях и уровне профессиональной компетенции. Мы рекомендуем вам также ознакомиться с OSSTM — Open Source Security Testing Methodology. Это открытый стандарт, в котором рассматривается методология аудита безопасности ИС-систем.

Этап первый: пассивный и активный сбор информации

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

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

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

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

Этап второй: сканирование системы

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

На данном этапе чаще всего используются:

• сканеры открытых портов;

• ICMP-сканеры;

• SNMP-сканеры;

• сканеры уязвимостей и т.д.

Во время данного этапа аудитор может получить следующую информацию:

• имена компьютеров;

• версию операционной системы;

• запущенные сервисы и их версии;

• IP-адреса;

• учетные записи пользователей и т.д.

Этап третий: получение доступа

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

Одни из самых популярных методов — перехват сессии, переполнение буфера и отказ от обслуживания.

Этап четвертый: закрепление в системе

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

Самые популярные методы сохранения доступа к системе — установка троянских коней, backdoor’ов и rootkit’ов.

Этап пятый: скрытие следов пребывания

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

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

Резюме

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

Проведение аудита осуществляется в несколько основных этапов:

• Планирование и получение согласия.

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

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

• Доступ к системе идет по средствам эксплуатации найденных уязвимостей.

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

• Скрытие следов пребывания поможет остаться незамеченными и продолжить проведение аудита.

2. Получение информации из открытых источников

Введение

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

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

Мы условно разделили процесс сбора информации на следующие шаги.

1. Поиск в открытых источниках.

2. Сбор основной информации.

3. Сбор информации о сети.

4. Поиск активных хостов.

5. Поиск открытых портов.

6. Определение ОС.

7. Определение сервисов.

8. Построение карты сети.

В этой главе будут рассмотрены технологии поиска в открытых источниках.

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

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

Что искать?

Для проведения успешной атаки нам пригодится ЛЮБАЯ доступная информация о предприятии.

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

• домены;

• сетевые адреса или сетевые блоки;

• местонахождение;

• контактная информация;

• новости о слиянии или приобретении;

• вакансии;

• ссылки на связанные с организацией веб-сервисы;

• различные документы;

• структура организации.

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

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

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

Использование Google для сбора информации

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

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

Например, по запросу royalmail Google выдает около 61 800 000 результатов. По запросу site:royalmail.com — 261 000, а после уточнения site:royalmail.com filetype:doc  — всего 5.

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

С основами использования операторов Google  можно ознакомиться здесь: http://www.google.com/help/basics.html.

Ограничение поиска одним сайтом

Оператор site ограничит вывод результатов запроса информацией с одного сайта, например: site:nic.ru.

Рис. 2.1. Результат работы запроса site:royalmail.com

Обратите внимание на то, что система выдала только те результаты, которые относятся к сайту royalmail.com.

Поиск файлов определенного типа

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

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

В качестве еще одного примера можно привести следующий запрос: rootpw filetype:cfg.

Рис. 2.2. Результат работы запроса site:royalmail.com filetype:doc

Рис. 2.3. Результат работы запроса rootpw filetype:cfg

Перейдя по одной из ссылок, можно обнаружить файл с очень интересным текстом:

# (Required) Sets the root password so there is no prompt during installation

# Example: encrypted password is "password"

rootpw --iscrypted $6$naSytywF$AyVeKPcxnSMJg2L5b5YWGu7YFmgGW30HJ1qmqvjBBOBIbj

QuqicsTuJndm0sns3vFpXGDx0SJzofARe914chx0

# Enable the firewall

firewall --enabled

В данном случае мы нашли и открыли файл workstation-ks.cfg. Этот файл остается на Linux-машине в том случае, если она была сконфигурирована автоматически. В нем содержатся все необходимые параметры для конфигурации машины без участия пользователя, в том числе и пароль пользователя root.

Поиск определенных частей сайта

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

Рис. 2.4. Форма для ввода логина и пароля, найденная при помощи запроса log-in site:royalmail.com

В качестве примера доступа к закрытым частям web-страничек можно привести поиск Microsoft Remote Desktop Web Connection. Для этого поиска мы будем использовать следующие операторы:

• inurl — ищет заданный текст только в url сайта;

• intitle — ищет информацию, исходя из заголовка документа.

Перейдя по одной из первых ссылок, мы сразу же обнаруживаем форму для ввода данных и подключения к системе через протокол RDP.

Рис. 2.5. Результат запроса intitle: «remote desktop web connection» inurl:tsweb

Google Hacking

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

В Интернете есть два ресурса, которые мы хотели бы порекомендовать как содержащие большую базу данных хорошо категорированных запросов для поисковой системы Google:

•www.exploit-db.com/google-dorks/;

•www.hackersforcharity.org.

Рис. 2.6. Форма для подключения к удаленному рабочему столу через веб-интерфейс

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

Поиск информации о людях

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

Есть сайты, которые специализируются на поиске информации о людях, например Spokeo, ZabaSearch, но они предназначены в основном для западных пользователей.

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

Для поиска информации подойдут любые социальные сети — Facebook, Google+, VK, Twitter, Instagram, LinkedIn, «Одноклассники» и т.д.

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

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

Архивные данные

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

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

В таком случае нам поможет очень ценный ресурс — archive.org. Он позиционирует себя как машину времени для сети Интернет. Жаль только, что путешествовать можно только в прошлое, а не в будущее.

Этот ресурс периодически сохраняет копии практически всех сайтов в глобальной Сети и предоставляет бесплатный доступ ко всей своей базе данных.

Netcraft

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

Рис. 2.7. Информация о сайте royalmail.com

Получение информации о домене

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

Посмотрим, к примеру, какую информацию мы можем получить о домене anu.edu.au:

root@kali:~# whois anu.edu.au

Domain Name:                     anu.edu.au

Last Modified:                   09-Jun-2016 00:38:02 UTC

Status:                          ok

Registrar Name:                  Education Service Australia Ltd

Registrant:                      Australian National University

Eligibility Type:                Higher Education Institution

Registrant Contact ID:           EDU1913-R

Registrant Contact Name:         Kylie Paintain

Registrant Contact Email:        Visit whois.ausregistry.com.au for Web based WhoIs

Tech Contact ID:                 EDU9942-C

Tech Contact Name:               Kylie Paintain

Tech Contact Email:              Visit whois.ausregistry.com.au for Web based WhoIs

Name Server:                     ns.adelaide.edu.au

Name Server IP:                  129.127.40.3

Name Server:                     ns1.anu.edu.au

Name Server IP:                  150.203.1.10

Name Server:                     una.anu.edu.au

Name Server IP:                  150.203.22.28

DNSSEC:                          unsigned

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

Используя утилиту nslookup, которая есть как под Windows, так и под Linux, мы получили информацию о том, какой IP-адрес используется для страницы ons.gov.uk:

root@kali:~# nslookup anu.edu.au

Server: 192.168.126.2

Address: 192.168.126.2#53

Non-authoritative answer:

Name: anu.edu.au

Address: 130.56.60.81

Утилита whois может работать не только с доменными именами, но и с IP-адресами, а это значит, что мы легко можем выполнить обратный запрос.

root@kali:~# whois 130.56.60.81

#

# ARIN WHOIS data and services are subject to the Terms of Use

# available at: https://www.arin.net/whois_tou.html

#

# If you see inaccuracies in the results, please report at

# https://www.arin.net/public/whoisinaccuracy/index.xhtml

#

#

# The following results may also be obtained via:

# https://whois.arin.net/rest/nets;q=130.56.60.81?showDetails=true&showARIN=false&showNonArinTopLevelNet=false&ext=netref2

#

NetRange:       130.56.0.0 — 130.56.255.255

CIDR:           130.56.0.0/16

NetName:        APNIC-ERX-130-56-0-0

NetHandle:      NET-130-56-0-0-1

Parent:         NET130 (NET-130-0-0-0-0)

NetType:        Early Registrations, Transferred to APNIC

OriginAS:       

Organization:   Asia Pacific Network Information Centre (APNIC)

RegDate:        2003-11-12

Updated:        2009-10-08

Comment:        This IP address range is not registered in the ARIN database.

Comment:        This range was transferred to the APNIC Whois Database as

Comment:        part of the ERX (Early Registration Transfer) project.

Comment:        For details, refer to the APNIC Whois Database via

Comment:        WHOIS.APNIC.NET or http://wq.apnic.net/apnic-bin/whois.pl

Comment:        

Comment:        ** IMPORTANT NOTE: APNIC is the Regional Internet Registry

Comment:        for the Asia Pacific region.  APNIC does not operate networks

Comment:        using this IP address range and is not able to investigate

Comment:        spam or abuse reports relating to these addresses.  For more

Comment:        help, refer to http://www.apnic.net/apnic-info/whois_search2/abuse-and-spamming

Ref:            https://whois.arin.net/rest/net/NET-130-56-0-0-1

ResourceLink:  http://wq.apnic.net/whois-search/static/search.html

ResourceLink:  whois.apnic.net

OrgName:        Asia Pacific Network Information Centre

OrgId:          APNIC

Address:        PO Box 3646

City:           South Brisbane

StateProv:      QLD

PostalCode:     4101

Country:        AU

RegDate:        

Updated:        2012-01-24

Ref:            https://whois.arin.net/rest/org/APNIC

ReferralServer:  whois://whois.apnic.net

ResourceLink:  http://wq.apnic.net/whois-search/static/search.html

OrgAbuseHandle: AWC12-ARIN

OrgAbuseName:   APNIC Whois Contact

OrgAbusePhone:  +61 7 3858 3188

OrgAbuseEmail:  [email protected]

OrgAbuseRef:    https://whois.arin.net/rest/poc/AWC12-ARIN

OrgTechHandle: AWC12-ARIN

OrgTechName:   APNIC Whois Contact

OrgTechPhone:  +61 7 3858 3188

OrgTechEmail:  [email protected]

OrgTechRef:    https://whois.arin.net/rest/poc/AWC12-ARIN

#

# ARIN WHOIS data and services are subject to the Terms of Use

# available at: https://www.arin.net/whois_tou.html

#

# If you see inaccuracies in the results, please report at

# https://www.arin.net/public/whoisinaccuracy/index.xhtml

#

Found a referral to whois.apnic.net.

% [whois.apnic.net]

% Whois data copyright terms    http://www.apnic.net/db/dbcopyright.html

% Information related to '130.56.0.0 — 130.56.255.255'

inetnum:        130.56.0.0 — 130.56.255.255

netname:        ANUNET

descr:          imported inetnum object for ANU

country:        AU

admin-c:        AH248-AP

tech-c:         AH248-AP

status:         ALLOCATED PORTABLE

remarks:        ----------

remarks:        rev-srv     NS1.ANU.EDU.AU

remarks:        UNA.ANU.EDU.AU

remarks:        NS.ADELAIDE.EDU.AU

remarks:        ----------

notify:         [email protected]

mnt-by:         APNIC-HM

changed:        [email protected] 20030530

changed:        [email protected] 20040926

changed:        [email protected] 20031020

changed:        [email protected] 20031219

changed:        [email protected] 20040106

changed:        [email protected] 20041214

source:         APNIC

role:           ANU hostmaster

address:        IIS, Australian National University

address:        Canberra ACT 0200 Australia

country:        AU

phone:          +61-2-6125-3264

fax-no:         +61-2-6125-8199

e-mail:         [email protected]

remarks:        send abuse reports to [email protected]

remarks:        Please include detailed information and

remarks:        times in UTC

admin-c:        GH176-AP

tech-c:         GH176-AP

nic-hdl:        Ah248-AP

remarks:        http://www.anu.edu.au

notify:         [email protected]

mnt-by:         MAINT-AU-ANU

changed:        [email protected] 20030411

source:         APNIC

changed:        [email protected] 20111114

% This query was served by the APNIC Whois Service version 1.69.1-APNICv1r0

                (UNDEFINED)

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

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

• Ripe.net;

•http://www.networksolutions.com/whois/index.jsp;

•http://www.whois.sc/;

• ping.eu;

•www.domaintools.com.

Автоматизация процесса

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

FOCA

Эта многофункциональная бесплатная утилита для Windows позволяет решать достаточно широкий круг задач, например:

• поиск поддоменов для заданного домена;

• перебор записей для DNS-сервера;

• получение всех записей DNS-сервера;

• поиск других веб-сервисов, которые работают на том же IP-адресе;

• поиск файлов и извлечение метаданных.

В данном разделе нас интересует как раз последняя возможность. Посмотрим, что мы можем получить, проанализировав документы, найденные на nic.ru.

Рис. 2.8. Пример работы FOCA

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

Далее проанализируем данные, используя функцию Extract All Metadata. Теперь мы можем увидеть системные имена пользователей, которые создали данный документ, а также версию программы, операционную систему и многое другое.

Рис. 2.9. Список имен пользователей

Сбор базы данных адресов e-mail

Для автоматизации сбора базы данных адресов e-mail для конкретного домена была создана одна хорошая утилита — google-mail. Она написана на языке программирования Python и входит в состав Linux-дистрибутива Kali. Эта сборка Linux была создана специально для профессионалов, занимающихся вопросами информационной безопасности, и содержит много полезных утилит для аудита ИС. Мы еще не раз будем ссылаться на ПО, которое содержится в данной ОС.

А теперь продемонстрируем ее работу — попробуем найти адреса почтовых ящиков, которые принадлежат статистической службе Великобритании:

root@kali:~# theharvester -d ons.gov.uk -b google

[-] Searching in Google:

      Searching 0 results...

      Searching 100 results...

[+] Emails found:

------------------

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

[+] Hosts found in search engines:

------------------------------------

[-] Resolving hostnames IPs...

46.137.157.118:Style.ons.gov.uk

52.48.12.36:consultations.ons.gov.uk

192.0.78.13:digitalpublishing.ons.gov.uk

54.192.203.35:performance.ons.gov.uk

46.137.157.118:style.ons.gov.uk

46.137.157.118:visual.ons.gov.uk

104.20.61.76:www.ons.gov.uk

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

Проведя несколько минут в вышеупомянутой поисковой системе, мы обнаружили, что Paul J Jackson использует свой e-mail в личных целях — например, оставляет комментарии  на amazon.com.

Рис. 2.10. Комментарии к продукту на amazon.com от Paul J Jackson

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

recon-ng

В состав Kali Linux входит одно очень интересное и нужное ПО — recon-ng. Это написанный на Python фреймворк, который поможет автоматизировать сбор информации из сети Интернет.

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

Данная программа состоит из подключаемых модулей, и команда show modules покажет нам их все.

root@kali:~# recon-ng

76] Recon modules

[7]  Reporting modules

[2]  Import modules

[2]  Exploitation modules

[2]  Discovery modules

[recon-ng][default] > show modules

Discovery

  ---------

    discovery/info_disclosure/cache_snoop

    discovery/info_disclosure/interesting_files

  Exploitation

  ------------

    exploitation/injection/command_injector

    exploitation/injection/xpath_bruter

  Import

  ------

    import/csv_file

    import/list

  Recon

  -----

    recon/companies-contacts/bing_linkedin_cache

    recon/companies-contacts/indeed

    recon/companies-contacts/jigsaw/point_usage

    recon/companies-contacts/jigsaw/purchase_contact

    recon/companies-contacts/jigsaw/search_contacts

    recon/companies-contacts/linkedin_auth

    recon/companies-multi/github_miner

    recon/companies-multi/whois_miner

    recon/contacts-contacts/mailtester

    recon/contacts-contacts/mangle

    recon/contacts-contacts/unmangle

    recon/contacts-credentials/hibp_breach

    recon/contacts-credentials/hibp_paste

    recon/contacts-domains/migrate_contacts

    recon/contacts-profiles/fullcontact

    recon/credentials-credentials/adobe

    recon/credentials-credentials/bozocrack

    recon/credentials-credentials/hashes_org

    recon/domains-contacts/metacrawler

    recon/domains-contacts/pgp_search

    recon/domains-contacts/whois_pocs

    recon/domains-credentials/pwnedlist/account_creds

    recon/domains-credentials/pwnedlist/api_usage

    recon/domains-credentials/pwnedlist/domain_creds

    recon/domains-credentials/pwnedlist/domain_ispwned

    recon/domains-credentials/pwnedlist/leak_lookup

    recon/domains-credentials/pwnedlist/leaks_dump

    recon/domains-domains/brute_suffix

    recon/domains-hosts/bing_domain_api

    recon/domains-hosts/bing_domain_web

    recon/domains-hosts/brute_hosts

    recon/domains-hosts/builtwith

    recon/domains-hosts/google_site_api

    recon/domains-hosts/google_site_web

    recon/domains-hosts/hackertarget

    recon/domains-hosts/netcraft

    recon/domains-hosts/shodan_hostname

    recon/domains-hosts/ssl_san

    recon/domains-hosts/threatcrowd

    recon/domains-hosts/vpnhunter

    recon/domains-vulnerabilities/ghdb

    recon/domains-vulnerabilities/punkspider

    recon/domains-vulnerabilities/xssed

    recon/domains-vulnerabilities/xssposed

    recon/hosts-domains/migrate_hosts

    recon/hosts-hosts/bing_ip

    recon/hosts-hosts/freegeoip

    recon/hosts-hosts/ipinfodb

    recon/hosts-hosts/resolve

    recon/hosts-hosts/reverse_resolve

    recon/hosts-hosts/ssltools

    recon/hosts-locations/migrate_hosts

    recon/hosts-ports/shodan_ip

    recon/locations-locations/geocode

    recon/locations-locations/reverse_geocode

    recon/locations-pushpins/flickr

    recon/locations-pushpins/instagram

    recon/locations-pushpins/picasa

    recon/locations-pushpins/shodan

    recon/locations-pushpins/twitter

    recon/locations-pushpins/youtube

    recon/netblocks-companies/whois_orgs

    recon/netblocks-hosts/reverse_resolve

    recon/netblocks-hosts/shodan_net

    recon/netblocks-ports/census_2012

    recon/netblocks-ports/censysio

    recon/ports-hosts/migrate_ports

    recon/profiles-contacts/dev_diver

    recon/profiles-contacts/github_users

    recon/profiles-profiles/namechk

    recon/profiles-profiles/profiler

    recon/profiles-profiles/twitter

    recon/profiles-repositories/github_repos

    recon/repositories-profiles/github_commits

    recon/repositories-vulnerabilities/gists_search

    recon/repositories-vulnerabilities/github_dorks

  Reporting

  ---------

    reporting/csv

    reporting/html

    reporting/json

    reporting/list

    reporting/pushpin

    reporting/xlsx

    reporting/xml

Теперь с помощью recon-ng мы найдем поддомены, которые используются amazon.com. Загрузим нужный модуль «load google_site_web», посмотрим на его параметры «set», зададим нужные «set source amazon.com» и запустим его командой «run».

[recon-ng][default] > load google_site_web

recon-ng][default][google_site_web] > set

Sets module options

Usage: set <option> <value>

  Name    Current Value  Required  Description

  ------  -------------  --------  -----------

  SOURCE  default        yes       source of input (see 'show info' for details)

[recon-ng][default][google_site_web] > set source amazon.com

SOURCE => amazon.com

[recon-ng][default][google_site_web] > run

----------

AMAZON.COM

----------

[*] Searching Google for: site:amazon.com

[*] [host] authorcentral.amazon.com (<blank>)

[*] [host] aws.amazon.com (<blank>)

[*] [host] whispercast.amazon.com (<blank>)

[*] [host] www.amazon.com (<blank>)

[*] [host] storywriter.amazon.com (<blank>)

[*] [host] affiliate-blog.amazon.com (<blank>)

[*] [host] payments-de.amazon.com (<blank>)

[*] [host] payments.amazon.com (<blank>)

[*] [host] kdp.amazon.com (<blank>)

[*] [host] advertising.amazon.com (<blank>)

[*] [host] services.amazon.com (<blank>)

[*] [host] vendorexpress.amazon.com (<blank>)

[*] [host] studios.amazon.com (<blank>)

[*] [host] developer.amazon.com (<blank>)

[*] [host] videodirect.amazon.com (<blank>)

[*] Searching Google for: site:amazon.com -site:authorcentral.amazon.com -site:aws.amazon.com -site:whispercast.amazon.com -site:www.amazon.com -site:storywriter.amazon.com -site:affiliate-blog.amazon.com -site:payments-de.amazon.com -site:payments.amazon.com -site:kdp.amazon.com -site:advertising.amazon.com -site:services.amazon.com -site:vendorexpress.amazon.com -site:studios.amazon.com -site:developer.amazon.com -site:videodirect.amazon.com

[*] [host] affiliate-program.amazon.com (<blank>)

[*] [host] sellercentral-europe.amazon.com (<blank>)

[*] [host] uedata.amazon.com (<blank>)

[*] [host] twitch.amazon.com (<blank>)

[*] [host] payments-de-sandbox.amazon.com (<blank>)

[*] [host] kindlescout.amazon.com (<blank>)

[*] Searching Google for: site:amazon.com -site:authorcentral.amazon.com -site:aws.amazon.com -site:whispercast.amazon.com -site:www.amazon.com -site:storywriter.amazon.com -site:affiliate-blog.amazon.com -site:payments-de.amazon.com -site:payments.amazon.com -site:kdp.amazon.com -site:advertising.amazon.com -site:services.amazon.com -site:vendorexpress.amazon.com -site:studios.amazon.com -site:developer.amazon.com -site:videodirect.amazon.com -site:affiliate-program.amazon.com -site:sellercentral-europe.amazon.com -site:uedata.amazon.com -site:twitch.amazon.com -site:payments-de-sandbox.amazon.com -site:kindlescout.amazon.com

[*] [host] music.amazon.com (<blank>)

[*] Searching Google for: site:amazon.com -site:authorcentral.amazon.com -site:aws.amazon.com -site:whispercast.amazon.com -site:www.amazon.com -site:storywriter.amazon.com -site:affiliate-blog.amazon.com -site:payments-de.amazon.com -site:payments.amazon.com -site:kdp.amazon.com -site:advertising.amazon.com -site:services.amazon.com -site:vendorexpress.amazon.com -site:studios.amazon.com -site:developer.amazon.com -site:videodirect.amazon.com -site:affiliate-program.amazon.com -site:sellercentral-europe.amazon.com -site:uedata.amazon.com -site:twitch.amazon.com -site:payments-de-sandbox.amazon.com -site:kindlescout.amazon.com -site:music.amazon.com

[*] [host] smile.amazon.com (<blank>)

[*] Searching Google for: site:amazon.com -site:authorcentral.amazon.com -site:aws.amazon.com -site:whispercast.amazon.com -site:www.amazon.com -site:storywriter.amazon.com -site:affiliate-blog.amazon.com -site:payments-de.amazon.com -site:payments.amazon.com -site:kdp.amazon.com -site:advertising.amazon.com -site:services.amazon.com -site:vendorexpress.amazon.com -site:studios.amazon.com -site:developer.amazon.com -site:videodirect.amazon.com -site:affiliate-program.amazon.com -site:sellercentral-europe.amazon.com -site:uedata.amazon.com -site:twitch.amazon.com -site:payments-de-sandbox.amazon.com -site:kindlescout.amazon.com -site:music.amazon.com -site:smile.amazon.com

[*] [host] sellercentral.amazon.com (<blank>)

[*] Searching Google for: site:amazon.com -site:authorcentral.amazon.com -site:aws.amazon.com -site:whispercast.amazon.com -site:www.amazon.com -site:storywriter.amazon.com -site:affiliate-blog.amazon.com -site:payments-de.amazon.com -site:payments.amazon.com -site:kdp.amazon.com -site:advertising.amazon.com -site:services.amazon.com -site:vendorexpress.amazon.com -site:studios.amazon.com -site:developer.amazon.com -site:videodirect.amazon.com -site:affiliate-program.amazon.com -site:sellercentral-europe.amazon.com -site:uedata.amazon.com -site:twitch.amazon.com -site:payments-de-sandbox.amazon.com -site:kindlescout.amazon.com -site:music.amazon.com -site:smile.amazon.com -site:sellercentral.amazon.com

-------

SUMMARY

-------

[*] 24 total (24 new) hosts found.

Упорядочить информацию

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

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

Рис. 2.11. Пример работы Maltego

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

Рис. 2.12. Пример организации информации в KeepNote

Резюме

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

Учтите, что полезной может  оказаться ЛЮБАЯ информация: контактная информация, страницы сотрудников в социальных сетях, новости, вакансии, документы и т.д.

Такие поисковые системы, как Google, Яндекс, Bing и т.д., могут существенно упростить процедуру поиска. Используйте операторы поиска для получения релевантных результатов.  При помощи одних только поисковых систем можно находить уязвимые места в целевой системе.

Внимательно изучайте архивные данные, информацию из социальных сетей, открытые данные (домены, SSL сертификаты, статистику).

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

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